
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 08 ?? sub esp, 8
 53 ?? push ebx
 56 ?? push esi
 57 ?? push edi
 6a 58 ?? push 0x58<88>
 e8 52 02 00 00 ?? call function 0x00401c32

L2: 83 c4 04 ?? add esp, 4
 bf b8 58 40 00 ?? mov edi, 0x004058b8
 be 84 58 40 00 ?? mov esi, 0x00405884
 85 c0 ?? test eax, eax
 74 25 ?? je basic block L4

L3: c7 40 0c 40 58 40 00 ?? mov dword ds:[eax + 12], 0x00405840
 c7 40 50 50 58 40 00 ?? mov dword ds:[eax + 0x50<80>], 0x00405850
 c7 00 c8 58 40 00 ?? mov dword ds:[eax], 0x004058c8
 89 78 0c ?? mov dword ds:[eax + 12], edi
 89 70 50 ?? mov dword ds:[eax + 0x50<80>], esi
 c7 40 54 2a 00 00 00 ?? mov dword ds:[eax + 0x54<84>], 0x0000002a<42>
 8b d8 ?? mov ebx, eax
 eb 02 ?? jmp basic block L5

L4: 33 db ?? xor ebx, ebx

L5: 6a 58 ?? push 0x58<88>
 e8 13 02 00 00 ?? call function 0x00401c32

L6: 83 c4 04 ?? add esp, 4
 85 c0 ?? test eax, eax
 74 26 ?? je basic block L8

L7: c7 40 0c 40 58 40 00 ?? mov dword ds:[eax + 12], 0x00405840
 c7 40 50 50 58 40 00 ?? mov dword ds:[eax + 0x50<80>], 0x00405850
 c7 00 c8 58 40 00 ?? mov dword ds:[eax], 0x004058c8
 89 78 0c ?? mov dword ds:[eax + 12], edi
 89 70 50 ?? mov dword ds:[eax + 0x50<80>], esi
 c7 40 54 2a 00 00 00 ?? mov dword ds:[eax + 0x54<84>], 0x0000002a<42>
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 eb 07 ?? jmp basic block L9

L8: c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0

L9: 6a 0c ?? push 12
 e8 d8 01 00 00 ?? call function 0x00401c32

L10: 33 ff ?? xor edi, edi
 83 c4 04 ?? add esp, 4
 3b c7 ?? cmp eax, edi
 74 0b ?? je basic block L12

L11: c7 00 34 58 40 00 ?? mov dword ds:[eax], 0x00405834
 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 eb 03 ?? jmp basic block L13

L12: 89 7d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], edi

L13: 6a 58 ?? push 0x58<88>
 e8 ba 01 00 00 ?? call function 0x00401c32

L14: 83 c4 04 ?? add esp, 4
 3b c7 ?? cmp eax, edi
 74 2b ?? je basic block L16

L15: c7 40 0c 40 58 40 00 ?? mov dword ds:[eax + 12], 0x00405840
 c7 40 50 50 58 40 00 ?? mov dword ds:[eax + 0x50<80>], 0x00405850
 c7 40 54 2a 00 00 00 ?? mov dword ds:[eax + 0x54<84>], 0x0000002a<42>
 c7 00 18 59 40 00 ?? mov dword ds:[eax], 0x00405918
 c7 40 0c 08 59 40 00 ?? mov dword ds:[eax + 12], 0x00405908
 c7 40 50 d4 58 40 00 ?? mov dword ds:[eax + 0x50<80>], 0x004058d4
 8b f8 ?? mov edi, eax

L16: a1 40 82 40 00 ?? mov eax, dword ds:[0x00408240]
 8b 0d 44 82 40 00 ?? mov ecx, dword ds:[0x00408244]
 50 ?? push eax
 68 30 59 40 00 ?? push 0x00405930<"Cls1::func2()">
 51 ?? push ecx
 e8 ad f5 ff ff ?? call function 0x0040106e

L17: 83 c4 08 ?? add esp, 8
 8b c8 ?? mov ecx, eax
 ff 15 48 82 40 00 ?? call dword ds:[function 0x00408248]

L18: 8b 57 0c ?? mov edx, dword ds:[edi + 12]
 8b 42 04 ?? mov eax, dword ds:[edx + 4]
 8d 4f 0c ?? lea ecx, ds:[edi + 12]
 ff d0 ?? call eax

L19: 8b 57 50 ?? mov edx, dword ds:[edi + 0x50<80>]
 8b 42 24 ?? mov eax, dword ds:[edx + 0x24<36>]
 8d 4f 50 ?? lea ecx, ds:[edi + 0x50<80>]
 ff d0 ?? call eax

L20: 8b 13 ?? mov edx, dword ds:[ebx]
 8b 02 ?? mov eax, dword ds:[edx]
 8b cb ?? mov ecx, ebx
 ff d0 ?? call eax

L21: 8b 53 0c ?? mov edx, dword ds:[ebx + 12]
 8b 02 ?? mov eax, dword ds:[edx]
 8d 4b 0c ?? lea ecx, ds:[ebx + 12]
 ff d0 ?? call eax

L22: 8b 53 0c ?? mov edx, dword ds:[ebx + 12]
 8b 42 04 ?? mov eax, dword ds:[edx + 4]
 8d 4b 0c ?? lea ecx, ds:[ebx + 12]
 ff d0 ?? call eax

L23: 8b 75 fc ?? mov esi, dword ss:[ebp + 0xfc<252,-4>]
 8b 16 ?? mov edx, dword ds:[esi]
 8b 02 ?? mov eax, dword ds:[edx]
 8b ce ?? mov ecx, esi
 ff d0 ?? call eax

L24: 53 ?? push ebx
 e8 1c 01 00 00 ?? call function 0x00401c2c

L25: 56 ?? push esi
 e8 16 01 00 00 ?? call function 0x00401c2c

L26: 57 ?? push edi
 e8 10 01 00 00 ?? call function 0x00401c2c

L27: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
 51 ?? push ecx
 e8 07 01 00 00 ?? call function 0x00401c2c

L28: 83 c4 10 ?? add esp, 0x10<16>
 5f ?? pop edi
 5e ?? pop esi
 33 c0 ?? xor eax, eax
 5b ?? pop ebx
 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

