
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 18 f4 ff ff ?? call function 0x004010c8

L2: 8b f0 ?? mov esi, eax
 83 c4 04 ?? add esp, 4
 89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi
 85 f6 ?? test esi, esi
 74 2b ?? je basic block L4

L3: c7 46 0c 64 6b 40 00 ?? mov dword ds:[esi + 12], 0x00406b64
 c7 46 50 94 6b 40 00 ?? mov dword ds:[esi + 0x50<80>], 0x00406b94
 c7 06 40 6c 40 00 ?? mov dword ds:[esi], 0x00406c40
 c7 46 0c 4c 6c 40 00 ?? mov dword ds:[esi + 12], 0x00406c4c
 c7 46 50 5c 6c 40 00 ?? mov dword ds:[esi + 0x50<80>], 0x00406c5c
 c7 46 54 2a 00 00 00 ?? mov dword ds:[esi + 0x54<84>], 0x0000002a<42>
 eb 02 ?? jmp basic block L5

L4: 33 f6 ?? xor esi, esi

L5: 6a 58 ?? push 0x58<88>
 e8 d8 f3 ff ff ?? call function 0x004010c8

L6: 8b f8 ?? mov edi, eax
 83 c4 04 ?? add esp, 4
 89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
 85 ff ?? test edi, edi
 74 2b ?? je basic block L8

L7: c7 47 0c 64 6b 40 00 ?? mov dword ds:[edi + 12], 0x00406b64
 c7 47 50 94 6b 40 00 ?? mov dword ds:[edi + 0x50<80>], 0x00406b94
 c7 07 40 6c 40 00 ?? mov dword ds:[edi], 0x00406c40
 c7 47 0c 4c 6c 40 00 ?? mov dword ds:[edi + 12], 0x00406c4c
 c7 47 50 5c 6c 40 00 ?? mov dword ds:[edi + 0x50<80>], 0x00406c5c
 c7 47 54 2a 00 00 00 ?? mov dword ds:[edi + 0x54<84>], 0x0000002a<42>
 eb 02 ?? jmp basic block L9

L8: 33 ff ?? xor edi, edi

L9: 6a 0c ?? push 12
 e8 98 f3 ff ff ?? call function 0x004010c8

L10: 83 c4 04 ?? add esp, 4
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 85 c0 ?? test eax, eax
 74 16 ?? je basic block L12

L11: c7 40 04 00 00 00 00 ?? mov dword ds:[eax + 4], 0
 c7 40 08 00 00 00 00 ?? mov dword ds:[eax + 8], 0
 c7 00 38 6b 40 00 ?? mov dword ds:[eax], 0x00406b38
 eb 07 ?? jmp basic block L13

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

L13: 6a 58 ?? push 0x58<88>
 e8 6a f3 ff ff ?? call function 0x004010c8

L14: 8b d8 ?? mov ebx, eax
 83 c4 04 ?? add esp, 4
 89 5d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ebx
 85 db ?? test ebx, ebx
 74 38 ?? je basic block L17

L15: 6a 58 ?? push 0x58<88>
 6a 00 ?? push 0
 53 ?? push ebx
 e8 29 1a 00 00 ?? call function 0x0040379d

L16: c7 43 0c 64 6b 40 00 ?? mov dword ds:[ebx + 12], 0x00406b64
 83 c4 0c ?? add esp, 12
 c7 43 50 94 6b 40 00 ?? mov dword ds:[ebx + 0x50<80>], 0x00406b94
 c7 43 54 2a 00 00 00 ?? mov dword ds:[ebx + 0x54<84>], 0x0000002a<42>
 c7 03 b0 6c 40 00 ?? mov dword ds:[ebx], 0x00406cb0
 c7 43 0c bc 6c 40 00 ?? mov dword ds:[ebx + 12], 0x00406cbc
 c7 43 50 cc 6c 40 00 ?? mov dword ds:[ebx + 0x50<80>], 0x00406ccc
 eb 02 ?? jmp basic block L18

L17: 33 db ?? xor ebx, ebx

L18: 68 28 10 40 00 ?? push 0x00401028
 68 50 6b 40 00 ?? push 0x00406b50<"Cls1::func2()">
 ff 35 88 a0 40 00 ?? push dword ds:[0x0040a088]
 e8 6e f3 ff ff ?? call function 0x00401127

L19: 83 c4 08 ?? add esp, 8
 8b c8 ?? mov ecx, eax
 ff 15 70 a0 40 00 ?? call dword ds:[function 0x0040a070]

L20: 8b 43 0c ?? mov eax, dword ds:[ebx + 12]
 8d 4b 0c ?? lea ecx, ds:[ebx + 12]
 8b 40 04 ?? mov eax, dword ds:[eax + 4]
 3d eb 10 40 00 ?? cmp eax, 0x004010eb
 75 22 ?? jne basic block L24

L21: 68 28 10 40 00 ?? push 0x00401028
 68 80 6b 40 00 ?? push 0x00406b80<"Cls2::func4()">
 ff 35 88 a0 40 00 ?? push dword ds:[0x0040a088]
 e8 3e f3 ff ff ?? call function 0x00401127

L22: 83 c4 08 ?? add esp, 8
 8b c8 ?? mov ecx, eax
 ff 15 70 a0 40 00 ?? call dword ds:[function 0x0040a070]

L23: eb 02 ?? jmp basic block L25

L24: ff d0 ?? call eax

L25: 8b 43 50 ?? mov eax, dword ds:[ebx + 0x50<80>]
 8d 4b 50 ?? lea ecx, ds:[ebx + 0x50<80>]
 8b 40 24 ?? mov eax, dword ds:[eax + 0x24<36>]
 3d 8a 12 40 00 ?? cmp eax, 0x0040128a
 75 22 ?? jne basic block L29

L26: 68 28 10 40 00 ?? push 0x00401028
 68 30 6c 40 00 ?? push 0x00406c30<"I am vf10">
 ff 35 88 a0 40 00 ?? push dword ds:[0x0040a088]
 e8 0a f3 ff ff ?? call function 0x00401127

L27: 83 c4 08 ?? add esp, 8
 8b c8 ?? mov ecx, eax
 ff 15 70 a0 40 00 ?? call dword ds:[function 0x0040a070]

L28: eb 02 ?? jmp basic block L30

L29: ff d0 ?? call eax

L30: 8b 06 ?? mov eax, dword ds:[esi]
 8b 00 ?? mov eax, dword ds:[eax]
 3d a9 11 40 00 ?? cmp eax, 0x004011a9
 75 22 ?? jne basic block L34

L31: 68 28 10 40 00 ?? push 0x00401028
 68 8c 6c 40 00 ?? push 0x00406c8c<"Cls3::func1()">
 ff 35 88 a0 40 00 ?? push dword ds:[0x0040a088]
 e8 db f2 ff ff ?? call function 0x00401127

L32: 83 c4 08 ?? add esp, 8
 8b c8 ?? mov ecx, eax
 ff 15 70 a0 40 00 ?? call dword ds:[function 0x0040a070]

L33: eb 04 ?? jmp basic block L35

L34: 8b ce ?? mov ecx, esi
 ff d0 ?? call eax

L35: 8b 46 0c ?? mov eax, dword ds:[esi + 12]
 8d 4e 0c ?? lea ecx, ds:[esi + 12]
 8b 00 ?? mov eax, dword ds:[eax]
 3d fe 11 40 00 ?? cmp eax, 0x004011fe
 75 22 ?? jne basic block L39

L36: 68 28 10 40 00 ?? push 0x00401028
 68 9c 6c 40 00 ?? push 0x00406c9c<"Cls3::func3()">
 ff 35 88 a0 40 00 ?? push dword ds:[0x0040a088]
 e8 a6 f2 ff ff ?? call function 0x00401127

L37: 83 c4 08 ?? add esp, 8
 8b c8 ?? mov ecx, eax
 ff 15 70 a0 40 00 ?? call dword ds:[function 0x0040a070]

L38: eb 02 ?? jmp basic block L40

L39: ff d0 ?? call eax

L40: 8b 46 0c ?? mov eax, dword ds:[esi + 12]
 8d 4e 0c ?? lea ecx, ds:[esi + 12]
 8b 40 04 ?? mov eax, dword ds:[eax + 4]
 3d eb 10 40 00 ?? cmp eax, 0x004010eb
 75 22 ?? jne basic block L44

L41: 68 28 10 40 00 ?? push 0x00401028
 68 80 6b 40 00 ?? push 0x00406b80<"Cls2::func4()">
 ff 35 88 a0 40 00 ?? push dword ds:[0x0040a088]
 e8 72 f2 ff ff ?? call function 0x00401127

L42: 83 c4 08 ?? add esp, 8
 8b c8 ?? mov ecx, eax
 ff 15 70 a0 40 00 ?? call dword ds:[function 0x0040a070]

L43: eb 02 ?? jmp basic block L45

L44: ff d0 ?? call eax

L45: 8b 07 ?? mov eax, dword ds:[edi]
 8b 00 ?? mov eax, dword ds:[eax]
 3d a9 11 40 00 ?? cmp eax, 0x004011a9
 75 22 ?? jne basic block L49

L46: 68 28 10 40 00 ?? push 0x00401028
 68 8c 6c 40 00 ?? push 0x00406c8c<"Cls3::func1()">
 ff 35 88 a0 40 00 ?? push dword ds:[0x0040a088]
 e8 43 f2 ff ff ?? call function 0x00401127

L47: 83 c4 08 ?? add esp, 8
 8b c8 ?? mov ecx, eax
 ff 15 70 a0 40 00 ?? call dword ds:[function 0x0040a070]

L48: eb 04 ?? jmp basic block L50

L49: 8b cf ?? mov ecx, edi
 ff d0 ?? call eax

L50: 6a 58 ?? push 0x58<88>
 56 ?? push esi
 e8 67 f1 ff ff ?? call function 0x00401064

L51: 6a 0c ?? push 12
 57 ?? push edi
 e8 5f f1 ff ff ?? call function 0x00401064

L52: 6a 58 ?? push 0x58<88>
 53 ?? push ebx
 e8 57 f1 ff ff ?? call function 0x00401064

L53: 6a 0c ?? push 12
 ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
 e8 4d f1 ff ff ?? call function 0x00401064

L54: 83 c4 20 ?? add esp, 0x20<32>
 33 c0 ?? xor eax, eax
 5f ?? pop edi
 5e ?? pop esi
 5b ?? pop ebx
 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

