
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 08 ?? sub esp, 8
 53 ?? push ebx
 56 ?? push esi
 8b 35 ec 40 40 00 ?? mov esi, dword ds:[0x004040ec<"RR@">]
 57 ?? push edi
 6a 58 ?? push 0x58<88>
 ff d6 ?? call esi

L2: 8b f8 ?? mov edi, eax
 83 c4 04 ?? add esp, 4
 85 ff ?? test edi, edi
 74 2b ?? je basic block L4

L3: c7 47 0c e4 42 40 00 ?? mov dword ds:[edi + 12], 0x004042e4
 c7 47 50 f0 42 40 00 ?? mov dword ds:[edi + 0x50<80>], 0x004042f0
 c7 07 1c 43 40 00 ?? mov dword ds:[edi], 0x0040431c
 c7 47 0c b4 43 40 00 ?? mov dword ds:[edi + 12], 0x004043b4
 c7 47 50 40 43 40 00 ?? mov dword ds:[edi + 0x50<80>], 0x00404340
 c7 47 54 2a 00 00 00 ?? mov dword ds:[edi + 0x54<84>], 0x0000002a<42>
 eb 02 ?? jmp basic block L5

L4: 33 ff ?? xor edi, edi

L5: 6a 58 ?? push 0x58<88>
 ff d6 ?? call esi

L6: 8b d8 ?? mov ebx, eax
 83 c4 04 ?? add esp, 4
 85 db ?? test ebx, ebx
 74 2b ?? je basic block L8

L7: c7 43 0c e4 42 40 00 ?? mov dword ds:[ebx + 12], 0x004042e4
 c7 43 50 f0 42 40 00 ?? mov dword ds:[ebx + 0x50<80>], 0x004042f0
 c7 03 1c 43 40 00 ?? mov dword ds:[ebx], 0x0040431c
 c7 43 0c b4 43 40 00 ?? mov dword ds:[ebx + 12], 0x004043b4
 c7 43 50 40 43 40 00 ?? mov dword ds:[ebx + 0x50<80>], 0x00404340
 c7 43 54 2a 00 00 00 ?? mov dword ds:[ebx + 0x54<84>], 0x0000002a<42>
 eb 02 ?? jmp basic block L9

L8: 33 db ?? xor ebx, ebx

L9: 6a 0c ?? push 12
 ff d6 ?? call esi

L10: 83 c4 04 ?? add esp, 4
 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 85 c0 ?? test eax, eax
 74 08 ?? je basic block L12

L11: c7 00 6c 43 40 00 ?? mov dword ds:[eax], 0x0040436c
 eb 07 ?? jmp basic block L13

L12: c7 45 f8 00 00 00 00 ?? mov dword ss:[ebp + 0xf8<248,-8>], 0

L13: 6a 58 ?? push 0x58<88>
 ff d6 ?? call esi

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

L15: c7 46 0c e4 42 40 00 ?? mov dword ds:[esi + 12], 0x004042e4
 c7 46 50 f0 42 40 00 ?? mov dword ds:[esi + 0x50<80>], 0x004042f0
 c7 46 54 2a 00 00 00 ?? mov dword ds:[esi + 0x54<84>], 0x0000002a<42>
 c7 06 ac 43 40 00 ?? mov dword ds:[esi], 0x004043ac
 c7 46 0c 74 43 40 00 ?? mov dword ds:[esi + 12], 0x00404374
 c7 46 50 80 43 40 00 ?? mov dword ds:[esi + 0x50<80>], 0x00404380
 eb 05 ?? jmp basic block L17

L16: 33 f6 ?? xor esi, esi
 89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi

L17: ff 35 40 40 40 00 ?? push dword ds:[0x00404040<":Q@">]
 8b 0d 6c 40 40 00 ?? mov ecx, dword ds:[0x0040406c]
 ba f0 41 40 00 ?? mov edx, 0x004041f0<"Cls1::func2()">
 e8 2a 09 00 00 ?? call function 0x00402160

L18: 8b c8 ?? mov ecx, eax
 ff 15 34 40 40 00 ?? call dword ds:[function 0x00404034<"BP@">]

L19: 8b 46 0c ?? mov eax, dword ds:[esi + 12]
 8d 4e 0c ?? lea ecx, ds:[esi + 12]
 ff 50 04 ?? call dword ds:[eax + 4]

L20: 8b 46 50 ?? mov eax, dword ds:[esi + 0x50<80>]
 8d 4e 50 ?? lea ecx, ds:[esi + 0x50<80>]
 ff 50 24 ?? call dword ds:[eax + 0x24<36>]

L21: 8b 07 ?? mov eax, dword ds:[edi]
 8b cf ?? mov ecx, edi
 ff 10 ?? call dword ds:[eax]

L22: 8b 47 0c ?? mov eax, dword ds:[edi + 12]
 8d 4f 0c ?? lea ecx, ds:[edi + 12]
 ff 10 ?? call dword ds:[eax]

L23: 8b 47 0c ?? mov eax, dword ds:[edi + 12]
 8d 4f 0c ?? lea ecx, ds:[edi + 12]
 ff 50 04 ?? call dword ds:[eax + 4]

L24: 8b 03 ?? mov eax, dword ds:[ebx]
 8b cb ?? mov ecx, ebx
 ff 10 ?? call dword ds:[eax]

L25: 8b 35 f0 40 40 00 ?? mov esi, dword ds:[0x004040f0<"BR@">]
 57 ?? push edi
 ff d6 ?? call esi

L26: 53 ?? push ebx
 ff d6 ?? call esi

L27: ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
 ff d6 ?? call esi

L28: ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
 ff d6 ?? call esi

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

