
L1: 8b ff ?? mov edi, edi
 56 ?? push esi
 57 ?? push edi
 be 58 3b 42 00 ?? mov esi, 0x00423b58<"KERNEL32.DLL">
 56 ?? push esi
 ff 15 cc a1 42 00 ?? call dword ds:[0x0042a1cc]

L2: 85 c0 ?? test eax, eax
 75 07 ?? jne basic block L5

L3: 56 ?? push esi
 e8 ae 03 00 00 ?? call function 0x00403ca2

L4: 59 ?? pop ecx

L5: 8b f8 ?? mov edi, eax
 85 ff ?? test edi, edi
 0f 84 5e 01 00 00 ?? je basic block L37

L6: 8b 35 d0 a1 42 00 ?? mov esi, dword ds:[0x0042a1d0]
 68 a4 3b 42 00 ?? push 0x00423ba4<"FlsAlloc">
 57 ?? push edi
 ff d6 ?? call esi

L7: 68 98 3b 42 00 ?? push 0x00423b98<"FlsGetValue">
 57 ?? push edi
 a3 20 91 42 00 ?? mov dword ds:[0x00429120], eax
 ff d6 ?? call esi

L8: 68 8c 3b 42 00 ?? push 0x00423b8c<"FlsSetValue">
 57 ?? push edi
 a3 24 91 42 00 ?? mov dword ds:[0x00429124], eax
 ff d6 ?? call esi

L9: 68 84 3b 42 00 ?? push 0x00423b84<"FlsFree">
 57 ?? push edi
 a3 28 91 42 00 ?? mov dword ds:[0x00429128], eax
 ff d6 ?? call esi

L10: 83 3d 20 91 42 00 00 ?? cmp dword ds:[0x00429120], 0
 8b 35 dc a1 42 00 ?? mov esi, dword ds:[0x0042a1dc]
 a3 2c 91 42 00 ?? mov dword ds:[0x0042912c], eax
 74 16 ?? je basic block L14

L11: 83 3d 24 91 42 00 00 ?? cmp dword ds:[0x00429124], 0
 74 0d ?? je basic block L14

L12: 83 3d 28 91 42 00 00 ?? cmp dword ds:[0x00429128], 0
 74 04 ?? je basic block L14

L13: 85 c0 ?? test eax, eax
 75 24 ?? jne basic block L15

L14: a1 d4 a1 42 00 ?? mov eax, dword ds:[0x0042a1d4]
 a3 24 91 42 00 ?? mov dword ds:[0x00429124], eax
 a1 e0 a1 42 00 ?? mov eax, dword ds:[0x0042a1e0]
 c7 05 20 91 42 00 00 35 ?? mov dword ds:[0x00429120], function 0x00403500
 40 00
 89 35 28 91 42 00 ?? mov dword ds:[0x00429128], esi
 a3 2c 91 42 00 ?? mov dword ds:[0x0042912c], eax

L15: ff 15 d8 a1 42 00 ?? call dword ds:[0x0042a1d8]

L16: a3 f0 80 42 00 ?? mov dword ds:[0x004280f0], eax
 83 f8 ff ?? cmp eax, 0xff<255,-1>
 0f 84 cc 00 00 00 ?? je basic block L38

L17: ff 35 24 91 42 00 ?? push dword ds:[0x00429124]
 50 ?? push eax
 ff d6 ?? call esi

L18: 85 c0 ?? test eax, eax
 0f 84 bb 00 00 00 ?? je basic block L38

L19: e8 58 06 00 00 ?? call function 0x00404004

L20: ff 35 20 91 42 00 ?? push dword ds:[0x00429120]
 e8 5c fa ff ff ?? call function 0x00403413

L21: ff 35 24 91 42 00 ?? push dword ds:[0x00429124]
 a3 20 91 42 00 ?? mov dword ds:[0x00429120], eax
 e8 4c fa ff ff ?? call function 0x00403413

L22: ff 35 28 91 42 00 ?? push dword ds:[0x00429128]
 a3 24 91 42 00 ?? mov dword ds:[0x00429124], eax
 e8 3c fa ff ff ?? call function 0x00403413

L23: ff 35 2c 91 42 00 ?? push dword ds:[0x0042912c]
 a3 28 91 42 00 ?? mov dword ds:[0x00429128], eax
 e8 2c fa ff ff ?? call function 0x00403413

L24: 83 c4 10 ?? add esp, 0x10<16>
 a3 2c 91 42 00 ?? mov dword ds:[0x0042912c], eax
 e8 39 16 00 00 ?? call function 0x0040502d

L25: 85 c0 ?? test eax, eax
 74 65 ?? je basic block L37

L26: 68 31 37 40 00 ?? push function 0x00403731
 ff 35 20 91 42 00 ?? push dword ds:[0x00429120]
 e8 86 fa ff ff ?? call function 0x0040348e

L27: 59 ?? pop ecx
 ff d0 ?? call eax

L28: a3 ec 80 42 00 ?? mov dword ds:[0x004280ec], eax
 83 f8 ff ?? cmp eax, 0xff<255,-1>
 74 48 ?? je basic block L37

L29: 68 14 02 00 00 ?? push 0x00000214<532>
 6a 01 ?? push 1
 e8 67 2d 00 00 ?? call function 0x00406788

L30: 8b f0 ?? mov esi, eax
 59 ?? pop ecx
 59 ?? pop ecx
 85 f6 ?? test esi, esi
 74 34 ?? je basic block L37

L31: 56 ?? push esi
 ff 35 ec 80 42 00 ?? push dword ds:[0x004280ec]
 ff 35 28 91 42 00 ?? push dword ds:[0x00429128]
 e8 53 fa ff ff ?? call function 0x0040348e

L32: 59 ?? pop ecx
 ff d0 ?? call eax

L33: 85 c0 ?? test eax, eax
 74 1b ?? je basic block L37

L34: 6a 00 ?? push 0
 56 ?? push esi
 e8 6d fb ff ff ?? call function 0x004035b7

L35: 59 ?? pop ecx
 59 ?? pop ecx
 ff 15 ec a1 42 00 ?? call dword ds:[0x0042a1ec]

L36: 83 4e 04 ff ?? or dword ds:[esi + 4], 0xff<255,-1>
 89 06 ?? mov dword ds:[esi], eax
 33 c0 ?? xor eax, eax
 40 ?? inc eax
 eb 07 ?? jmp basic block L39

L37: e8 18 fb ff ff ?? call function 0x0040357a

L38: 33 c0 ?? xor eax, eax

L39: 5f ?? pop edi
 5e ?? pop esi
 c3 ?? ret

