
L1: 8b ff ?? mov edi, edi
 56 ?? push esi
 57 ?? push edi
 be f0 3b 42 00 ?? mov esi, 0x00423bf0<"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 8a 0a 00 00 ?? call function 0x00405037

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 3c 3c 42 00 ?? push 0x00423c3c<"FlsAlloc">
 57 ?? push edi
 ff d6 ?? call esi

L7: 68 30 3c 42 00 ?? push 0x00423c30<"FlsGetValue">
 57 ?? push edi
 a3 44 91 42 00 ?? mov dword ds:[0x00429144], eax
 ff d6 ?? call esi

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

L9: 68 1c 3c 42 00 ?? push 0x00423c1c<"FlsFree">
 57 ?? push edi
 a3 4c 91 42 00 ?? mov dword ds:[0x0042914c], eax
 ff d6 ?? call esi

L10: 83 3d 44 91 42 00 00 ?? cmp dword ds:[0x00429144], 0
 8b 35 dc a1 42 00 ?? mov esi, dword ds:[0x0042a1dc]
 a3 50 91 42 00 ?? mov dword ds:[0x00429150], eax
 74 16 ?? je basic block L14

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

L12: 83 3d 4c 91 42 00 00 ?? cmp dword ds:[0x0042914c], 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 48 91 42 00 ?? mov dword ds:[0x00429148], eax
 a1 e0 a1 42 00 ?? mov eax, dword ds:[0x0042a1e0]
 c7 05 44 91 42 00 b9 41 ?? mov dword ds:[0x00429144], function 0x004041b9
 40 00
 89 35 4c 91 42 00 ?? mov dword ds:[0x0042914c], esi
 a3 50 91 42 00 ?? mov dword ds:[0x00429150], eax

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

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

L17: ff 35 48 91 42 00 ?? push dword ds:[0x00429148]
 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 34 0d 00 00 ?? call function 0x00405399

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

L21: ff 35 48 91 42 00 ?? push dword ds:[0x00429148]
 a3 44 91 42 00 ?? mov dword ds:[0x00429144], eax
 e8 4c fa ff ff ?? call function 0x004040cc

L22: ff 35 4c 91 42 00 ?? push dword ds:[0x0042914c]
 a3 48 91 42 00 ?? mov dword ds:[0x00429148], eax
 e8 3c fa ff ff ?? call function 0x004040cc

L23: ff 35 50 91 42 00 ?? push dword ds:[0x00429150]
 a3 4c 91 42 00 ?? mov dword ds:[0x0042914c], eax
 e8 2c fa ff ff ?? call function 0x004040cc

L24: 83 c4 10 ?? add esp, 0x10<16>
 a3 50 91 42 00 ?? mov dword ds:[0x00429150], eax
 e8 c9 19 00 00 ?? call function 0x00406076

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

L26: 68 ea 43 40 00 ?? push function 0x004043ea
 ff 35 44 91 42 00 ?? push dword ds:[0x00429144]
 e8 86 fa ff ff ?? call function 0x00404147

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

L28: a3 08 81 42 00 ?? mov dword ds:[0x00428108], 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 9e 33 00 00 ?? call function 0x00407a78

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 08 81 42 00 ?? push dword ds:[0x00428108]
 ff 35 4c 91 42 00 ?? push dword ds:[0x0042914c]
 e8 53 fa ff ff ?? call function 0x00404147

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

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

L38: 33 c0 ?? xor eax, eax

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

