Function at 0x407dcf
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x42f745
call fcn.0042e9c0
sub esp, 0xd4
push ebx
xor ebx, ebx
cmp word [0x438c28], bx
push esi
push edi
jne 0x407dfc
cmp word [0x438c2a], bx
mov byte [0x438c1c], bl
je 0x407e03
mov byte [0x438c1c], 1
mov ax, word [0x438c34]
mov esi, dword [0x432d48]
neg ax
mov word [0x438c28], ax
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.004095b0
mov ecx, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24]
push eax
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
push 1
pop edi
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
add word [0x438c2a], ax
cmp dword [ebp - 0x24], ebx
je 0x4087e5
cmp word [0x438c2c], bx
je 0x407e88
cmp dword [0x438c50], ebx
mov dword [0x438c5c], edi
jne 0x407e8e
mov dword [0x438c5c], ebx
movsx eax, byte [0x438c18]
push eax
push 0x92cdffff
call fcn.0040aa18
push dword [0x438c50]
add byte [0x438c20], al
push 0x9fafffff
call fcn.0040a8f9
push 0x88
mov word [0x438c32], ax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 0x14
mov dword [ebp - 0x18], eax
cmp eax, ebx
mov byte [ebp - 4], 2
je 0x407edd
mov ecx, eax
call fcn.00403a8a
jmp 0x407edf
xor eax, eax
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 1
movsx eax, word [0x438c2e]
push eax
push 0x2465ffff
call fcn.0040a9a5
add dword [0x438c48], eax
mov al, byte [0x438c20]
sub al, byte [0x438c24]
cmp dword [ebp - 0x24], ebx
pop ecx
pop ecx
mov byte [0x438c21], al
jne 0x407f1f
push 0x80004003
call fcn.0042ee50
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x30]
push eax
call fcn.00408e55
mov ecx, dword [eax]
mov byte [ebp - 4], 3
cmp ecx, ebx
je 0x407f3e
call fcn.00409796
mov esi, eax
jmp 0x407f40
xor esi, esi
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0xa0], 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 - 0xa0]
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 ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 5
cmp ecx, ebx
je 0x407f7e
call fcn.00409769
mov dword [ebp - 0x30], ebx
lea eax, [ebp - 0xa0]
push eax
call fcn.00405275
mov esi, eax
mov eax, dword [0x438c44]
dec eax
pop ecx
add word [0x438c2a], ax
mov eax, 0x15180
cmp esi, eax
jbe 0x407fa5
mov esi, eax
cmp byte [0x438c21], bl
je 0x407fb9
cmp dword [0x438c3c], ebx
je 0x407fb9
mov eax, edi
jmp 0x407fbb
xor eax, eax
add word [0x438c26], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [0x438c19], al
movsx eax, al
push eax
push dword [0x438c50]
call fcn.0040a9a5
add word [0x438c28], ax
mov eax, dword [ebp - 0x10]
push 0xf3b5ffff
push 0x62a5ffff
mov dword [eax + 0x30], esi
call fcn.0040a9de
sub dword [0x438c40], 0x30be0002
mov word [0x438c34], ax
mov eax, dword [ebp - 0x10]
add esp, 0x10
lea ecx, [ebp - 0x50]
mov dword [eax + 0x34], ebx
mov al, byte [ebp + 0xb]
push ebx
mov byte [ebp - 0x50], 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_]
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 6
push eax
push dword [0x432d4c]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push dword [ebp + 8]
call fcn.00409595
call fcn.0042e1f2
add esp, 0xc
cmp eax, ebx
je 0x408110
mov esi, dword [0x432d30]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
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 - 0x50]
push eax
push esi
push dword [ebp - 0x48]
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
je 0x408107
mov esi, dword [0x432d50]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
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 - 0x50]
push eax
push esi
push dword [ebp - 0x48]
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
je 0x408107
mov esi, dword [0x432d54]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
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 - 0x50]
push eax
push esi
push dword [ebp - 0x48]
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 0x408110
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x68], 1
jmp 0x408116
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x68], bl
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x70]
mov byte [ebp - 0x70], 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_]
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 7
push eax
push dword [0x432d58]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push dword [ebp + 8]
call fcn.00409595
call fcn.0042e1f2
add esp, 0xc
cmp eax, ebx
je 0x408215
mov esi, dword [0x432d30]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
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 - 0x70]
push eax
push esi
push dword [ebp - 0x68]
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
je 0x40820c
mov esi, dword [0x432d50]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
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 - 0x70]
push eax
push esi
push dword [ebp - 0x68]
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
je 0x40820c
mov esi, dword [0x432d54]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
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 - 0x70]
push eax
push esi
push dword [ebp - 0x68]
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 0x408215
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x74], 1
jmp 0x40821b
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x74], bl
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x90]
mov byte [ebp - 0x90], 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_]
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 8
push eax
push dword [0x432d5c]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push dword [ebp + 8]
call fcn.00409595
call fcn.0042e1f2
add esp, 0xc
cmp eax, ebx
je 0x4082c8
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x60], 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, 0x4380c4
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x60]
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 - 0x60]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004076ce
add esp, 0xc
push eax
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0x78]
call fcn.004093be
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 9
call fcn.00409388
push edi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
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 [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x80], 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 [ebp - 0x10]
mov byte [ebp - 4], 0xb
or dword [eax + 0x6c], 0xffffffff
mov eax, dword [ebp - 0x10]
or dword [eax + 0x70], 0xffffffff
lea eax, [ebp - 0x80]
push eax
push dword [0x432d60]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push dword [ebp + 8]
call fcn.00409595
call fcn.0042e1f2
add esp, 0xc
cmp eax, ebx
mov eax, dword [ebp - 0x10]
je 0x4083a5
mov byte [eax + 0x69], 1
push edi
lea eax, [ebp - 0x11]
push ebx
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x11], 0x2c
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 esi, 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]
cmp esi, dword [eax]
je 0x4083a8
cmp esi, ebx
jle 0x408369
push esi
lea eax, [ebp - 0x40]
push ebx
push eax
lea ecx, [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__::substr_unsigned_int__unsigned_int_]
push eax
mov byte [ebp - 4], 0xc
call fcn.00405275
pop ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x10]
push edi
mov dword [ecx + 0x6c], eax
lea ecx, [ebp - 0x40]
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 esi, dword [ebp - 0x78]
jae 0x4083a8
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
inc esi
lea ecx, [ebp - 0x80]
push dword [eax]
lea eax, [ebp - 0x40]
push esi
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__::substr_unsigned_int__unsigned_int_]
push eax
mov byte [ebp - 4], 0xd
call fcn.00405275
pop ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x10]
push edi
mov dword [ecx + 0x70], eax
lea ecx, [ebp - 0x40]
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 0x4083a8
mov byte [eax + 0x69], bl
movsx eax, byte [0x438c1a]
mov ecx, 0x5d25ffff
push 0xedfffff
sub ecx, eax
mov al, byte [0x438c2e]
inc al
push 0x1bbfffff
mov dword [0x438c3c], ecx
mov byte [0x438c18], al
call fcn.0040aac5
mov esi, dword [0x432d64]
add byte [0x438c1f], al
pop ecx
mov al, byte [esi]
pop ecx
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.004095b0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0xb
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
mov esi, dword [0x432d28]
mov byte [ebp - 4], 0xf
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.004095b0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0xf
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x11
cmp ecx, ebx
jne 0x40847f
cmp dword [ebp - 0x28], ebx
je 0x40873c
jmp 0x4084c7
lea eax, [ebp - 0x1c]
push eax
call fcn.00408e55
mov ecx, dword [eax]
mov byte [ebp - 4], 0x12
cmp ecx, ebx
je 0x40849b
call fcn.00409796
mov edi, eax
jmp 0x40849d
xor edi, edi
mov eax, dword [ebp - 0x10]
push edi
lea esi, [eax + 0x20]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push edi
mov ecx, 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_char_const___unsigned_int_]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x11
cmp ecx, ebx
je 0x4084c4
call fcn.00409769
push 1
pop edi
mov ecx, dword [ebp - 0x28]
cmp ecx, ebx
je 0x408513
lea eax, [ebp - 0x1c]
push eax
call fcn.00408e55
mov ecx, dword [eax]
mov byte [ebp - 4], 0x13
cmp ecx, ebx
je 0x4084ea
call fcn.00409796
mov edi, eax
jmp 0x4084ec
xor edi, edi
mov esi, dword [ebp - 0x10]
push edi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push edi
mov ecx, 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_char_const___unsigned_int_]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x11
cmp ecx, ebx
je 0x408510
call fcn.00409769
push 1
pop edi
mov esi, dword [0x432d68]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.004095b0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x11
call fcn.0042e8fe
mov ecx, eax
call fcn.00408f33
cmp dword [ebp - 0x20], ebx
mov byte [ebp - 4], 0x15
je 0x4086ed
mov esi, dword [0x432d6c]
mov al, byte [esi]
sub al, 3
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
pop ecx
mov esi, eax
mov al, byte [ebp + 0xb]
pop ecx
push ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x40], 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 - 0x40]
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 [ebp - 0x20], ebx
mov byte [ebp - 4], 0x16
jne 0x4085bc
push 0x80004003
call fcn.0042ee50
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
push eax
call fcn.00408e55
mov ecx, dword [eax]
mov byte [ebp - 4], 0x17
cmp ecx, ebx
je 0x4085db
call fcn.00409796
mov esi, eax
jmp 0x4085dd
xor esi, esi
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x60], 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 - 0x60]
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 ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x19
cmp ecx, ebx
je 0x408612
call fcn.00409769
mov dword [ebp - 0x1c], ebx
mov esi, dword [ebp - 0x5c]
cmp esi, ebx
jne 0x40861f
mov esi, 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 [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push dword [eax]
mov eax, dword [ebp - 0x10]
push ebx
lea ecx, [eax + 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__::erase_unsigned_int__unsigned_int_]
mov al, byte [esi]
cmp al, bl
je 0x4086d1
cmp al, 0xa
je 0x4086d1
cmp al, 0xd
je 0x4086d1
mov byte [ebp - 0x11], al
push edi
lea eax, [ebp - 0x11]
push ebx
push eax
lea ecx, [ebp - 0x40]
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 ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
cmp eax, dword [ecx]
je 0x4086b6
mov eax, dword [ebp - 0x10]
push 0x25
push edi
lea ecx, [eax + 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_unsigned_int__char_]
mov al, byte [esi]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00404c39
pop ecx
pop ecx
mov edx, 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 - 0x10]
add ecx, 0x10
mov byte [ebp - 4], 0x1a
push dword [edx]
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 edi
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x19
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 0x4086cb
mov al, byte [esi]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x18]
lea ecx, [eax + 0x10]
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_unsigned_int__char_]
inc esi
jmp 0x408633
push edi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x16
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 - 0x40]
mov byte [ebp - 4], 0x15
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 - 0x10]
lea eax, [ebp - 0xe0]
push dword [ebp + 8]
push eax
call fcn.00408839
add esp, 0xc
push eax
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0x1b
lea ecx, [eax + 0x38]
call fcn.0040911d
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0xb4], ebx
je 0x40872b
lea ecx, [ebp - 0xe0]
call fcn.004092a6
jmp 0x408716
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0x11
cmp eax, ebx
je 0x40873c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
movsx eax, word [0x438c26]
push eax
push 0x51bfffff
call fcn.0040ab0e
add dword [0x438c58], eax
pop ecx
pop ecx
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x438ae0
mov word [0x438c34], 0xfffe
mov dword [0x438c48], 0xe199fffe
call fcn.004092bd
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0xf
cmp eax, ebx
je 0x408788
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xb
cmp eax, ebx
je 0x408799
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 8
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 - 0x90]
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 - 0x70]
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_]
push edi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
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 - 0xa0]
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 0x5631ffff
push 0xf43ffff
call fcn.0040aa83
add dword [0x438c4c], eax
movsx eax, byte [0x438c18]
push eax
push eax
call fcn.0040aac5
add dword [0x438c38], eax
mov eax, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
add esp, 0x10
cmp eax, ebx
je 0x408822
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0xec]
mov al, 1
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret