Function at 0x401b9c
Capabilities:
Access peb ldr_data
Create thread
Query environment variable
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x404fe4
call sub.MSVCRT.dll__EH_prolog
sub esp, 0x848
push ebx
push esi
push edi
mov dword [ebp - 0x2c], 0x980e1b27
xor ebx, ebx
mov dword [ebp - 0x2c], 0xed2fcc35
mov ebx, dword fs:[0x30]
mov dword [ebp - 0x2c], 0xf141382a
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x2c], 0x2940d2a1
mov ebx, dword [ebx + 0x14]
mov dword [ebp - 0x2c], 0x8eb0cda1
mov ebx, dword [ebx]
mov dword [ebp - 0x24], 0x4a224469
mov ebx, dword [ebx]
mov dword [ebp - 0x2c], 0xcceb0640
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x24], 0x1d3b01e6
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], 0x28272e9d
mov edi, 0x12b
mov ebx, 0x4068e8
cmp dword [0x409864], edi
jne 0x401c55
cmp dword [0x409860], 0x68
jne 0x401c55
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push ebx
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
cmp dword [0x409864], edi
jne 0x401c55
cmp dword [0x409860], 0x68
jne 0x401c55
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push ebx
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
mov esi, dword [eax + ecx + 0x78]
mov eax, dword [esi + ecx + 0x20]
add esi, ecx
add eax, ecx
cmp dword [0x409864], edi
mov dword [ebp - 0x18], eax
jne 0x401c8c
cmp dword [0x409860], 0x68
jne 0x401c8c
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push ebx
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, dword [esi + 0x1c]
mov edi, dword [esi + 0x24]
add eax, dword [ebp - 0x10]
add edi, dword [ebp - 0x10]
cmp dword [0x409864], 0x12b
mov dword [ebp - 0x20], eax
jne 0x401cc5
cmp dword [0x409860], 0x68
jne 0x401cc5
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
xor ebx, ebx
cmp dword [esi + 0x18], ebx
mov dword [ebp - 0x1c], ebx
jbe 0x401e03
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [ebp - 0x18]
push dword [0x4067a4]
mov eax, dword [eax]
add eax, dword [ebp - 0x10]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 0x10
test eax, eax
jne 0x401d59
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
mov eax, dword [0x409860]
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x409864], eax
jl 0x401d48
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x401d26
movzx eax, word [edi]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x10]
mov dword [0x40685c], eax
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x401d74
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x401d66
mov dword [0x409860], eax
mov eax, dword [ebp - 0x18]
push dword [0x406684]
mov eax, dword [eax]
add eax, dword [ebp - 0x10]
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x401dc4
movzx eax, word [edi]
mov ecx, dword [ebp - 0x20]
push dword [0x406778]
mov eax, dword [ecx + eax*4]
push dword [0x4066a8]
add eax, dword [ebp - 0x10]
mov dword [0x406868], eax
call fcn.0040166d
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x10
cmp dword [0x409864], 0x12b
jne 0x401dee
cmp dword [0x409860], 0x68
jne 0x401dee
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
inc dword [ebp - 0x1c]
add dword [ebp - 0x18], 4
mov eax, dword [ebp - 0x1c]
inc edi
inc edi
cmp eax, dword [esi + 0x18]
jb 0x401cd9
push dword [0x406808]
call dword [0x40685c]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x401e2d
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x401e1f
mov dword [0x409860], eax
push dword [0x4066bc]
call dword [0x40685c]
push dword [0x406708]
mov dword [ebp - 0x18], eax
call dword [0x40685c]
push dword [0x4067d8]
mov dword [ebp - 0x20], eax
call dword [0x40685c]
mov dword [ebp - 0x44], eax
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x401e75
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x401e67
mov dword [0x409860], eax
cmp eax, ebx
mov dword [0x409864], eax
jl 0x401ea0
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x401e7e
push dword [0x4066b8]
call dword [0x40685c]
mov dword [ebp - 0x30], eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x401edf
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x401ebd
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
pop ecx
pop ecx
push dword [0x406774]
call dword [0x40685c]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x401f31
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x401f0f
push dword [0x40688c]
call dword [0x40685c]
cmp dword [0x409864], 0x12b
mov dword [ebp - 0x24], eax
jne 0x401f6d
cmp dword [0x409860], 0x68
jne 0x401f6d
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
mov edi, 0x4068e8
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
jmp 0x401f72
mov edi, 0x4068e8
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
mov esi, dword [ebp - 0x10]
pop ecx
pop ecx
push dword [0x409848]
push esi
call dword [0x406868]
push dword [0x4066e8]
mov dword [0x406718], eax
push esi
call dword [0x406868]
push dword [0x4066f4]
mov dword [0x406710], eax
push esi
call dword [0x406868]
push dword [0x406778]
mov dword [0x40983c], eax
push dword [0x4066a8]
call fcn.0040166d
pop ecx
pop ecx
push dword [0x406670]
push esi
call dword [0x406868]
push dword [0x406778]
mov dword [0x406860], eax
push dword [0x4066a8]
call fcn.0040166d
mov eax, dword [0x409860]
pop ecx
pop ecx
cmp byte [eax + 0x4068e8], bl
je 0x402011
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x402003
mov dword [0x409860], eax
push dword [0x40683c]
push dword [ebp - 0x1c]
call dword [0x406868]
mov dword [0x406714], eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402055
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402033
push dword [0x406890]
push esi
call dword [0x406868]
mov dword [0x4066c0], eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402097
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402075
push dword [0x406898]
push esi
call dword [0x406868]
push dword [0x4067e8]
mov dword [0x40684c], eax
push esi
call dword [0x406868]
push dword [0x406778]
mov dword [0x406854], eax
push dword [0x4066a8]
call fcn.0040166d
pop ecx
pop ecx
push dword [0x40667c]
push esi
call dword [0x406868]
push dword [0x406828]
mov dword [0x406938], eax
push esi
call dword [0x406868]
push dword [0x406820]
mov dword [0x406940], eax
push esi
call dword [0x406868]
mov dword [0x4066ac], eax
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x40211f
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x402111
mov dword [0x409860], eax
cmp dword [0x409864], 0x12b
jne 0x402141
cmp eax, 0x68
jne 0x402141
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x406694]
push esi
call dword [0x406868]
push dword [0x406858]
mov dword [0x4067e0], eax
push esi
call dword [0x406868]
cmp dword [0x409864], 0x12b
mov dword [0x4067f8], eax
jne 0x40218b
cmp dword [0x409860], 0x68
jne 0x40218b
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x409830]
push esi
call dword [0x406868]
cmp dword [0x409864], 0x12b
mov dword [0x406848], eax
jne 0x4021c3
cmp dword [0x409860], 0x68
jne 0x4021c3
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x4021de
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x4021d0
mov dword [0x409860], eax
push dword [0x406818]
push esi
call dword [0x406868]
mov dword [0x406810], eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402225
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
mov eax, dword [0x409864]
pop ecx
dec eax
pop ecx
mov dword [0x409864], eax
jns 0x4021fe
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402250
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
mov eax, dword [0x409864]
pop ecx
dec eax
pop ecx
mov dword [0x409864], eax
jns 0x40222e
push dword [0x406674]
push dword [ebp - 0x20]
call dword [0x406868]
push dword [0x406778]
mov dword [0x4068a0], eax
push dword [0x4066a8]
call fcn.0040166d
pop ecx
pop ecx
push dword [0x406720]
push esi
call dword [0x406868]
push dword [0x406778]
mov dword [0x406790], eax
push dword [0x4066a8]
call fcn.0040166d
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x10
push dword [0x406894]
push esi
call dword [0x406868]
mov dword [0x406864], eax
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x4022db
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x4022cd
mov dword [0x409860], eax
push dword [0x4067cc]
push esi
call dword [0x406868]
push dword [0x4067b0]
mov dword [0x40678c], eax
push esi
call dword [0x406868]
push dword [0x4066a8]
mov dword [0x406690], eax
push dword [0x406778]
call fcn.004016a1
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x10
push dword [0x409834]
push dword [ebp - 0x44]
call dword [0x406868]
push dword [0x4066a8]
mov dword [0x406794], eax
push dword [0x406778]
call fcn.004016a1
mov eax, dword [0x409860]
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x409864], eax
jl 0x40237b
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402359
push dword [0x4066d4]
push esi
call dword [0x406868]
mov dword [0x4067f4], eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x4023c2
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
mov eax, dword [0x409864]
pop ecx
dec eax
pop ecx
mov dword [0x409864], eax
jns 0x40239b
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x4023d8
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x4023ca
mov dword [0x409860], eax
push dword [0x406804]
push esi
call dword [0x406868]
push dword [0x4066e0]
mov dword [0x40984c], eax
push dword [ebp - 0x30]
call dword [0x406868]
mov dword [0x406838], eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x40242e
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x40240c
push dword [0x4068e4]
push dword [ebp - 0x2c]
call dword [0x406868]
mov dword [0x4066a4], eax
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x40245d
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x40244f
mov dword [0x409860], eax
mov esi, 0x12b
cmp dword [0x409864], esi
jne 0x402480
cmp eax, 0x68
jne 0x402480
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x406688]
push dword [ebp - 0x18]
call dword [0x406868]
push dword [0x409840]
mov dword [0x406658], eax
push dword [ebp - 0x24]
call dword [0x406868]
push dword [0x4066a8]
mov dword [0x40693c], eax
push dword [0x406778]
call fcn.004016a1
pop ecx
pop ecx
push dword [0x4068b8]
push dword [ebp - 0x18]
call dword [0x406868]
push dword [0x4066a8]
mov dword [0x4068ac], eax
push dword [0x406778]
call fcn.004016a1
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x10
push dword [0x406798]
push dword [ebp - 0x18]
call dword [0x406868]
cmp dword [0x409864], esi
mov dword [0x4066b0], eax
jne 0x40252a
cmp dword [0x409860], 0x68
jne 0x40252a
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x406880]
push dword [ebp - 0x18]
call dword [0x406868]
cmp dword [0x409864], esi
mov dword [0x4068a4], eax
mov eax, dword [0x409860]
mov dword [ebp - 0x10], 1
jne 0x40256d
cmp eax, 0x68
jne 0x40256d
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x402583
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x402575
mov dword [0x409860], eax
mov esi, 0x2710
jmp 0x40258f
mov edi, 0x4068e8
cmp dword [ebp - 0x10], esi
jle 0x40264a
cmp dword [0x409864], 0x12b
jne 0x4025bf
cmp eax, 0x68
jne 0x4025bf
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x4025ef
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x4025c8
mov eax, dword [0x409860]
cmp dword [0x409864], 0x12b
jne 0x402611
cmp eax, 0x68
jne 0x402611
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
cmp dword [0x409864], 0x12b
pop ecx
pop ecx
jne 0x40264a
cmp dword [0x409860], 0x68
jne 0x40264a
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
movzx eax, word [ebp - 0x10]
push 0xa
push eax
push ebx
call dword [0x406710]
cmp dword [ebp - 0x10], esi
mov edi, eax
jle 0x4026a2
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [0x409860]
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x409864], eax
jl 0x4026a7
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402680
mov eax, dword [0x409860]
cmp edi, ebx
jne 0x4026fa
cmp dword [ebp - 0x10], esi
jle 0x4026ee
cmp byte [eax + 0x4068e8], bl
je 0x4026c6
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x4026b8
mov dword [0x409860], eax
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
mov eax, dword [0x409860]
pop ecx
pop ecx
cmp byte [eax + 0x4068e8], bl
je 0x4026ee
inc eax
mov dword [0x409860], eax
jmp 0x4026de
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x40258a
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402725
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
mov eax, dword [0x409864]
pop ecx
dec eax
pop ecx
mov dword [0x409864], eax
jns 0x402703
cmp edi, ebx
je 0x403c28
push edi
push ebx
call dword [0x406718]
mov esi, eax
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x402752
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x402744
mov dword [0x409860], eax
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
pop ecx
pop ecx
push esi
call dword [0x40983c]
mov esi, eax
mov eax, dword [0x409860]
mov dword [ebp - 0x18], esi
cmp byte [eax + 0x4068e8], bl
je 0x40279c
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x40277e
mov dword [0x409860], eax
je 0x40279c
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x40278e
mov dword [0x409860], eax
cmp esi, ebx
je 0x403c28
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
cmp dword [0x409864], 0x12b
pop ecx
pop ecx
jne 0x402808
cmp dword [0x409860], 0x68
jne 0x402808
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
mov edi, 0x4068e8
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
cmp dword [0x409864], 0x12b
jne 0x402808
cmp dword [0x409860], 0x68
jne 0x402808
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, 0x360
push eax
push 0x55f
push eax
push esi
add esi, 0x55f
push esi
call fcn.004016d3
add esp, 0x10
push eax
lea eax, [ebp - 0x444]
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x1c
cmp word [ebp - 0x430], 1
jne 0x4028bc
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
sub esp, 0x358
mov ecx, 0xd8
lea esi, [ebp - 0x444]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404afc
add esp, 0x360
cmp dword [0x409864], 0x12b
jne 0x4028bc
cmp dword [0x409860], 0x68
jne 0x4028bc
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x4028d7
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x4028c9
mov dword [0x409860], eax
push dword [0x4066a8]
mov dword [ebp - 0x10], ebx
push dword [0x406778]
call fcn.004016a1
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
add esp, 0x10
call fcn.00403ebf
test al, al
jne 0x402915
call fcn.00403c39
test al, al
jne 0x402915
xor eax, eax
jmp 0x402918
push 1
pop eax
movzx ecx, word [ebp - 0x442]
test eax, ecx
je 0x40298d
cmp dword [0x409864], 0x12b
jne 0x40294d
cmp dword [0x409860], 0x68
jne 0x40294d
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
push dword [0x4066a8]
movzx eax, word [ebp - 0x442]
push dword [0x406778]
mov dword [ebp - 0x10], eax
call fcn.004016a1
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x18
mov eax, dword [0x409860]
mov edi, 0x4068e8
cmp eax, ebx
mov dword [0x409864], eax
jl 0x4029c2
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x4029a0
cmp dword [0x409864], 0x12b
jne 0x4029e8
cmp dword [0x409860], 0x68
jne 0x4029e8
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
cmp word [ebp - 0x440], bx
je 0x402bbb
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402a25
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402a03
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
pop ecx
pop ecx
push dword [0x40686c]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x402a52
movzx eax, word [ebp - 0x440]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x854]
push 0x104
push eax
push ebx
call dword [0x406810]
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402a95
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402a73
push dword [0x4067c8]
mov esi, dword [sym.imp.MSVCRT.dll__stricmp]
lea eax, [ebp - 0x854]
push eax
call esi
pop ecx
test eax, eax
pop ecx
jne 0x402aba
movzx eax, word [ebp - 0x440]
mov dword [ebp - 0x10], eax
push dword [0x4067fc]
lea eax, [ebp - 0x854]
push eax
call esi
pop ecx
test eax, eax
pop ecx
jne 0x402ad9
movzx eax, word [ebp - 0x440]
mov dword [ebp - 0x10], eax
mov eax, dword [0x409860]
mov dword [ebp - 0x24], 0x80
cmp byte [eax + 0x4068e8], bl
je 0x402afb
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x402aed
mov dword [0x409860], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [0x406658]
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402b3c
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402b1a
push dword [0x406878]
lea eax, [ebp - 0xd4]
push eax
call esi
pop ecx
test eax, eax
pop ecx
jne 0x402b5b
movzx eax, word [ebp - 0x440]
mov dword [ebp - 0x10], eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402b8b
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402b69
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402bbb
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402b99
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402beb
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402bc9
mov esi, 0x12b
cmp dword [0x409864], esi
jne 0x402c12
cmp dword [0x409860], 0x68
jne 0x402c12
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
cmp word [ebp - 0x43e], bx
je 0x402d43
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x402c4f
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x402c2d
cmp dword [0x409864], esi
jne 0x402c71
cmp dword [0x409860], 0x68
jne 0x402c71
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x406844]
push ebx
call dword [0x40693c]
test eax, eax
je 0x402c8c
movzx eax, word [ebp - 0x43e]
mov dword [ebp - 0x10], eax
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x10
push dword [0x4066cc]
push ebx
call dword [0x40693c]
test eax, eax
je 0x402ccc
movzx eax, word [ebp - 0x43e]
mov dword [ebp - 0x10], eax
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
pop ecx
pop ecx
push dword [0x4066ec]
push ebx
call dword [0x40693c]
test eax, eax
je 0x402cfa
movzx eax, word [ebp - 0x43e]
mov dword [ebp - 0x10], eax
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x402d15
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x402d07
mov dword [0x409860], eax
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
pop ecx
pop ecx
push dword [0x4066e4]
push ebx
call dword [0x40693c]
test eax, eax
je 0x402d43
movzx eax, word [ebp - 0x43e]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
je 0x402e1a
cmp dword [0x409864], esi
jne 0x402d6e
cmp dword [0x409860], 0x68
jne 0x402d6e
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
cmp dword [ebp - 0x10], 2
pop ecx
pop ecx
jne 0x402db1
sub esp, 0x360
mov ecx, 0xd8
lea esi, [ebp - 0x444]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404afc
add esp, 0x360
mov edi, 0x4068e8
mov esi, 0x12b
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x402dcc
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x402dbe
mov dword [0x409860], eax
cmp dword [ebp - 0x10], 3
jne 0x402dd8
call dword [0x406700]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
cmp dword [0x409864], esi
pop ecx
pop ecx
jne 0x403c28
cmp dword [0x409860], 0x68
jne 0x403c28
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
jmp 0x403c28
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov al, byte [ebp - 0x11]
pop ecx
pop ecx
mov byte [ebp - 0x40], al
push ebx
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea eax, [ebp - 0x166]
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x166]
push eax
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push dword [0x406778]
mov dword [ebp - 4], ebx
push dword [0x4066a8]
call fcn.0040166d
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
push dword [0x4066a8]
mov dword [ebp - 0x28], ebx
push dword [0x406778]
call fcn.004016a1
add esp, 0x18
cmp word [ebp - 0x1aa], bx
jne 0x402eb2
cmp word [ebp - 0x1a8], bx
je 0x403346
mov edi, 0x4068e8
mov al, byte [ebp - 0x11]
mov esi, dword [0x4067d4]
push ebx
lea ecx, [ebp - 0xa4]
mov byte [ebp - 0xa4], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0xa4]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov al, byte [ebp - 0x11]
mov esi, dword [0x406850]
push ebx
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
mov byte [ebp - 0x94], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x94]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov al, byte [ebp - 0x11]
mov esi, dword [0x40682c]
push ebx
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 2
mov byte [ebp - 0x84], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x84]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov al, byte [ebp - 0x11]
mov esi, dword [0x4067f0]
push ebx
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
mov byte [ebp - 0x74], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x74]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov al, byte [ebp - 0x11]
mov esi, dword [0x40671c]
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 4
mov byte [ebp - 0x64], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x64]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
cmp dword [0x409864], 0x12b
mov byte [ebp - 4], 5
jne 0x402fcf
cmp dword [0x409860], 0x68
jne 0x402fcf
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov al, byte [ebp - 0x11]
pop ecx
pop ecx
mov byte [ebp - 0x54], al
push ebx
lea ecx, [ebp - 0x54]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push dword [0x4066a8]
mov byte [ebp - 4], 6
push dword [0x406778]
call fcn.004016a1
mov esi, 0x12b
pop ecx
cmp dword [0x409864], esi
pop ecx
jne 0x403030
cmp dword [0x409860], 0x68
jne 0x403030
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x403060
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x40303e
cmp dword [0x409864], esi
jne 0x403082
cmp dword [0x409860], 0x68
jne 0x403082
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
lea esi, [ebp - 0xa4]
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x10], ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cmp eax, ebx
jne 0x4030a1
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ecx
lea ecx, [ebp - 0x40]
push dword [ebp - 0x10]
push eax
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov dword [ebp - 0x10], eax
cmp eax, dword [ecx]
je 0x4031bd
cmp dword [0x409864], 0x12b
jne 0x4030ea
cmp dword [0x409860], 0x68
jne 0x4030ea
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, dword [esi + 8]
mov ecx, esi
add eax, 0xfffffffe
push eax
lea eax, [ebp - 0xe4]
push 1
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov eax, dword [eax + 4]
mov byte [ebp - 4], 7
cmp eax, ebx
jne 0x403112
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
call dword [sym.imp.MSVCRT.dll_getenv]
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
pop ecx
pop ecx
push eax
push edi
lea ecx, [ebp - 0x54]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push 1
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
pop ecx
pop ecx
push dword [eax]
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x40]
push ebx
push eax
push dword [esi + 8]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::replace_unsigned_int__unsigned_int__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push dword [0x4066a8]
inc dword [ebp - 0x10]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [0x409860]
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x409864], eax
jl 0x403092
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x403196
jmp 0x403092
cmp dword [0x409864], 0x12b
jne 0x4031e7
cmp dword [0x409860], 0x68
jne 0x4031e7
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
add esi, 0x10
dec dword [ebp - 0x1c]
jne 0x40308f
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
cmp dword [0x409864], 0x12b
pop ecx
pop ecx
jne 0x403230
cmp dword [0x409860], 0x68
jne 0x403230
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push 1
lea ecx, [ebp - 0x54]
pop esi
mov byte [ebp - 4], 5
push esi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
cmp word [ebp - 0x1aa], bx
je 0x403346
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x4032cc
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x4032aa
lea eax, [ebp - 0x28]
push ebx
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push dword [0x4066f8]
push 0x80000001
call dword [0x4068ac]
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
jne 0x4032f7
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ecx, dword [ebp - 0x38]
inc ecx
push ecx
push eax
push esi
lea eax, [ebp - 0x1a6]
push ebx
push eax
push dword [ebp - 0x28]
call dword [0x4068a4]
push dword [ebp - 0x28]
call dword [0x4066b0]
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x403333
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x403325
mov dword [0x409860], eax
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
pop ecx
pop ecx
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
cmp word [ebp - 0x1a8], bx
pop ecx
pop ecx
je 0x403428
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x10
lea eax, [ebp - 0x28]
push ebx
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push dword [0x4066f8]
push 0x80000002
call dword [0x4068ac]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [ebp - 0x3c]
pop ecx
cmp eax, ebx
pop ecx
jne 0x4033c9
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ecx, dword [ebp - 0x38]
inc ecx
push ecx
push eax
push 1
lea eax, [ebp - 0x1a6]
push ebx
push eax
push dword [ebp - 0x28]
call dword [0x4068a4]
cmp dword [0x409864], 0x12b
jne 0x40340c
cmp dword [0x409860], 0x68
jne 0x40340c
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
pop ecx
pop ecx
push dword [ebp - 0x28]
call dword [0x4066b0]
cmp word [ebp - 0x444], 1
jne 0x4035d6
mov eax, dword [ebp - 0x18]
push 0x55f
push dword [ebp - 0x434]
lea edi, [eax + 0x8bf]
push eax
push edi
call fcn.004016d3
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
mov esi, 0x104
lea eax, [ebp - 0x548]
push esi
push ebx
push eax
call sub.MSVCRT.dll_memset
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x34
cmp word [ebp - 0x43c], bx
je 0x4034f8
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x4034d3
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x4034b1
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], esi
push eax
lea eax, [ebp - 0x548]
push eax
push dword [0x40687c]
push dword [0x4067e4]
push 2
push ebx
call dword [0x4068a0]
jmp 0x403544
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
pop ecx
lea eax, [ebp - 0x548]
pop ecx
push esi
push eax
push ebx
call dword [0x406810]
cmp dword [0x409864], 0x12b
jne 0x403544
cmp dword [0x409860], 0x68
jne 0x403544
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
push 0x104
call dword [sym.imp.MSVCRT.dll_malloc]
push dword [0x406698]
mov esi, eax
call sub.MSVCRT.dll_strlen
add esp, 0x10
test eax, eax
jbe 0x403592
push dword [0x406698]
lea eax, [ebp - 0x548]
push eax
push str.__s___s
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x4035b9
lea eax, [ebp - 0x548]
push eax
push str.__s_
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
add esp, 0x14
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
push edi
push esi
call fcn.00404074
jmp 0x403ab6
cmp word [ebp - 0x444], 2
je 0x4035ee
cmp word [ebp - 0x444], 3
jne 0x403c19
push dword [0x4066a8]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x20], ebx
push dword [0x406778]
lea esi, [edi + 0x8bf]
call fcn.004016a1
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
push 0x55f
push dword [ebp - 0x434]
push edi
push esi
call fcn.004016d3
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [ebp - 0x434]
add esp, 0x28
add esi, eax
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [ebp - 0x2c], esi
mov dword [0x409864], eax
jl 0x403680
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x40365e
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
push dword [0x409838]
call dword [sym.imp.MSVCRT.dll_getenv]
add esp, 0xc
cmp dword [ebp - 0x434], ebx
mov dword [ebp - 0x24], eax
jbe 0x403a6c
mov dword [ebp - 0x1c], ebx
mov edi, 0x208
mov esi, 0x409868
jmp 0x4036c3
mov edi, 0x208
mov eax, dword [0x409860]
cmp eax, ebx
mov dword [0x409864], eax
jl 0x4036f3
mov eax, dword [0x409864]
mov al, byte [eax + 0x4068e8]
push eax
push dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_]
dec dword [0x409864]
pop ecx
pop ecx
jns 0x4036d1
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
add eax, 0x8bf
push edi
add eax, ecx
push eax
lea eax, [ebp - 0x750]
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
lea eax, [ebp - 0x748]
push eax
push dword [ebp - 0x24]
push str._s_s
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [ebp - 0x648]
push eax
call sub.MSVCRT.dll_strlen
add esp, 0x28
test eax, eax
je 0x403812
push edi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
push dword [0x406778]
mov dword [ebp - 0x20], eax
push dword [0x4066a8]
call fcn.0040166d
add esp, 0xc
cmp dword [0x409864], 0x12b
jne 0x403794
cmp dword [0x409860], 0x68
jne 0x403794
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
lea eax, [ebp - 0x750]
push edi
push eax
push dword [ebp - 0x20]
call sub.MSVCRT.dll_memcpy
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x14
cmp dword [0x409864], 0x12b
jne 0x4037e2
cmp dword [0x409860], 0x68
jne 0x4037e2
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov edi, dword [ebp - 0x20]
push 0x100
push esi
lea eax, [edi + 8]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
inc dword [0x4067c4]
push ebx
push ebx
push edi
push 0x404973
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x403a28
push ebx
push 0x80
push 2
push ebx
push 2
push 0x40000000
push esi
call dword [0x406790]
push dword [0x406778]
mov dword [ebp - 0x10], eax
push dword [0x4066a8]
call fcn.0040166d
cmp dword [ebp - 0x10], ebx
pop ecx
pop ecx
je 0x403a28
cmp dword [ebp - 0x10], 0xffffffff
je 0x403a28
cmp dword [0x409864], 0x12b
jne 0x40387c
cmp dword [0x409860], 0x68
jne 0x40387c
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
mov eax, dword [ebp - 0x750]
mov ecx, 0x1000
sub eax, dword [ebp - 0x20]
cmp eax, ecx
jle 0x40389a
cmp word [ebp - 0x444], 3
je 0x40389a
mov eax, ecx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
push 0x55f
push eax
push dword [ebp - 0x18]
lea edi, [ecx + edx]
push edi
call fcn.004016d3
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x18
push ebx
push ebx
push ebx
push dword [ebp - 0x10]
call dword [0x406864]
mov eax, dword [0x409860]
cmp byte [eax + 0x4068e8], bl
je 0x4038ed
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x4038df
mov dword [0x409860], eax
lea eax, [ebp - 0x30]
push ebx
push eax
mov eax, dword [ebp - 0x750]
sub eax, dword [ebp - 0x20]
push eax
push edi
push dword [ebp - 0x10]
call dword [0x40678c]
push dword [ebp - 0x10]
call dword [0x406690]
cmp word [ebp - 0x438], 1
jne 0x403923
push 4
push ebx
push esi
call dword [0x4067f4]
cmp dword [ebp - 0x74c], ebx
jle 0x4039c3
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
push dword [0x406778]
push dword [0x4066a8]
call fcn.0040166d
push 0x208
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
lea eax, [ebp - 0x750]
push 0x208
push eax
push edi
call sub.MSVCRT.dll_memcpy
push 0x100
lea eax, [edi + 8]
push esi
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0x2c
cmp dword [0x409864], 0x12b
jne 0x4039ab
cmp dword [0x409860], 0x68
jne 0x4039ab
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
inc dword [0x4067c4]
push ebx
push ebx
push edi
push 0x404973
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x4039fa
cmp dword [0x409864], 0x12b
jne 0x4039ed
cmp dword [0x409860], 0x68
jne 0x4039ed
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
push 1
push ebx
push ebx
push esi
push ebx
push ebx
call dword [0x406794]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [0x409860]
pop ecx
pop ecx
cmp byte [eax + 0x4068e8], bl
je 0x403a28
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x403a1a
mov dword [0x409860], eax
push dword [0x406778]
mov eax, dword [ebp - 0x750]
add dword [ebp - 0x1c], 0x208
mov dword [ebp - 0x20], eax
push dword [0x4066a8]
call fcn.0040166d
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [ebp - 0x434]
add esp, 0x10
cmp eax, dword [ebp - 0x1c]
ja 0x4036be
cmp dword [0x4067c4], ebx
je 0x403a94
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
pop ecx
pop ecx
jmp 0x403a6c
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
add esp, 0x10
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov edi, 0x12b
pop ecx
cmp dword [0x409864], edi
pop ecx
jne 0x403af7
cmp dword [0x409860], 0x68
jne 0x403af7
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
cmp word [ebp - 0x43a], 1
jne 0x403c19
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [0x409860]
pop ecx
pop ecx
cmp byte [eax + 0x4068e8], bl
je 0x403b33
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x403b25
mov dword [0x409860], eax
mov esi, 0x104
lea eax, [ebp - 0x548]
push esi
push eax
push ebx
call dword [0x406810]
cmp dword [0x409864], edi
jne 0x403b6d
cmp dword [0x409860], 0x68
jne 0x403b6d
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x50
push 0x4068e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int__char_]
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x64c]
push dword [0x406834]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x409860]
add esp, 0x10
cmp byte [eax + 0x4068e8], bl
je 0x403bac
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x403b9e
mov dword [0x409860], eax
lea eax, [ebp - 0x548]
push esi
push eax
push dword [0x4068a8]
call dword [0x40984c]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
pop ecx
lea eax, [ebp - 0x64c]
pop ecx
push ebx
push ebx
push eax
lea eax, [ebp - 0x548]
push eax
push ebx
push ebx
call dword [0x406794]
push dword [0x4066a8]
push dword [0x406778]
call fcn.004016a1
mov eax, dword [0x409860]
pop ecx
pop ecx
cmp byte [eax + 0x4068e8], bl
je 0x403c19
inc eax
cmp byte [eax + 0x4068e8], bl
jne 0x403c0b
mov dword [0x409860], eax
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
leave
ret