
L1: 8b ff ?? mov edi, edi
 56 ?? push esi
 57 ?? push edi
 be f4 3a 42 00 ?? mov esi, 0x00423af4<"KERNEL32.DLL">
 56 ?? push esi
 ff 15 bc a1 42 00 ?? call dword ds:[0x0042a1bc]

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

L3: 56 ?? push esi
 e8 72 25 00 00 ?? call function 0x00404698

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 c0 a1 42 00 ?? mov esi, dword ds:[0x0042a1c0]
 68 40 3b 42 00 ?? push 0x00423b40<"FlsAlloc">
 57 ?? push edi
 ff d6 ?? call esi

L7: 68 34 3b 42 00 ?? push 0x00423b34<"FlsGetValue">
 57 ?? push edi
 a3 5c 91 42 00 ?? mov dword ds:[0x0042915c], eax
 ff d6 ?? call esi

L8: 68 28 3b 42 00 ?? push 0x00423b28<"FlsSetValue">
 57 ?? push edi
 a3 60 91 42 00 ?? mov dword ds:[0x00429160], eax
 ff d6 ?? call esi

L9: 68 20 3b 42 00 ?? push 0x00423b20<"FlsFree">
 57 ?? push edi
 a3 64 91 42 00 ?? mov dword ds:[0x00429164], eax
 ff d6 ?? call esi

L10: 83 3d 5c 91 42 00 00 ?? cmp dword ds:[0x0042915c], 0
 8b 35 cc a1 42 00 ?? mov esi, dword ds:[0x0042a1cc]
 a3 68 91 42 00 ?? mov dword ds:[0x00429168], eax
 74 16 ?? je basic block L14

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

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

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

L14: a1 c4 a1 42 00 ?? mov eax, dword ds:[0x0042a1c4]
 a3 60 91 42 00 ?? mov dword ds:[0x00429160], eax
 a1 d0 a1 42 00 ?? mov eax, dword ds:[0x0042a1d0]
 c7 05 5c 91 42 00 32 1d ?? mov dword ds:[0x0042915c], function 0x00401d32
 40 00
 89 35 64 91 42 00 ?? mov dword ds:[0x00429164], esi
 a3 68 91 42 00 ?? mov dword ds:[0x00429168], eax

L15: ff 15 c8 a1 42 00 ?? call dword ds:[0x0042a1c8]

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

L17: ff 35 60 91 42 00 ?? push dword ds:[0x00429160]
 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 1c 28 00 00 ?? call function 0x004049fa

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

L21: ff 35 60 91 42 00 ?? push dword ds:[0x00429160]
 a3 5c 91 42 00 ?? mov dword ds:[0x0042915c], eax
 e8 4c fa ff ff ?? call function 0x00401c45

L22: ff 35 64 91 42 00 ?? push dword ds:[0x00429164]
 a3 60 91 42 00 ?? mov dword ds:[0x00429160], eax
 e8 3c fa ff ff ?? call function 0x00401c45

L23: ff 35 68 91 42 00 ?? push dword ds:[0x00429168]
 a3 64 91 42 00 ?? mov dword ds:[0x00429164], eax
 e8 2c fa ff ff ?? call function 0x00401c45

L24: 83 c4 10 ?? add esp, 0x10<16>
 a3 68 91 42 00 ?? mov dword ds:[0x00429168], eax
 e8 9c 34 00 00 ?? call function 0x004056c2

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

L26: 68 63 1f 40 00 ?? push function 0x00401f63
 ff 35 5c 91 42 00 ?? push dword ds:[0x0042915c]
 e8 86 fa ff ff ?? call function 0x00401cc0

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

L28: a3 b0 80 42 00 ?? mov dword ds:[0x004280b0], 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 18 51 00 00 ?? call function 0x0040736b

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 b0 80 42 00 ?? push dword ds:[0x004280b0]
 ff 35 64 91 42 00 ?? push dword ds:[0x00429164]
 e8 53 fa ff ff ?? call function 0x00401cc0

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 0x00401de9

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

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 0x00401dac

L38: 33 c0 ?? xor eax, eax

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

