
L1: 8b ff ?? mov edi, edi
 56 ?? push esi
 57 ?? push edi
 be 68 dd 43 00 ?? mov esi, 0x0043dd68<"KERNEL32.DLL">
 56 ?? push esi
 ff 15 58 92 44 00 ?? call dword ds:[0x00449258]

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

L3: 56 ?? push esi
 e8 aa 2d 00 00 ?? call function 0x00412b2a

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 5c 92 44 00 ?? mov esi, dword ds:[0x0044925c]
 68 b4 dd 43 00 ?? push 0x0043ddb4<"FlsAlloc">
 57 ?? push edi
 ff d6 ?? call esi

L7: 68 a8 dd 43 00 ?? push 0x0043dda8<"FlsGetValue">
 57 ?? push edi
 a3 8c 60 44 00 ?? mov dword ds:[0x0044608c], eax
 ff d6 ?? call esi

L8: 68 9c dd 43 00 ?? push 0x0043dd9c<"FlsSetValue">
 57 ?? push edi
 a3 90 60 44 00 ?? mov dword ds:[0x00446090], eax
 ff d6 ?? call esi

L9: 68 94 dd 43 00 ?? push 0x0043dd94<"FlsFree">
 57 ?? push edi
 a3 94 60 44 00 ?? mov dword ds:[0x00446094], eax
 ff d6 ?? call esi

L10: 83 3d 8c 60 44 00 00 ?? cmp dword ds:[0x0044608c], 0
 8b 35 68 92 44 00 ?? mov esi, dword ds:[0x00449268]
 a3 98 60 44 00 ?? mov dword ds:[0x00446098], eax
 74 16 ?? je basic block L14

L11: 83 3d 90 60 44 00 00 ?? cmp dword ds:[0x00446090], 0
 74 0d ?? je basic block L14

L12: 83 3d 94 60 44 00 00 ?? cmp dword ds:[0x00446094], 0
 74 04 ?? je basic block L14

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

L14: a1 60 92 44 00 ?? mov eax, dword ds:[0x00449260]
 a3 90 60 44 00 ?? mov dword ds:[0x00446090], eax
 a1 6c 92 44 00 ?? mov eax, dword ds:[0x0044926c]
 c7 05 8c 60 44 00 8c f9 ?? mov dword ds:[0x0044608c], function 0x0040f98c
 40 00
 89 35 94 60 44 00 ?? mov dword ds:[0x00446094], esi
 a3 98 60 44 00 ?? mov dword ds:[0x00446098], eax

L15: ff 15 64 92 44 00 ?? call dword ds:[0x00449264]

L16: a3 34 49 44 00 ?? mov dword ds:[0x00444934], eax
 83 f8 ff ?? cmp eax, 0xff<255,-1>
 0f 84 cc 00 00 00 ?? je basic block L38

L17: ff 35 90 60 44 00 ?? push dword ds:[0x00446090]
 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 54 30 00 00 ?? call function 0x00412e8c

L20: ff 35 8c 60 44 00 ?? push dword ds:[0x0044608c]
 e8 5c fa ff ff ?? call function 0x0040f89f

L21: ff 35 90 60 44 00 ?? push dword ds:[0x00446090]
 a3 8c 60 44 00 ?? mov dword ds:[0x0044608c], eax
 e8 4c fa ff ff ?? call function 0x0040f89f

L22: ff 35 94 60 44 00 ?? push dword ds:[0x00446094]
 a3 90 60 44 00 ?? mov dword ds:[0x00446090], eax
 e8 3c fa ff ff ?? call function 0x0040f89f

L23: ff 35 98 60 44 00 ?? push dword ds:[0x00446098]
 a3 94 60 44 00 ?? mov dword ds:[0x00446094], eax
 e8 2c fa ff ff ?? call function 0x0040f89f

L24: 83 c4 10 ?? add esp, 0x10<16>
 a3 98 60 44 00 ?? mov dword ds:[0x00446098], eax
 e8 e2 3e 00 00 ?? call function 0x00413d62

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

L26: 68 bd fb 40 00 ?? push function 0x0040fbbd
 ff 35 8c 60 44 00 ?? push dword ds:[0x0044608c]
 e8 86 fa ff ff ?? call function 0x0040f91a

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

L28: a3 30 49 44 00 ?? mov dword ds:[0x00444930], 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 58 f6 ff ff ?? call function 0x0040f505

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 30 49 44 00 ?? push dword ds:[0x00444930]
 ff 35 94 60 44 00 ?? push dword ds:[0x00446094]
 e8 53 fa ff ff ?? call function 0x0040f91a

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

L35: 59 ?? pop ecx
 59 ?? pop ecx
 ff 15 74 92 44 00 ?? call dword ds:[0x00449274]

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

L38: 33 c0 ?? xor eax, eax

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

