
L1: 6a 0c ?? push 12
 68 78 40 40 00 ?? push 0x00404078
 e8 af 05 00 00 ?? call function 0x00401840

L2: 33 db ?? xor ebx, ebx
 89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
 64 a1 18 00 00 00 ?? mov eax, dword fs:[0x00000018<24>]
 8b 50 04 ?? mov edx, dword ds:[eax + 4]
 8b fb ?? mov edi, ebx
 be 78 54 40 00 ?? mov esi, 0x00405478

L3: 8b ca ?? mov ecx, edx
 33 c0 ?? xor eax, eax
 f0 0f b1 0e ?? lock cmpxchg dword ds:[esi], ecx
 85 c0 ?? test eax, eax
 74 0b ?? je basic block L6

L4: 3b c2 ?? cmp eax, edx
 75 f0 ?? jne basic block L3

L5: 33 f6 ?? xor esi, esi
 46 ?? inc esi
 8b fe ?? mov edi, esi
 eb 03 ?? jmp basic block L7

L6: 33 f6 ?? xor esi, esi
 46 ?? inc esi

L7: 39 35 88 54 40 00 ?? cmp dword ds:[0x00405488], esi
 75 0a ?? jne basic block L10

L8: 6a 1f ?? push 0x1f<31>
 e8 c1 01 00 00 ?? call function 0x00401490

L9: 59 ?? pop ecx
 eb 3a ?? jmp basic block L15

L10: 39 1d 88 54 40 00 ?? cmp dword ds:[0x00405488], ebx
 75 2c ?? jne basic block L14

L11: 89 35 88 54 40 00 ?? mov dword ds:[0x00405488], esi
 68 1c 37 40 00 ?? push 0x0040371c
 68 0c 33 40 00 ?? push 0x0040330c
 e8 3d 05 00 00 ?? call function 0x0040182c

L12: 59 ?? pop ecx
 59 ?? pop ecx
 85 c0 ?? test eax, eax
 74 17 ?? je basic block L15

L13: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
 b8 ff 00 00 00 ?? mov eax, 0x000000ff<255>
 e9 de 00 00 00 ?? jmp basic block L35

L14: 89 35 2c 51 40 00 ?? mov dword ds:[0x0040512c], esi

L15: 39 35 88 54 40 00 ?? cmp dword ds:[0x00405488], esi
 75 1b ?? jne basic block L18

L16: 68 08 32 40 00 ?? push 0x00403208
 68 00 30 40 00 ?? push 0x00403000
 e8 0f 05 00 00 ?? call function 0x00401832

L17: 59 ?? pop ecx
 59 ?? pop ecx
 c7 05 88 54 40 00 02 00 ?? mov dword ds:[0x00405488], 2
 00 00

L18: 85 ff ?? test edi, edi
 75 09 ?? jne basic block L20

L19: 33 c0 ?? xor eax, eax
 b9 78 54 40 00 ?? mov ecx, 0x00405478
 87 01 ?? xchg dword ds:[ecx], eax

L20: 83 3d a0 54 40 00 00 ?? cmp dword ds:[0x004054a0], 0
 74 19 ?? je basic block L24

L21: 68 a0 54 40 00 ?? push 0x004054a0
 e8 b1 01 00 00 ?? call function 0x00401500

L22: 59 ?? pop ecx
 85 c0 ?? test eax, eax
 74 0a ?? je basic block L24

L23: 53 ?? push ebx
 6a 02 ?? push 2
 53 ?? push ebx
 ff 15 a0 54 40 00 ?? call dword ds:[0x004054a0]

L24: 8b 0d 38 51 40 00 ?? mov ecx, dword ds:[0x00405138]
 a1 ac 61 40 00 ?? mov eax, dword ds:[0x004061ac<"&c@">]
 89 08 ?? mov dword ds:[eax], ecx
 ff 35 38 51 40 00 ?? push dword ds:[0x00405138]
 ff 35 34 51 40 00 ?? push dword ds:[0x00405134]
 ff 35 30 51 40 00 ?? push dword ds:[0x00405130]
 e8 92 fc ff ff ?? call function 0x00401014

L25: 83 c4 0c ?? add esp, 12
 a3 28 51 40 00 ?? mov dword ds:[0x00405128], eax
 83 3d 40 51 40 00 00 ?? cmp dword ds:[0x00405140], 0
 75 36 ?? jne basic block L31

L26: 50 ?? push eax
 ff 15 ec 61 40 00 ?? call dword ds:[0x004061ec]

L27: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
 8b 01 ?? mov eax, dword ds:[ecx]
 8b 00 ?? mov eax, dword ds:[eax]
 89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
 51 ?? push ecx
 50 ?? push eax
 e8 df 00 00 00 ?? call function 0x0040148a

L28: 59 ?? pop ecx
 59 ?? pop ecx
 c3 ?? ret

L29: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
 8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
 a3 28 51 40 00 ?? mov dword ds:[0x00405128], eax
 83 3d 40 51 40 00 00 ?? cmp dword ds:[0x00405140], 0
 75 07 ?? jne basic block L31

L30: 50 ?? push eax
 ff 15 bc 61 40 00 ?? call dword ds:[0x004061bc]

L31: 83 3d 2c 51 40 00 00 ?? cmp dword ds:[0x0040512c], 0
 75 0b ?? jne basic block L34

L32: ff 15 98 61 40 00 ?? call dword ds:[0x00406198]

L33: a1 28 51 40 00 ?? mov eax, dword ds:[0x00405128]

L34: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>

L35: e8 9c 04 00 00 ?? call function 0x00401885

L36: c3 ?? ret

