Function at 0x40ebe2
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x43194a
call fcn.00430710
sub esp, 0x28
mov al, byte [ebp + 0xb]
push ebx
push esi
xor ebx, ebx
push edi
push ebx
lea ecx, [ebp - 0x24]
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_]
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 - 0x24]
mov dword [ebp - 4], ebx
push dword [eax]
push ebx
push dword [ebp + 8]
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 [0x43ac7e]
and eax, dword [0x43acbc]
mov esi, dword [0x434e7c]
mov word [0x43ac8a], 1
mov dword [0x43acb4], eax
movsx eax, word [0x43ac90]
or eax, dword [0x43aca0]
add dword [0x43aca8], eax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430730
mov eax, esp
push esi
push eax
call fcn.0042d836
pop ecx
mov esi, eax
mov al, byte [ebp + 0xb]
pop ecx
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], 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 - 0x34]
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 edi, dword [ebp - 0x2c]
push 0x5171ffff
push dword [0x43acb8]
mov byte [ebp - 4], 1
call fcn.0040b0f0
add word [0x43ac94], ax
mov eax, dword [ebp - 0x1c]
pop ecx
cmp eax, ebx
pop ecx
lea esi, [eax - 1]
je 0x40eecb
dec edi
mov dword [ebp - 0x14], edi
movsx eax, byte [0x43ac80]
push eax
push dword [0x43ac9c]
call fcn.0040b037
add word [0x43ac92], ax
cmp dword [ebp - 0x1c], esi
pop ecx
pop ecx
jb 0x40ecf8
cmp dword [ebp - 0x20], ebx
je 0x40ecf8
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__::_Freeze_void_]
mov eax, dword [ebp - 0x20]
lea edi, [eax + esi]
jmp 0x40ecfe
mov edi, 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 eax, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], eax
jb 0x40ed1e
cmp dword [ebp - 0x30], ebx
je 0x40ed1e
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
add eax, ecx
jmp 0x40ed23
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 cl, byte [edi]
cmp cl, byte [eax]
jne 0x40edb1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
add byte [0x43ac7d], al
mov ax, word [0x43aca0]
or ax, word [0x43ac94]
push 0xc151ffff
push dword [0x43ac9c]
add word [0x43ac8e], ax
call fcn.0040b037
cmp dword [ebp - 0x30], ebx
pop ecx
pop ecx
mov word [0x43ac8e], ax
je 0x40ed78
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov edi, dword [ebp - 0x30]
jmp 0x40ed7e
mov edi, 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]
cmp dword [ebp - 0x1c], esi
jb 0x40ed98
cmp dword [ebp - 0x20], ebx
je 0x40ed98
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__::_Freeze_void_]
mov eax, dword [ebp - 0x20]
add eax, esi
jmp 0x40ed9d
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 cl, byte [edi]
mov byte [eax], cl
mov eax, esi
dec esi
test eax, eax
jne 0x40ecc1
jmp 0x40eecb
movsx eax, word [0x43ac90]
push eax
movsx eax, byte [0x43ac81]
push eax
call fcn.0040b002
push 0xf2d1ffff
push 0x4679ffff
mov byte [0x43ac81], al
call fcn.0040af32
add esp, 0x10
mov dword [0x43aca8], eax
push 0xcf8fffff
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
add dword [0x43aca0], eax
cmp dword [ebp - 0x1c], esi
jb 0x40ee0d
cmp dword [ebp - 0x20], ebx
je 0x40ee0d
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__::_Freeze_void_]
mov eax, dword [ebp - 0x20]
add eax, esi
jmp 0x40ee12
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 al, byte [eax]
push 1
mov byte [ebp - 0xd], al
lea eax, [ebp - 0xd]
push ebx
push eax
lea ecx, [ebp - 0x34]
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]
cmp byte [0x43ac7d], bl
mov edi, eax
setne al
mov byte [0x43ac7e], al
movsx eax, byte [0x43ac7a]
push eax
push dword [0x43acac]
call fcn.0040afcb
xor eax, eax
cmp word [0x43ac86], bx
pop ecx
setne al
inc edi
pop ecx
cmp dword [ebp - 0x2c], edi
mov word [0x43ac82], ax
jb 0x40ee79
cmp dword [ebp - 0x30], ebx
je 0x40ee79
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov eax, dword [ebp - 0x30]
add edi, eax
jmp 0x40ee7f
mov edi, 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]
cmp dword [ebp - 0x1c], esi
jb 0x40ee99
cmp dword [ebp - 0x20], ebx
je 0x40ee99
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__::_Freeze_void_]
mov eax, dword [ebp - 0x20]
add eax, esi
jmp 0x40ee9e
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 cl, byte [edi]
push 0x3de5ffff
push 0xcb0dffff
mov byte [eax], cl
call fcn.0040b0f0
add dword [0x43acac], eax
or word [0x43ac84], 0xffff
sub dword [0x43ac98], 0x40480001
pop ecx
pop ecx
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, dword [ebp + 8]
push dword [eax]
lea eax, [ebp - 0x24]
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_]
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_IsCharAlphaA]
mov word [0x43ac8a], ax
xor eax, eax
cmp byte [0x43ac7c], bl
setne al
cmp esi, 0xffffffff
mov word [0x43ac92], ax
jne 0x40ef6a
movsx ecx, byte [0x43ac7d]
or ecx, 0xe0afffff
push 0x6a2bffff
movsx eax, ax
mov dword [0x43acb0], ecx
mov ecx, dword [0x43aca8]
lea eax, [ecx + eax - 0x21d40001]
mov dword [0x43aca8], eax
movsx eax, word [0x43ac82]
push eax
call fcn.0040b0ac
cmp dword [ebp - 0x30], ebx
pop ecx
pop ecx
mov byte [0x43ac7b], al
je 0x40ef58
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov eax, dword [ebp - 0x30]
jmp 0x40ef5d
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 al, byte [eax]
mov ecx, dword [ebp + 8]
push eax
push ebx
call dword [sym.imp.MSVCP60.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::insert_char___char_]
movsx eax, byte [0x43ac7a]
push 0x8a5bffff
push eax
call fcn.0040af32
pop ecx
mov word [0x43ac92], ax
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [0x43acb8], eax
movsx eax, word [0x43ac88]
push eax
movsx eax, byte [0x43ac79]
push eax
call fcn.0040b002
pop ecx
mov word [0x43ac86], ax
pop ecx
mov byte [ebp - 4], bl
push 1
lea ecx, [ebp - 0x34]
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 1
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 - 0x40]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret