Function at 0x402b6c
Capabilities:
Execute command

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x1a8
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x154], sym.___gxx_personality_sj0
mov dword [ebp - 0x150], 0x40bcb8
lea eax, [ebp - 0x14c]
lea edx, [ebp - 0x18]
mov dword [eax], edx
mov edx, 0x402ea9
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0x16c]
mov dword [esp], eax
call dbg._Unwind_SjLj_Register
call sym.___main
mov byte [ebp - 0x191], 0
mov byte [ebp - 0x190], 0
mov eax, dword [ebp - 0x19c]
cmp dword [eax], 1
jle 0x402c41
lea eax, [ebp - 0x25]
mov dword [esp], eax
call fcn.00408fa4
mov byte [ebp - 0x191], 1
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 4]
add eax, 4
mov eax, dword [eax]
lea edx, [ebp - 0x25]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea eax, [ebp - 0x2c]
mov dword [esp], eax
mov dword [ebp - 0x168], 3
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const_
mov byte [ebp - 0x190], 1
mov dword [esp + 4], 0x40e2f4
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call dbg.operator==<char, std::char_traits<char>, std::allocator<char> >
test al, al
je 0x402c41
mov al, 1
jmp 0x402c43
mov al, 0
mov byte [ebp - 0x192], al
cmp byte [ebp - 0x190], 0
jne 0x402c8c
jmp 0x402ca1
lea eax, [ebp - 0x2c]
mov dword [esp], eax
mov dword [ebp - 0x168], 4
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string__
cmp byte [ebp - 0x191], 0
jne 0x402cea
jmp 0x402cf5
lea eax, [ebp - 0x25]
mov dword [esp], eax
call sym.std::allocator_char_::allocator__
cmp byte [ebp - 0x192], 0
je 0x402d6a
mov dword [ebp - 0x168], 0xffffffff
call sym._AllocConsole_0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp + 8], eax
mov dword [esp + 4], 0x40e2f8
mov dword [esp], str.CONOUT_
call sym._freopen
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 8], eax
mov dword [esp + 4], 0x40e2f8
mov dword [esp], str.CONOUT_
call sym._freopen
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x40e302
mov dword [esp], str.CONIN_
call sym._freopen
mov dword [ebp - 0x168], 0xffffffff
call dbg.isAll()
xor eax, 1
test al, al
je 0x402e1b
mov dword [esp + 8], 0x104
lea eax, [ebp - 0x134]
mov dword [esp + 4], eax
mov dword [esp], 0
call sym._GetModuleFileNameA_12
sub esp, 0xc
lea eax, [ebp - 0x30]
mov dword [esp + 4], eax
lea eax, [ebp - 0x134]
mov dword [esp], eax
call dbg.getInsertPosition(char*, long*)
mov dword [esp], str.hXOR_Un_Packer_by_Afif__2012_n__________________________________________________________________________
call sym._puts
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea eax, [ebp - 0x134]
mov dword [esp], eax
call dbg.unpackFiles(char*, long, char*)
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x402e0f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + section..data]
mov dword [esp + 4], eax
mov dword [esp], str._s__n
call sym._printf
jmp 0x402e1b
mov dword [esp], str._nDone_
call sym._puts
mov byte [ebp - 0x18e], 0
mov byte [ebp - 0x18d], 0
mov eax, dword [ebp - 0x19c]
cmp dword [eax], 1
jle 0x402e96
lea eax, [ebp - 0x1d]
mov dword [esp], eax
call fcn.00408fa4
mov byte [ebp - 0x18e], 1
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 4]
add eax, 4
mov eax, dword [eax]
lea edx, [ebp - 0x1d]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea eax, [ebp - 0x24]
mov dword [esp], eax
mov dword [ebp - 0x168], 1
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const_
mov byte [ebp - 0x18d], 1
mov dword [esp + 4], 0x40e2f4
lea eax, [ebp - 0x24]
mov dword [esp], eax
call dbg.operator==<char, std::char_traits<char>, std::allocator<char> >
test al, al
je 0x402e96
mov al, 1
jmp 0x402e98
mov al, 0
mov byte [ebp - 0x18f], al
cmp byte [ebp - 0x18d], 0
jne 0x402f0d
jmp 0x402f22
lea eax, [ebp - 0x24]
mov dword [esp], eax
mov dword [ebp - 0x168], 2
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string__
cmp byte [ebp - 0x18e], 0
jne 0x402f6b
jmp 0x402f76
lea eax, [ebp - 0x1d]
mov dword [esp], eax
call sym.std::allocator_char_::allocator__
cmp byte [ebp - 0x18f], 0
je 0x402f8b
mov dword [esp], str.PAUSE
call sym._system
mov eax, 0
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x16c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp - 0x198]
lea esp, [ebp - 0x10]
add esp, 0
pop ecx
pop ebx
pop esi
pop edi
leave
lea esp, [ecx - 4]
ret