Function at 0x42bb36
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x42f102
call fcn.0042c930
sub esp, 0x7c
push ebx
push esi
mov esi, dword [0x439308]
push edi
mov al, byte [esi]
add al, 0x66
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042c950
mov ecx, esp
mov edx, esi
call fcn.00429cdb
mov esi, eax
mov al, byte [ebp - 0xd]
xor ebx, ebx
lea ecx, [ebp - 0x24]
push ebx
mov byte [ebp - 0x24], 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 - 0x24]
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 [0x438c1c], ebx
mov dword [ebp - 4], ebx
je 0x42bbaa
cmp word [0x438c02], bx
mov dword [0x438c18], 1
jne 0x42bbb0
mov dword [0x438c18], ebx
push 0xc0a1ffff
push 0xc553ffff
call fcn.0041020b
add word [0x438bf4], ax
push 0x45
call fcn.004146c6
add esp, 0xc
call eax
push eax
push 0x30
call fcn.004146c6
pop ecx
call eax
mov edi, eax
push 0x721bffff
movsx eax, byte [0x438bec]
push eax
call fcn.00410285
mov byte [0x438be8], al
pop ecx
movsx ax, byte [0x438beb]
pop ecx
add dword [0x438c28], 0x36c5ffff
mov ecx, eax
imul ecx, dword [0x438c10]
cmp edi, ebx
mov word [0x438bf6], cx
je 0x42be0a
mov ecx, dword [0x438c2c]
push dword [0x438c14]
add ecx, 0x6effffff
push dword [0x438c08]
mov dword [0x438c18], ecx
or ecx, 0xffffffff
sub ecx, eax
add word [0x438bfe], cx
call fcn.00410130
push 0x1ab3ffff
push 0x8bb5ffff
mov dword [0x438c24], eax
call fcn.00410285
mov word [0x438c02], ax
or eax, 0xffffffff
sub eax, dword [0x438c20]
add esp, 0x10
mov dword [ebp - 0x14], ebx
add word [0x438bfa], ax
inc dword [0x438c2c]
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
push 2
push edi
push 0x31
call fcn.004146c6
pop ecx
call eax
movsx eax, byte [0x438bef]
movsx ecx, word [0x438bfe]
add ecx, eax
push eax
add dword [0x438c18], ecx
push 0xa32dffff
call fcn.00410246
push dword [ebp - 0x14]
add byte [0x438bee], al
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
movsx eax, byte [0x438beb]
push eax
push dword [0x438c0c]
call fcn.00410092
mov dword [0x438c14], eax
mov eax, dword [0x438c20]
imul eax, dword [0x438c2c]
add dword [0x438c1c], eax
add esp, 0x14
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x14]
push esi
push 2
push edi
push 0x31
call fcn.004146c6
pop ecx
call eax
mov al, byte [0x438c2c]
push edi
sub al, byte [0x438c14]
push 0x2e
add byte [0x438beb], al
call fcn.004146c6
pop ecx
call eax
push 0xed3ffff
push 0xf4f9ffff
call fcn.004101be
push 0x107dffff
push 0x29c3ffff
mov byte [0x438bf1], al
call fcn.00410130
inc dword [0x438c24]
push esi
mov dword [0x438c08], eax
call sub.MSVCRT.dll_strlen
add esp, 0x14
push eax
push esi
lea ecx, [ebp - 0x24]
push dword [ebp - 0x1c]
push ebx
call dword [sym.imp.MSVCP60.dll_public:_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::compare_unsigned_int__unsigned_int__char_const___unsigned_int_const]
cmp eax, ebx
jne 0x42bdc7
mov eax, dword [0x438c0c]
inc byte [0x438be9]
sub dword [0x438c18], eax
mov ecx, 0x597bffff
movsx eax, byte [0x438be8]
sub ecx, eax
push esi
mov dword [0x438c08], ecx
call fcn.0042c88a
movsx eax, word [0x438bfa]
push eax
movsx eax, word [0x438bf2]
push eax
call fcn.004100f9
add byte [0x438bea], al
add esp, 0xc
or dword [ebp - 4], 0xffffffff
push 1
jmp 0x42c18b
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_IsCharLowerA]
dec byte [0x438be9]
push esi
mov dword [0x438c24], eax
call fcn.0042c88a
push 0xa03bffff
push dword [0x438c0c]
call fcn.004100f9
mov byte [0x438bef], al
mov eax, dword [0x438c0c]
push eax
push eax
call fcn.004100c8
add esp, 0x14
mov word [0x438bf8], ax
push 0x85b3ffff
push dword [0x438c1c]
call fcn.00410167
add byte [0x438beb], al
mov eax, dword [0x438c28]
push 0x44
or eax, 0x7255ffff
add dword [0x438c20], eax
pop esi
push esi
lea eax, [ebp - 0x88]
push ebx
push eax
call sub.MSVCRT.dll_memset
xor eax, eax
cmp word [0x438c04], bx
push 0x10
push ebx
setne al
inc byte [0x438be8]
mov word [0x438bfe], ax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x88], esi
push eax
mov word [0x438bfa], bx
call sub.MSVCRT.dll_memset
mov al, byte [0x438bec]
add esp, 0x20
sub al, byte [0x438beb]
add byte [0x438bf1], al
cmp dword [0x438c1c], ebx
je 0x42be9b
cmp byte [0x438be8], bl
je 0x42be9b
push 1
pop eax
jmp 0x42be9d
xor eax, eax
add dword [0x438c0c], eax
movsx eax, byte [0x438bef]
add eax, dword [0x438c08]
mov dword [0x438c28], eax
mov eax, dword [ebp - 0x20]
cmp eax, ebx
jne 0x42bec1
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 ebx
push 0x10000000
push ebx
push ebx
push ebx
push eax
push 0x2f
call fcn.004146c6
pop ecx
call eax
mov cl, byte [0x438bee]
mov edx, dword [ebp - 0x20]
add cl, byte [0x438bef]
mov edi, eax
movsx ax, byte [0x438bf0]
sub ax, word [0x438bfa]
dec byte [0x438bed]
cmp edx, ebx
mov word [0x438bfa], ax
jne 0x42bf0b
mov edx, 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 - 0x80], edx
or dl, 0xff
sub dl, al
mov dword [ebp - 0x5c], 7
mov byte [0x438bea], dl
mov dl, byte [0x438c28]
movsx eax, ax
inc dl
push eax
add cl, dl
inc word [0x438c04]
push 0xceadffff
mov byte [0x438bee], cl
call fcn.00410246
movsx cx, byte [0x438be8]
or ecx, dword [0x438c08]
add byte [0x438be9], al
mov eax, 0x482
push 0x62cdffff
inc ecx
push 0x523fffff
add word [0x438c04], cx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
call fcn.00410092
add esp, 0x10
mov word [0x438bf6], ax
mov al, byte [0x438bf1]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
add dword [0x438c14], eax
mov eax, dword [0x438c08]
push dword [0x438c0c]
mov esi, 0xfe
lea eax, [eax + eax + 0x7edffff]
mov dword [ebp - 0x70], esi
push 0x3ea1ffff
mov dword [0x438c08], eax
call fcn.00410167
pop ecx
mov word [0x438c02], ax
mov eax, dword [0x438c20]
pop ecx
xor ecx, ecx
cmp eax, ebx
setne cl
imul eax, eax, 0xb02bffff
add byte [0x438bf0], cl
mov dword [ebp - 0x6c], esi
mov dword [0x438c1c], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
add dword [0x438c18], eax
mov ax, word [0x438c02]
dec ax
push 1
mov word [0x438bfe], ax
pop esi
lea eax, [ebp - 0x34]
push esi
push eax
mov word [ebp - 0x58], bx
call fcn.0041f5b4
push 0xb3e9ffff
push 0x3cedffff
mov byte [ebp - 4], 1
call fcn.00410092
add esp, 0x10
mov byte [0x438bec], al
call fcn.00401f2a
mov eax, dword [ebp - 0x30]
add dword [0x438c18], 0x4025ffff
cmp eax, ebx
jne 0x42c048
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]
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x88]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
push ebx
push 0x3d
call fcn.004146c6
pop ecx
call eax
test eax, eax
je 0x42c13b
movsx eax, word [0x438c04]
push eax
push 0xeb1ffff
call fcn.00410167
push dword [0x438c10]
add dword [0x438c08], eax
push dword [0x438c14]
call fcn.004100c8
mov byte [0x438be8], al
movsx eax, byte [0x438bea]
push eax
movsx eax, word [0x438c00]
push eax
call fcn.00410246
add esp, 0x18
mov dword [0x438c0c], eax
push 0x3a98
push 0x59
call fcn.004146c6
pop ecx
call eax
cmp dword [0x438c14], ebx
jne 0x42c0dc
cmp word [0x438bfa], bx
jne 0x42c0dc
xor eax, eax
jmp 0x42c0de
mov eax, esi
add dword [0x438c0c], eax
inc word [0x438c00]
movsx eax, word [0x438bf6]
push 0xfb57ffff
push eax
call fcn.00410130
pop ecx
mov byte [0x438bea], al
pop ecx
call fcn.00401dfc
test al, al
jne 0x42c11f
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
push 0x5b
call fcn.004146c6
pop ecx
call eax
movsx eax, word [0x438c00]
push eax
push 0x6abffff
call fcn.00410167
add byte [0x438bf1], al
pop ecx
pop ecx
jmp 0x42c140
call fcn.00401dfc
push edi
push 0x2e
call fcn.004146c6
pop ecx
call eax
mov ax, word [0x438bfa]
push esi
neg ax
mov word [0x438bfa], ax
lea ecx, [ebp - 0x34]
movsx eax, byte [0x438bf0]
imul eax, eax, 0x9bd5ffff
add dword [0x438c2c], eax
mov ax, word [0x438bfc]
mov word [0x438c00], ax
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_]
or dword [ebp - 4], 0xffffffff
push esi
lea ecx, [ebp - 0x24]
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 - 0x94]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret