Function at 0x42a528
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x432638
call fcn.00430000
sub esp, 0xdc
movsx eax, byte [0x43bbd0]
push ebx
push esi
push edi
xor ebx, ebx
push eax
push 0x5f79ffff
mov dword [ebp - 0x64], ebx
call fcn.00411e04
mov word [0x43bbda], ax
movsx eax, byte [0x43bbcd]
push eax
push 0xc5dffff
call fcn.00411e4a
mov esi, dword [0x434e74]
add dword [0x43bc04], eax
add esp, 0x10
mov al, byte [esi]
add al, 0x79
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430020
mov ecx, esp
mov edx, esi
call fcn.0042c1e6
mov esi, eax
mov al, byte [ebp + 0x17]
push ebx
lea ecx, [ebp - 0x5c]
mov byte [ebp - 0x5c], 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 - 0x5c]
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 [0x43bbd1]
push 1
pop edi
push eax
mov dword [ebp - 4], edi
push dword [0x43bc08]
call fcn.00411cd8
mov dword [0x43bbfc], eax
xor eax, eax
cmp word [0x43bbd6], bx
setne al
add word [0x43bbd8], ax
movsx eax, byte [0x43bbce]
push eax
push 0xb7e5ffff
call fcn.00411e04
mov esi, dword [ebp + 0x14]
add dword [0x43bbfc], eax
add esp, 0x10
lea ecx, [ebp - 0x74]
mov al, byte [esi]
push ebx
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_]
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 - 0x74]
push dword [eax]
push ebx
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__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
movsx eax, byte [0x43bbcb]
push 0x9b5ffff
push eax
mov byte [ebp - 4], 2
call fcn.00411e04
pop ecx
mov byte [0x43bbd0], al
pop ecx
push ebx
push 0x1e
call fcn.004163e0
pop ecx
call eax
push 0x117ffff
push 0xda3fffff
mov dword [ebp - 0x60], eax
call fcn.00411e4a
add byte [0x43bbd1], al
pop ecx
pop ecx
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [0x43bbf8], eax
mov dword [ebp - 0x14], ebx
movsx eax, byte [0x43bbca]
and eax, 0x91b9ffff
add dword [0x43bbe8], eax
dec byte [0x43bbc9]
push 0x28
pop esi
lea eax, [ebp - 0xd8]
push esi
push ebx
push eax
mov byte [ebp - 4], 4
call sub.MSVCRT.dll_memset
push 0x4111ffff
mov dword [ebp - 0xd8], esi
push dword [0x43bc00]
call fcn.00411e04
add word [0x43bbe4], ax
movsx eax, byte [0x43bbd0]
push eax
push 0xd87dffff
call fcn.00411cac
add byte [0x43bbce], al
mov al, byte [ebp + 0x17]
add esp, 0x1c
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x2c], al
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 5
push eax
push 0x435734
push edi
push ebx
push str._J7_
push 0x1c
mov dword [0x43bbec], 0x934e0001
call fcn.004163e0
pop ecx
call eax
test eax, eax
jl 0x42ac1d
push 0x2747ffff
push 0x5b15ffff
call fcn.00411d58
pop ecx
mov byte [0x43bbcc], al
mov eax, dword [ebp - 0x1c]
pop ecx
lea edx, [ebp - 0x14]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x42ac1d
movsx ax, byte [0x43bbcf]
and ax, word [0x43bbe4]
push 0xcf95ffff
add word [0x43bbd2], ax
movsx eax, word [0x43bbe0]
push eax
call fcn.00411c25
add dword [0x43bc04], eax
mov dword [ebp - 0x10], ebx
mov al, byte [0x43bbe0]
push 0xef6fffff
inc al
push 0x2d61ffff
mov byte [ebp - 4], 6
mov byte [0x43bbcf], al
call fcn.00411d90
push dword [0x43bc00]
mov byte [0x43bbce], al
movsx eax, byte [0x43bbc8]
push eax
call fcn.00411dc3
add esp, 0x18
add word [0x43bbe0], ax
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x18]
push edx
lea edx, [ebp - 0xd8]
mov ecx, dword [eax]
push edx
push edi
push eax
call dword [ecx + 0xc]
test eax, eax
jl 0x42ac10
cmp dword [ebp - 0x18], ebx
je 0x42ac10
push dword [ebp - 0x10]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 0xbc81ffff
push 0x2da9ffff
mov dword [ebp - 0x10], ebx
call fcn.00411e4a
mov esi, dword [ebp - 0xd4]
add word [0x43bbde], ax
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea ecx, [ebp - 0x10]
call fcn.00405b71
push dword [0x43bc04]
push 0x62b7ffff
call fcn.00411e04
mov byte [0x43bbca], al
movsx eax, word [0x43bbde]
push eax
push 0xfa2fffff
call fcn.00411d1f
add esp, 0x10
cmp dword [ebp - 0x10], ebx
mov word [0x43bbde], ax
jne 0x42a858
xor eax, eax
jmp 0x42a861
push dword [ebp - 0x10]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
inc eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
pop ecx
movsx ax, byte [0x43bbc9]
sub word [0x43bbde], ax
cmp dword [ebp - 0x10], ebx
jne 0x42a883
xor eax, eax
jmp 0x42a88c
push dword [ebp - 0x10]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
push ebx
inc eax
push ebx
push eax
push esi
push 0xffffffffffffffff
push dword [ebp - 0x10]
push ebx
push ebx
push 0x61
call fcn.004163e0
pop ecx
call eax
push dword [0x43bc00]
push 0x5619ffff
call fcn.00411d90
add dword [0x43bbe8], eax
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
add byte [0x43bbc8], al
mov al, byte [ebp + 0x17]
push ebx
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x3c], 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 - 0x3c]
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 0x7ef3ffff
push 0x4a9ffff
mov byte [ebp - 4], 7
call fcn.00411e04
add word [0x43bbd6], ax
push esi
call fcn.0042ff5a
movsx eax, byte [0x43bbce]
push 0x2bc9ffff
push eax
call fcn.00411d58
mov esi, dword [0x434e74]
add word [0x43bbe4], ax
add esp, 0x14
mov al, byte [esi]
add al, 0x79
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430020
mov ecx, esp
mov edx, esi
call fcn.0042c1e6
mov dword [ebp + 0x14], eax
push 7
lea eax, [ebp - 0xe8]
push ebx
push eax
lea ecx, [ebp - 0x3c]
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 esi, eax
push dword [ebp + 0x14]
mov byte [ebp - 4], 8
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov ecx, esi
push dword [ebp + 0x14]
push dword [esi + 8]
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
mov byte [ebp - 4], 7
sete byte [ebp + 0x17]
push edi
lea ecx, [ebp - 0xe8]
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 byte [ebp + 0x17], bl
je 0x42abfd
push 0x3c
lea eax, [ebp - 0xb0]
pop esi
push esi
push ebx
push eax
call sub.MSVCRT.dll_memset
mov eax, dword [0x43bbe8]
add esp, 0xc
imul eax, eax, 0x8583ffff
dec word [0x43bbda]
cmp byte [0x43bbcc], bl
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x9c], edi
mov dword [0x43bc00], eax
mov dword [ebp - 0x80], edi
je 0x42a9e7
cmp byte [0x43bbd1], bl
je 0x42a9e7
mov eax, edi
jmp 0x42a9e9
xor eax, eax
add dword [0x43bc0c], eax
movsx eax, byte [0x43bbcd]
push eax
push 0xee67ffff
call fcn.00411d90
push dword [0x43bc08]
add word [0x43bbd6], ax
push 0xc03dffff
call fcn.00411cac
push dword [0x43bbe8]
mov dword [0x43bbf0], eax
mov dword [ebp - 0x90], edi
mov byte [0x43bbc9], 1
push 0xf367ffff
call fcn.00411d90
add word [0x43bbdc], ax
mov dword [ebp - 0x88], edi
movsx eax, byte [0x43bbc8]
push eax
movsx eax, byte [0x43bbd1]
push eax
call fcn.00411c25
add byte [0x43bbc8], al
movsx eax, byte [0x43bbc9]
push eax
movsx eax, word [0x43bbd6]
push eax
call fcn.00411d90
add dword [0x43bbec], eax
mov eax, dword [ebp - 0x38]
add esp, 0x28
cmp eax, ebx
mov dword [ebp - 0x78], edi
jne 0x42aa8f
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 - 0xb0]
push ecx
push ebx
push dword [ebp - 0x34]
push eax
push 5
call fcn.004163e0
pop ecx
call eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push dword [0x43bc00]
mov dword [0x43bbf8], eax
push 0x5d1fffff
call fcn.00411d58
mov esi, dword [ebp - 0x84]
pop ecx
pop ecx
mov word [0x43bbe4], ax
mov al, byte [ebp + 0x17]
push ebx
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x4c], 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 - 0x4c]
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 - 0x4c]
mov byte [ebp - 4], 9
push dword [eax]
push dword [ebp - 0x80]
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_]
mov al, byte [0x43bbfc]
lea ecx, [ebp - 0x3c]
mov byte [0x43bbc9], al
movsx eax, word [0x43bbd4]
and eax, 0xdfedffff
mov dword [0x43bc0c], eax
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 - 0x4c]
push ebx
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_]
mov ax, word [0x43bbd8]
mov esi, dword [ebp + 0x10]
add word [0x43bbd4], ax
movsx eax, word [0x43bbd2]
movsx ecx, byte [0x43bbca]
imul eax, ecx
movsx ecx, byte [0x43bbd0]
add ecx, dword [0x43bc0c]
lea eax, [ecx + eax - 0x5e35ffff]
mov ecx, dword [ebp - 0x44]
mov dword [0x43bc0c], eax
mov eax, dword [esi + 8]
cmp ecx, eax
jbe 0x42ab88
sub ecx, eax
push ecx
push ebx
lea ecx, [ebp - 0x4c]
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_]
movsx eax, byte [0x43bbca]
push 0x4a27ffff
push eax
call fcn.00411cac
mov word [0x43bbda], ax
push 0x7ae1ffff
movsx ax, byte [0x43bbcf]
sub word [0x43bbde], ax
push 0x209dffff
call fcn.00411cd8
add byte [0x43bbca], al
add esp, 0x10
lea ecx, [ebp - 0x4c]
push esi
call dword [sym.imp.MSVCP60.dll_public:_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::compare_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__const]
test eax, eax
jne 0x42abe1
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x2c]
push eax
call fcn.0041b1b8
or byte [0x43bbce], 0xff
dec word [0x43bbe2]
push edi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 7
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 - 0x3c]
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_]
jmp 0x42a7be
push dword [ebp - 0x10]
mov byte [ebp - 4], 5
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [0x43bbf4]
push 0x52b9ffff
call fcn.00411dc3
add byte [0x43bbc8], al
cmp dword [ebp - 0x28], ebx
pop ecx
pop ecx
je 0x42ad06
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
sar eax, 4
je 0x42ad06
movsx eax, byte [0x43bbcd]
push 0x9f13ffff
push eax
call fcn.00411d58
cmp dword [0x43bbe8], ebx
mov word [0x43bbe0], ax
pop ecx
setne al
mov byte [0x43bbcb], al
pop ecx
movsx eax, word [0x43bbd6]
mov ecx, 0x72f3ffff
sub ecx, eax
mov eax, dword [ebp - 0x28]
add dword [0x43bbec], ecx
cmp eax, dword [ebp - 0x24]
je 0x42ac9e
push ebx
push dword [ebp - 0x24]
push eax
call fcn.0042b48f
add esp, 0xc
push 0x70c7ffff
push 0x2977ffff
call fcn.00411e04
pop ecx
mov word [0x43bbda], 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
lea ecx, [ebp - 0x74]
push dword [eax]
push ebx
push dword [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__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
movsx eax, word [0x43bbd8]
push eax
push dword [0x43bbf0]
call fcn.00411d58
mov word [0x43bbe4], ax
mov eax, dword [0x43bc08]
inc eax
push 0xd65fffff
add word [0x43bbd6], ax
push 0x3bdfffff
call fcn.00411d58
add esp, 0x10
mov byte [0x43bbd0], al
cmp word [0x43bbd4], bx
jne 0x42ad1c
cmp word [0x43bbe2], bx
jne 0x42ad1c
xor eax, eax
jmp 0x42ad1e
mov eax, edi
add byte [0x43bbd1], al
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.0041b182
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x42ad41
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x42ad52
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp word [0x43bbd8], bx
jne 0x42ad6a
cmp byte [0x43bbca], bl
mov word [0x43bbdc], bx
je 0x42ad71
mov word [0x43bbdc], di
push 0x28dffff
push 0x18f1ffff
call fcn.00411d1f
dec byte [0x43bbcd]
cmp dword [ebp - 0x60], 0x80010106
pop ecx
mov byte [0x43bbcc], al
pop ecx
je 0x42ada0
push 0x20
call fcn.004163e0
pop ecx
call eax
mov eax, dword [0x43bbf4]
push dword [0x43bbfc]
add eax, 0xaf81ffff
inc dword [0x43bbf4]
push 0x1923ffff
mov dword [0x43bc00], eax
call fcn.00411cac
add dword [0x43bbfc], eax
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 ecx, [ebp - 0x5c]
push ebx
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__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 - 0x5c]
push dword [eax]
lea eax, [ebp - 0x74]
push ebx
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_]
push 0xefb5ffff
push 0x7909ffff
call fcn.00411d90
push dword [0x43bc08]
mov word [0x43bbda], ax
mov word [0x43bbe4], 0xfffe
push dword [0x43bc0c]
call fcn.00411e4a
add byte [0x43bbcd], al
mov esi, dword [ebp + 8]
mov al, byte [ebp - 0x5c]
add esp, 0x10
mov ecx, esi
mov byte [esi], al
push ebx
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 - 0x5c]
push ebx
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_]
mov dword [ebp - 0x64], edi
push edi
lea ecx, [ebp - 0x74]
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 edi
lea ecx, [ebp - 0x5c]
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_]
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0xf4]
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret