Function at 0x42ccb9
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x430e89
call fcn.0042e9c0
sub esp, 0x98
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
add dword [0x438c44], eax
mov al, byte [0x438c50]
sub byte [0x438c1c], al
push 0xb03fffff
movsx eax, word [0x438c2c]
movsx ecx, word [0x438c24]
sub ecx, eax
movsx eax, byte [0x438c20]
add dword [0x438c5c], ecx
push eax
call fcn.0040a9de
mov dword [0x438c54], eax
call fcn.0041531d
mov al, byte [0x438c1f]
push 1
add byte [0x438c1b], al
lea eax, [ebp - 0x48]
push eax
call fcn.004219ef
add esp, 0x10
mov esi, dword [sym.imp.USER32.dll_GetActiveWindow]
xor edi, edi
mov dword [ebp - 4], edi
call esi
add dword [0x438c38], eax
lea eax, [ebp - 0x48]
push eax
call fcn.00421d67
pop ecx
call esi
add dword [0x438c5c], eax
movsx eax, byte [0x438c1e]
push eax
push 0x7383ffff
call fcn.0040a933
cmp dword [ebp - 0x40], edi
pop ecx
pop ecx
mov byte [0x438c1b], al
je 0x42d4fb
push 0x42
call fcn.0040ebd2
push 0x43
call fcn.0040ebd2
xor eax, eax
cmp word [0x438c28], di
push 0x72e1ffff
setne al
add byte [0x438c19], al
mov al, byte [0x438c38]
sub byte [0x438c21], al
movsx eax, word [0x438c30]
push eax
call fcn.0040a9de
add dword [0x438c5c], eax
add esp, 0x10
push edi
push 0x55
call fcn.0040ebd2
pop ecx
call eax
mov esi, dword [0x433200]
push 3
pop ebx
mov al, byte [esi]
push 0xfffffffffffffffc
sub al, bl
pop edi
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push 0
push 0
push esi
push eax
call fcn.0042bd2b
pop ecx
pop ecx
push eax
push 0x42
call fcn.0040ebd2
pop ecx
call eax
mov esi, eax
test esi, esi
mov dword [ebp - 0x18], esi
je 0x42d4fb
push 0x43
call fcn.0040ebd2
pop ecx
call eax
cmp eax, 0xcb
je 0x42d4fb
movsx eax, word [0x438c22]
push dword [0x438c48]
push eax
call fcn.0040aa83
mov word [0x438c24], ax
movsx eax, word [0x438c28]
push eax
push 0x1a51ffff
call fcn.0040ab0e
add dword [0x438c3c], eax
push 0x746fffff
movsx eax, word [0x438c2e]
push eax
call fcn.0040aa4f
add dword [0x438c5c], eax
inc esi
push esi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, dword [0x433200]
mov dword [ebp - 0x14], eax
add esp, 0x1c
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push esi
push eax
call fcn.0042bd2b
pop ecx
pop ecx
push eax
push 0x42
call fcn.0040ebd2
pop ecx
call eax
movsx eax, word [0x438c2a]
push 0x6031ffff
push eax
call fcn.0040a96f
movsx ecx, byte [0x438c1b]
add byte [0x438c1d], al
add ecx, dword [0x438c3c]
movsx eax, word [0x438c32]
push 0xb253ffff
add ecx, eax
push dword [0x438c44]
mov dword [0x438c3c], ecx
call fcn.0040aa4f
add byte [0x438c1e], al
mov al, byte [ebp - 0xd]
add esp, 0x10
xor esi, esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x68], al
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 dword [ebp - 0x14]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x68]
push dword [ebp - 0x14]
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 [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0042e920
mov eax, dword [0x438c4c]
pop ecx
mov ecx, dword [0x438c50]
lea ecx, [ecx + eax + 0x67460001]
or al, byte [0x438c1e]
mov dword [0x438c50], ecx
movsx cx, byte [0x438c1a]
mov word [0x438c2a], cx
mov byte [0x438c1b], al
mov al, byte [ebp - 0xd]
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x58], 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 dword [0x433204]
or ax, 0xffff
sub ax, word [0x438c32]
inc word [0x438c2a]
inc dword [0x438c48]
mov byte [ebp - 4], 2
mov word [0x438c32], ax
lea eax, [ebp - 0x58]
push eax
call fcn.0040e15c
pop ecx
test eax, eax
pop ecx
je 0x42d4d1
push 0xadfbffff
push 0x3b43ffff
call fcn.0040ab0e
pop ecx
mov dword [0x438c40], eax
mov al, byte [ebp - 0xd]
pop ecx
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], 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_]
mov esi, dword [0x433208]
mov byte [ebp - 4], bl
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
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 [0x438c34]
imul eax, eax, 0x4b0dffff
mov dword [0x438c40], eax
movsx eax, word [0x438c28]
push eax
push 0x2333ffff
call fcn.0040a96f
add word [0x438c2a], ax
pop ecx
movsx eax, word [0x438c2a]
mov esi, dword [0x43320c]
pop ecx
movsx ecx, byte [0x438c20]
sub eax, ecx
add dword [0x438c4c], eax
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
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 esi, dword [0x433210]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
push eax
push esi
lea ecx, [ebp - 0x28]
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]
lea ecx, [ebp - 0x28]
push dword [eax]
lea eax, [ebp - 0x48]
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 esi, dword [0x433214]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
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 [0x438c32]
push 0x8303ffff
push eax
call fcn.0040aa18
mov byte [0x438c21], al
movsx eax, byte [0x438c1d]
push eax
push 0xe6e5ffff
call fcn.0040aac5
mov esi, dword [0x433218]
mov byte [0x438c1c], al
add esp, 0x10
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
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]
lea ecx, [ebp - 0x28]
push dword [eax]
lea eax, [ebp - 0x48]
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 esi, dword [str._rJTzI]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
push eax
push esi
lea ecx, [ebp - 0x28]
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 esi, dword [0x433220]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
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 esi, dword [0x433224]
or byte [0x438c1b], 0xff
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
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 [0x438c21]
inc dword [0x438c5c]
push eax
movsx eax, byte [0x438c1b]
push eax
call fcn.0040aa18
mov byte [0x438c1d], al
xor eax, eax
cmp dword [0x438c38], eax
setne al
mov word [0x438c2c], ax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0040dfbc
add esp, 0x10
test eax, eax
je 0x42d4c2
push dword [0x438c5c]
push dword [0x438c44]
call fcn.0040a96f
add dword [0x438c5c], eax
push 0xdb7ffff
push 0x9f3bffff
call fcn.0040a9a5
push 0x7af1ffff
push 0x173dffff
mov dword [0x438c38], eax
call fcn.0040aa18
mov esi, dword [0x433228]
add word [0x438c2c], ax
add esp, 0x18
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov esi, eax
mov al, byte [ebp - 0xd]
pop ecx
push 0
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x38], 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 - 0x38]
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 eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 4
push dword [eax]
lea eax, [ebp - 0x58]
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 esi, dword [0x43322c]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x38]
push eax
push esi
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 [0x438c18]
push eax
push dword [0x438c5c]
push 0x6263ffff
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov byte [0x438c1c], al
xor eax, eax
cmp dword [0x438c58], eax
jne 0x42d374
cmp word [0x438c34], ax
jne 0x42d374
xor ecx, ecx
jmp 0x42d377
push 1
pop ecx
add dword [0x438c54], ecx
mov dword [ebp - 0x9c], eax
movsx eax, byte [0x438c1d]
push 0x8ce5ffff
push eax
mov dword [ebp - 0xa4], 0x3c
call fcn.0040aac5
add dword [0x438c3c], eax
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov esi, dword [0x433230]
add dword [0x438c44], eax
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and eax, edi
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x64]
pop ecx
test eax, eax
pop ecx
jne 0x42d3e6
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 esi, dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [ebp - 0x94], eax
call esi
add dword [0x438c40], eax
movsx eax, byte [0x438c1a]
and eax, 0x5c2bffff
add dword [0x438c40], eax
call esi
add dword [0x438c58], eax
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x42d420
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 dword [ebp - 0x90], eax
mov ax, word [0x438c22]
mov cx, ax
and dword [ebp - 0x8c], 0
movsx eax, ax
imul eax, eax, 0x1445ffff
inc byte [0x438c20]
and dword [ebp - 0x88], 0
mov dword [0x438c50], eax
lea eax, [ebp - 0xa4]
inc cx
inc dword [0x438c58]
push eax
push 0x15
mov word [0x438c2e], cx
mov dword [ebp - 0xa0], 0x40
mov byte [0x438c19], 1
call fcn.0040ebd2
pop ecx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add dword [0x438c44], eax
push 0x6c11ffff
movsx eax, byte [0x438c21]
push eax
call fcn.0040aa83
add dword [0x438c58], eax
pop ecx
pop ecx
call fcn.004151bc
lea eax, [ebp - 0x18]
push 0x436018
push eax
mov dword [ebp - 0x18], 1
call sub.MSVCRT.dll__CxxThrowException
push 1
lea ecx, [ebp - 0x28]
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_]
mov al, byte [0x438c21]
push 1
inc al
lea ecx, [ebp - 0x58]
mov byte [0x438c1c], al
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 1
lea ecx, [ebp - 0x68]
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 al, byte [0x438c18]
add byte [0x438c1d], al
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
add dword [0x438c5c], eax
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x48]
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 - 0xb0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret