Function at 0x44f590
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x47167e
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c6b0c]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov edi, dword [esp + 0x94]
mov ebx, ecx
mov ecx, dword [esp + 0x90]
xor esi, esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x48], esi
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea eax, [esp + 0x30]
push eax
mov ecx, edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x4c], 1
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
mov esi, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebp
lea ecx, [esp + 0x68]
push ecx
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
mov edi, eax
cmp esi, 0xfffffffc
je 0x44f634
test esi, esi
je 0x44f62e
cmp esi, dword [edi]
je 0x44f634
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, dword [edi + 4]
jae 0x44fa84
cmp esi, 0xfffffffc
je 0x44f669
test esi, esi
jne 0x44f64c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x44f657
mov eax, dword [esi + 4]
jmp 0x44f65a
lea eax, [esi + 4]
mov edx, dword [esi + 0x14]
add edx, eax
cmp ebp, edx
jb 0x44f669
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov al, byte [ebp]
mov byte [esp + 0x28], al
cmp al, 0x80
jae 0x44f933
mov eax, dword [esp + 0x1c]
inc eax
mov byte [esp + 0x23], 1
mov ebx, 1
mov ebp, eax
lea esp, [esp]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
cmp esi, 0xfffffffc
je 0x44f6d2
test esi, esi
jne 0x44f6a7
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [esi + 0x18]
lea eax, [esi + 4]
cmp edx, 0x10
jb 0x44f6b6
mov ecx, dword [eax]
jmp 0x44f6b8
mov ecx, eax
mov edi, dword [esi + 0x14]
add edi, ecx
cmp ebp, edi
ja 0x44f6cc
cmp edx, 0x10
jb 0x44f6c8
mov eax, dword [eax]
cmp ebp, eax
jae 0x44f6d2
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x28]
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
mov edi, eax
cmp esi, 0xfffffffc
je 0x44f6f6
test esi, esi
je 0x44f6f0
cmp esi, dword [edi]
je 0x44f6f6
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, dword [edi + 4]
je 0x44f708
inc ebx
inc ebp
cmp ebx, 7
jl 0x44f690
mov al, byte [esp + 0x23]
jmp 0x44f718
push 0x4b55b8
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 4
xor al, al
cmp byte [esp + 0x28], 0x5c
jne 0x44f91f
test al, al
je 0x44f90e
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], edx
cmp esi, 0xfffffffc
je 0x44f774
test esi, esi
jne 0x44f742
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [esi + 0x18]
lea eax, [esi + 4]
cmp edi, 0x10
jb 0x44f751
mov ecx, dword [eax]
jmp 0x44f753
mov ecx, eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esi + 0x14]
add edx, 6
add ebx, ecx
cmp edx, ebx
ja 0x44f76e
cmp edi, 0x10
jb 0x44f76a
mov eax, dword [eax]
cmp edx, eax
jae 0x44f774
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x70]
push eax
lea ebp, [ebx + 6]
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
mov edi, eax
cmp esi, 0xfffffffc
je 0x44f79f
test esi, esi
je 0x44f799
cmp esi, dword [edi]
je 0x44f79f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, dword [edi + 4]
jae 0x44f8fd
mov dword [esp + 0x3c], ebx
cmp esi, 0xfffffffc
je 0x44f818
test esi, esi
jne 0x44f7bb
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [esi + 0x18]
lea eax, [esi + 4]
cmp edx, 0x10
jb 0x44f7ca
mov ecx, dword [eax]
jmp 0x44f7cc
mov ecx, eax
mov edi, dword [esi + 0x14]
add edi, ecx
lea ecx, [ebx + 1]
cmp ecx, edi
ja 0x44f7e3
cmp edx, 0x10
jb 0x44f7df
mov eax, dword [eax]
cmp ecx, eax
jae 0x44f7e9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp esi, 0xfffffffc
je 0x44f818
test esi, esi
jne 0x44f7f8
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x44f803
mov eax, dword [esi + 4]
jmp 0x44f806
lea eax, [esi + 4]
mov ecx, dword [esi + 0x14]
add ecx, eax
lea eax, [ebx + 1]
cmp eax, ecx
jb 0x44f818
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp byte [ebx + 1], 0x55
jne 0x44f8fd
push 2
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ebx
call fcn.00401810
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
cmp edi, 0xfffffffc
je 0x44f869
test edi, edi
jne 0x44f84c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [edi + 0x18], 0x10
jb 0x44f857
mov eax, dword [edi + 4]
jmp 0x44f85a
lea eax, [edi + 4]
mov edx, dword [edi + 0x14]
add edx, eax
cmp ebp, edx
jb 0x44f869
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp byte [ebp], 0x2b
jne 0x44f8fd
push 7
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], ebx
call fcn.00401810
sub esp, 0x1c
mov edi, esp
mov dword [esp + 0x54], esp
push 0
push 0
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_protected:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool__unsigned_int_]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
push eax
push ecx
push edx
push ebx
push esi
mov ecx, edi
call fcn.0044f450
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x68]
push eax
call fcn.0044edb0
mov ecx, dword [esp + 0x14]
push eax
mov dword [esp + 0x8c], 1
call dword [sym.imp.MSVCP90.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__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x88], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 6
lea ecx, [esp + 0x1c]
call fcn.00401810
mov esi, dword [esp + 0x18]
jmp 0x44fa22
mov ecx, dword [esp + 0x14]
push 0x5c
call dword [sym.imp.MSVCP90.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__::operator_char_]
jmp 0x44fa26
mov ecx, dword [esp + 0x14]
push 0x5c
call dword [sym.imp.MSVCP90.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__::operator_char_]
jmp 0x44fa22
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x18]
call dword [sym.imp.MSVCP90.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__::operator_char_]
jmp 0x44fa22
jne 0x44f956
push 0x20ac
lea edx, [esp + 0x50]
push edx
mov ecx, ebx
call fcn.0044e960
mov dword [esp + 0x88], 2
jmp 0x44fa05
cmp esi, 0xfffffffc
je 0x44f982
test esi, esi
jne 0x44f965
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x44f970
mov eax, dword [esi + 4]
jmp 0x44f973
lea eax, [esi + 4]
mov ecx, dword [esi + 0x14]
add ecx, eax
cmp ebp, ecx
jb 0x44f982
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
inc ebp
mov dword [esp + 0x1c], ebp
cmp esi, 0xfffffffc
je 0x44f9b3
test esi, esi
jne 0x44f996
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x44f9a1
mov eax, dword [esi + 4]
jmp 0x44f9a4
lea eax, [esi + 4]
mov edx, dword [esi + 0x14]
add edx, eax
cmp ebp, edx
jb 0x44f9b3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
movzx eax, byte [esp + 0x28]
movzx edx, byte [ebp]
mov edi, dword [ebx + 0xc]
mov ecx, eax
shl ecx, 8
or ecx, edx
mov edx, dword [edi + eax*4 - 0x204]
mov eax, dword [edi + eax*4 - 0x200]
cmp edx, eax
jge 0x44f9ec
mov ebp, dword [ebx + 0x10]
lea edi, [ebp + edx*8]
nop
cmp dword [edi], ecx
je 0x44fa40
inc edx
add edi, 8
cmp edx, eax
jl 0x44f9e0
push 0x3f
lea edx, [esp + 0x50]
push edx
mov ecx, ebx
call fcn.0044e960
mov dword [esp + 0x88], 4
mov ecx, dword [esp + 0x14]
push eax
call dword [sym.imp.MSVCP90.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__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x88], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ebx, dword [esp + 0x1c]
cmp esi, 0xfffffffc
je 0x44fa70
test esi, esi
jne 0x44fa35
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x44fa5e
mov eax, dword [esi + 4]
jmp 0x44fa61
mov eax, dword [ebp + edx*8 + 4]
push eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, ebx
call fcn.0044e960
mov dword [esp + 0x88], 3
jmp 0x44fa05
lea eax, [esi + 4]
mov ecx, dword [esi + 0x14]
add ecx, eax
cmp ebx, ecx
jb 0x44fa70
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [esp + 0x24]
inc ebx
mov dword [esp + 0x1c], ebx
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
jmp 0x44f612
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret 8