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

Disassembly:
push 0xffffffffffffffff
push 0x41175b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push esi
mov esi, dword [esp + 0x78]
lea eax, [esp + 0xa]
push eax
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x1c]
xor ebx, ebx
push edx
mov ecx, esi
mov word [esp + 0x14], 0x61
mov word [esp + 0x16], bx
call fcn.00401f20
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x78], ebx
call dword [sym.imp.MSVCP71.dll_bool___cdecl_std::operator_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__]
add esp, 8
test al, al
je 0x403739
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0x14]
mov word [edx], bx
mov dword [esp + 0x70], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
add esp, 0x6c
ret
push ebp
push edi
lea eax, [esp + 0x16]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x40]
push edx
mov ecx, esi
mov word [esp + 0x20], 0x41
mov word [esp + 0x22], bx
call fcn.00401f20
lea eax, [esp + 0x1a]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x5c]
push edx
mov ecx, esi
mov byte [esp + 0x84], 1
mov word [esp + 0x24], 0x3b
mov word [esp + 0x26], bx
call fcn.00401f20
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
xor esi, esi
cmp ebp, ebx
jl 0x4037cf
mov edx, dword [esp + 0x3c]
lea esp, [esp]
cmp esi, dword [esp + 0x4c]
jg 0x4037cf
cmp edi, 8
mov ecx, dword [esp + 0x20]
jae 0x4037b3
lea ecx, [esp + 0x20]
cmp dword [esp + 0x50], 8
mov eax, edx
jae 0x4037c0
lea eax, [esp + 0x3c]
mov cx, word [ecx + esi*2]
cmp cx, word [eax + esi*2]
jne 0x4037cf
inc esi
cmp esi, ebp
jle 0x4037a0
dec esi
jns 0x4037e1
mov edx, dword [esp + 0x84]
mov word [edx], bx
jmp 0x4038f6
cmp edi, 8
mov eax, dword [esp + 0x20]
jae 0x4037ee
lea eax, [esp + 0x20]
xor edi, edi
cmp esi, ebx
mov di, word [eax + esi*2]
je 0x40388e
lea eax, [esp + 0x38]
push edi
push eax
call fcn.00402980
lea ecx, [esp + 0x24]
push edi
push ecx
mov ebx, eax
call fcn.00402980
add esp, 0x10
cmp eax, ebx
jne 0x40388c
lea edx, [esp + 0x54]
push edi
push edx
call fcn.00402980
mov ebx, eax
lea eax, [esp + 0x24]
push edi
push eax
call fcn.00402980
add esp, 0x10
cmp eax, ebx
jne 0x40388c
mov ecx, dword [esp + 0x84]
mov word [ecx], di
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x78], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
pop edi
pop ebp
pop esi
mov eax, 2
pop ebx
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
add esp, 0x6c
ret
xor ebx, ebx
cmp ebp, dword [esp + 0x4c]
jne 0x4038ec
cmp ebp, dword [esp + 0x68]
jne 0x4038ec
mov edx, dword [esp + 0x84]
inc esi
lea ecx, [esp + 0x54]
mov word [edx], si
mov byte [esp + 0x78], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x78], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
add esp, 0x6c
ret
mov eax, dword [esp + 0x84]
mov word [eax], bx
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x78], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov ecx, dword [esp + 0x70]
pop edi
pop ebp
pop esi
mov eax, 3
pop ebx
mov dword fs:[0], ecx
add esp, 0x6c
ret