Function at 0x40ce0a
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x410502
call fcn.0040f778
sub esp, 0x144
push ebx
push esi
push edi
xor edi, edi
push dword [0x415330]
mov dword [ebp - 0x34], edi
push 0xfa8bffff
call fcn.00402831
pop ecx
mov byte [0x4152fd], al
mov al, byte [ebp + 0x13]
pop ecx
push edi
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x30], 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_]
inc byte [0x4152fd]
push 0x78
lea eax, [ebp - 0x10c]
push edi
push eax
mov dword [ebp - 4], 1
call sub.MSVCRT.dll_memset
mov al, byte [0x415314]
add esp, 0xc
add al, byte [0x4152ff]
mov esi, 0x97
mov dword [ebp - 0x10c], 0x3c
mov dword [ebp - 0xf8], esi
mov byte [0x4152f9], al
mov al, byte [0x41530e]
dec al
add byte [0x4152fb], al
call dword [sym.imp.USER32.dll_GetForegroundWindow]
add word [0x415302], ax
mov al, byte [0x415318]
push 0x53ddffff
dec al
push dword [0x41533c]
mov dword [ebp - 0xdc], esi
mov byte [0x4152fd], al
mov dword [ebp - 0xec], esi
call fcn.00402831
mov word [0x41530a], ax
mov dword [ebp - 0xe4], esi
movsx eax, word [0x415314]
push eax
push 0x435dffff
call fcn.00402735
push dword [0x41532c]
mov byte [0x4152fb], al
movsx eax, byte [0x4152fc]
push eax
mov dword [ebp - 0xd4], esi
call fcn.00402831
mov ebx, dword [ebp + 0xc]
add esp, 0x18
mov byte [0x4152f9], al
mov al, byte [0x415328]
mov esi, dword [ebx + 8]
push eax
call dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
add byte [0x4152f9], al
lea eax, [esi + 1]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov dword [ebp - 0x20], eax
mov eax, dword [0x41533c]
or eax, 0x6437ffff
pop ecx
mov dword [0x41531c], eax
mov eax, dword [ebx + 4]
cmp eax, edi
jne 0x40cf53
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 esi
push eax
push dword [ebp - 0x20]
call sub.MSVCRT.dll_memcpy
push 0x4601ffff
push 0x25b1ffff
call fcn.00402879
mov word [0x415306], ax
mov eax, dword [ebp - 0x20]
add esp, 0x14
mov ecx, ebx
and byte [esi + eax], 0
dec byte [0x4152f8]
push 1
lea eax, [ebp + 0xf]
push edi
push eax
mov byte [ebp + 0xf], 0x3f
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 ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
cmp ebx, 0xffffffff
mov byte [0x415301], al
je 0x40cfae
mov eax, dword [ebp - 0x20]
and byte [ebx + eax], 0
movsx eax, word [0x41530e]
push 0xc3dffff
push eax
call fcn.00402879
pop ecx
mov dword [0x415318], eax
pop ecx
lea eax, [ebp - 0x10c]
push eax
push edi
push esi
mov esi, dword [ebp - 0x20]
push esi
call dword [0x41575c]
add dword [0x415328], 0x2fde0000
cmp ebx, 0xffffffff
je 0x40cfed
mov byte [ebx + esi], 0x3f
mov al, byte [ebp + 0x13]
inc byte [0x4152fc]
mov esi, dword [ebp - 0xfc]
push edi
lea ecx, [ebp - 0x44]
mov byte [ebp - 0x44], 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 - 0x44]
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_]
movsx eax, byte [0x415301]
push eax
mov byte [ebp - 4], 2
movsx eax, word [0x415310]
push eax
call fcn.004027d2
pop ecx
mov byte [0x4152fa], al
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
lea ecx, [ebp - 0x44]
push dword [eax]
push dword [ebp - 0xf8]
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__::erase_unsigned_int__unsigned_int_]
xor eax, eax
cmp word [0x415314], di
mov esi, dword [ebp - 0xe0]
push edi
setne al
mov word [0x415312], ax
mov al, byte [ebp + 0x13]
lea ecx, [ebp - 0x74]
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_]
movsx ax, byte [0x4152fa]
add eax, dword [0x41532c]
push edi
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
add word [0x415306], ax
mov al, byte [ebp + 0x13]
mov byte [ebp - 0x1c], 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_]
movsx eax, byte [0x4152fd]
push eax
push 0xae03ffff
mov byte [ebp - 4], 4
call fcn.00402909
mov byte [0x4152ff], al
mov eax, dword [ebp + 0x10]
pop ecx
cmp dword [eax + 8], edi
pop ecx
jbe 0x40d114
mov eax, dword [0x412abc]
mov bl, 0x69
push 0xfffffffffffffffc
mov al, byte [eax]
pop esi
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push dword [0x412abc]
push eax
call fcn.0040ea15
push eax
mov dword [ebp + 0xc], eax
call sub.MSVCRT.dll_strlen
add esp, 0xc
push eax
push dword [ebp + 0xc]
jmp 0x40d14d
mov eax, dword [0x412ac0]
mov bl, 0x69
push 0xfffffffffffffffc
mov al, byte [eax]
pop esi
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push dword [0x412ac0]
push eax
call fcn.0040ea15
push eax
mov dword [ebp + 0xc], eax
call sub.MSVCRT.dll_strlen
add esp, 0xc
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
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_]
movsx ax, byte [0x4152f8]
or eax, dword [0x41533c]
lea ecx, [ebp - 0x1c]
mov word [0x41530a], ax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push dword [eax]
lea eax, [ebp - 0x74]
push edi
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__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [0x415328]
mov edi, dword [0x412ac4]
and eax, dword [0x415330]
add dword [0x415324], eax
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
or ax, 0xffff
mov edi, dword [0x412ac8]
sub ax, word [0x41530c]
mov ecx, 0xb6c5ffff
mov word [0x415314], ax
movsx eax, byte [0x415300]
sub ecx, eax
mov dword [0x415318], ecx
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
movsx eax, word [0x41530a]
push eax
movsx eax, byte [0x4152f8]
push eax
call fcn.00402909
mov edi, dword [0x412acc]
mov byte [0x4152fb], al
pop ecx
mov al, byte [edi]
pop ecx
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
movsx eax, word [0x41530e]
push 0x54ebffff
push eax
call fcn.004026b7
add word [0x415302], ax
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 - 0x44]
lea ecx, [ebp - 0x1c]
push 0
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__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edi, dword [0x412ad0]
mov dword [0x415338], 1
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
mov al, byte [0x415338]
mov edi, dword [0x412ad4]
sub byte [0x4152fe], al
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
movsx ax, byte [0x4152f9]
mov edi, dword [0x415b0c]
dec eax
add word [0x415306], ax
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
push eax
push edi
lea ecx, [ebp - 0x1c]
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__::append_char_const___unsigned_int_]
movsx eax, byte [0x4152fb]
imul eax, eax, 0xcc47ffff
mov edi, dword [0x412ad0]
mov dword [0x415324], eax
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
mov edi, dword [ebp + 0x10]
inc dword [0x415330]
mov eax, dword [edi + 8]
test eax, eax
jbe 0x40d4b3
movsx eax, byte [0x4152fe]
and eax, dword [0x41532c]
mov dword [0x415328], eax
mov eax, dword [0x412ad8]
mov al, byte [eax]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push dword [0x412ad8]
push eax
call fcn.0040ea15
push eax
mov dword [ebp + 0xc], eax
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push dword [ebp + 0xc]
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__::append_char_const___unsigned_int_]
xor eax, eax
cmp word [0x415302], ax
je 0x40d42d
cmp word [0x415304], ax
je 0x40d42d
push 1
pop eax
add byte [0x4152f9], al
mov edi, dword [edi + 8]
lea eax, [ebp - 0x150]
push 0xa
push eax
push edi
call dword [sym.imp.MSVCRT.dll__itoa]
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0x10
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
mov edi, dword [0x412ad0]
mov word [0x415310], 1
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
push dword [0x415334]
push 0x16e1ffff
call fcn.004026ee
add byte [0x4152fb], al
pop ecx
pop ecx
mov edi, dword [0x412adc]
inc dword [0x415318]
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
push 0x788fffff
push dword [0x41533c]
call fcn.00402794
mov edi, dword [0x412ae0]
add dword [0x415328], eax
pop ecx
mov al, byte [edi]
pop ecx
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
movsx eax, word [0x415302]
push eax
movsx eax, byte [0x4152ff]
push eax
call fcn.004026b7
mov edi, dword [0x412ad0]
add word [0x41530a], ax
pop ecx
mov al, byte [edi]
pop ecx
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
mov edi, eax
push edi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
push edi
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__::append_char_const___unsigned_int_]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov word [0x415310], 1
xor edi, edi
lea ecx, [ebp - 0x1c]
push dword [eax]
push edi
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__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov al, byte [0x415312]
add al, byte [0x415300]
push edi
push 0xffffffffffffffff
mov byte [0x4152fa], al
mov eax, 0xea60
push eax
push eax
lea eax, [ebp - 0x1c]
push edi
push eax
movzx eax, word [ebp - 0xf4]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0040c886
add esp, 0x24
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 byte [ebp - 4], 5
push dword [ecx]
lea ecx, [ebp - 0x30]
push edi
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__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x54]
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_]
movsx eax, word [0x415310]
sub eax, 0x131e0001
mov dword [0x415318], eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040dd8a
push dword [0x41533c]
mov dword [ebp + 0xc], eax
push 0xeefffff
call fcn.004027d2
add esp, 0xc
cmp dword [ebp + 0xc], 0x12c
mov word [0x415304], ax
jl 0x40d772
cmp dword [ebp + 0xc], 0x18f
jg 0x40d772
mov al, byte [0x41532c]
mov edi, dword [0x412ae4]
or byte [0x415301], al
mov al, byte [edi]
add al, bl
movzx eax, al
add eax, 3
and eax, esi
call fcn.0040f730
mov eax, esp
push edi
push eax
call fcn.0040ea15
pop ecx
mov esi, eax
mov al, byte [ebp + 0x13]
pop ecx
xor edi, edi
lea ecx, [ebp - 0x64]
push edi
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_]
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.0040d806
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0040db15
add esp, 0x14
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xa
call fcn.0040e354
push 1
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx eax, byte [0x415300]
push 0xec7ffff
push eax
call fcn.00402879
cmp dword [ebp - 0x4c], edi
pop ecx
pop ecx
mov word [0x415306], ax
jbe 0x40d755
push dword [ebp + 0x10]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040ce0a
add esp, 0xc
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 byte [ebp - 4], 0xb
push dword [ecx]
lea ecx, [ebp - 0x30]
push edi
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__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 9
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
call dword [sym.imp.USER32.dll_GetInputState]
push 1
lea ecx, [ebp - 0x54]
mov word [0x415302], ax
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_]
xor edi, edi
movsx eax, byte [0x415300]
push 0xde3ffff
push eax
call fcn.004026b7
add dword [0x41533c], eax
mov esi, dword [ebp + 8]
mov al, byte [ebp - 0x30]
pop ecx
pop ecx
mov byte [esi], al
push edi
mov ecx, 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_]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, esi
push dword [eax]
lea eax, [ebp - 0x30]
push edi
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__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
pop edi
mov dword [ebp - 0x34], edi
push edi
lea ecx, [ebp - 0x1c]
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 edi
lea ecx, [ebp - 0x74]
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 edi
lea ecx, [ebp - 0x44]
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_]
and byte [ebp - 4], 0
push edi
lea ecx, [ebp - 0x30]
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]
lea esp, [ebp - 0x15c]
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret