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

Disassembly:
push 0xffffffffffffffff
push 0x47232b
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x490018]
xor eax, esp
mov dword [esp + 0x98], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x490018]
xor eax, esp
push eax
lea eax, [esp + 0xb4]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xc4]
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0xbc], 1
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], 0x245b90f2
mov dword [esp + 0x38], eax
lea esi, [eax + 4]
cmp dword [ebp + 0x20], eax
je 0x41fea5
mov eax, 1
mov ecx, eax
push eax
mov word [esp + 0x18], ax
mov word [esp + 0x1a], cx
call sub.mfc90u.dll_new
add esp, 4
lea ecx, [esp + 0x14]
lea edi, [esp + 0x28]
mov dword [esp + 0x18], eax
mov byte [eax], 1
call fcn.00420600
lea ebx, [esi - 3]
lea esi, [ebx + 8]
cmp dword [ebp + 0x24], 0
je 0x41fee0
mov eax, 1
mov edx, 2
push eax
mov word [esp + 0x18], dx
mov word [esp + 0x1a], ax
call sub.mfc90u.dll_new
add esp, 4
lea ecx, [esp + 0x14]
lea edi, [esp + 0x28]
mov dword [esp + 0x18], eax
mov byte [eax], 1
call fcn.00420600
inc ebx
add esi, 5
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [esp + 0x94]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0xbc], 3
cmp dword [esp + 0xa4], 0
je 0x41ff94
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0xbc], 4
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x94]
push edx
call fcn.0042d380
mov eax, 3
mov word [esp + 0x14], ax
mov eax, dword [esp + 0x50]
push eax
mov word [esp + 0x1a], ax
call sub.mfc90u.dll_new__
mov edx, dword [esp + 0x44]
add esp, 4
cmp dword [esp + 0x54], 0x10
mov dword [esp + 0x18], eax
jae 0x41ff5a
lea edx, [esp + 0x40]
mov ecx, dword [esp + 0x50]
push ecx
push edx
push ecx
push eax
call dword [sym.imp.MSVCR90.dll_memcpy_s]
add esp, 0x10
lea ecx, [esp + 0x14]
lea edi, [esp + 0x28]
call fcn.00420600
movzx ecx, word [esp + 0x16]
inc ebx
lea esi, [esi + ecx + 4]
mov byte [esp + 0xbc], 3
lea ecx, [esp + 0x3c]
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 eax, dword [ebp + 0x18]
push eax
lea ecx, [esp + 0x5c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0xbc], 6
cmp dword [esp + 0x6c], 0
je 0x42003f
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0xbc], 7
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x5c]
push eax
call fcn.0042d380
mov eax, dword [esp + 0x50]
mov ecx, 4
push eax
mov word [esp + 0x18], cx
mov word [esp + 0x1a], ax
call sub.mfc90u.dll_new__
mov edx, dword [esp + 0x44]
add esp, 4
cmp dword [esp + 0x54], 0x10
mov dword [esp + 0x18], eax
jae 0x420005
lea edx, [esp + 0x40]
mov ecx, dword [esp + 0x50]
push ecx
push edx
push ecx
push eax
call dword [sym.imp.MSVCR90.dll_memcpy_s]
add esp, 0x10
lea ecx, [esp + 0x14]
lea edi, [esp + 0x28]
call fcn.00420600
movzx edx, word [esp + 0x16]
inc ebx
lea esi, [esi + edx + 4]
mov byte [esp + 0xbc], 6
lea ecx, [esp + 0x3c]
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 eax, dword [ebp + 0x1c]
push eax
lea ecx, [esp + 0x78]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0xbc], 9
cmp dword [esp + 0x88], 0
je 0x4200ed
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0xbc], 0xa
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.0042d380
mov eax, dword [esp + 0x50]
mov edx, 5
push eax
mov word [esp + 0x18], dx
mov word [esp + 0x1a], ax
call sub.mfc90u.dll_new__
mov edx, dword [esp + 0x44]
add esp, 4
cmp dword [esp + 0x54], 0x10
mov dword [esp + 0x18], eax
jae 0x4200b3
lea edx, [esp + 0x40]
mov ecx, dword [esp + 0x50]
push ecx
push edx
push ecx
push eax
call dword [sym.imp.MSVCR90.dll_memcpy_s]
add esp, 0x10
lea ecx, [esp + 0x14]
lea edi, [esp + 0x28]
call fcn.00420600
movzx eax, word [esp + 0x16]
inc ebx
lea esi, [esi + eax + 4]
mov byte [esp + 0xbc], 9
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 2
xor ecx, ecx
mov word [esp + 0x24], bx
mov dword [esp + 0x20], esi
cmp cx, bx
je 0x420312
mov edx, dword [ebp + 0x38]
mov edx, dword [edx + 0x1c]
lea esi, [ebp + 0x38]
push 4
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call edx
mov edi, dword [ebp + 0x84]
mov ecx, edi
not ecx
test cl, 1
je 0x42017c
mov byte [esp + 0xbc], 6
lea edx, [esp + 0x74]
push edx
call fcn.00406530
mov byte [esp + 0xbc], 3
lea eax, [esp + 0x58]
push eax
call fcn.00406530
mov byte [esp + 0xbc], 1
lea ecx, [esp + 0x90]
push ecx
call fcn.00406530
mov dword [esp + 0xbc], 0xffffffff
lea edx, [esp + 0x1c]
push edx
call fcn.00420590
mov eax, edi
jmp 0x4203a2
cmp eax, 4
je 0x4201d9
mov byte [esp + 0xbc], 6
lea eax, [esp + 0x74]
push eax
call fcn.00406530
mov byte [esp + 0xbc], 3
lea ecx, [esp + 0x58]
push ecx
call fcn.00406530
mov byte [esp + 0xbc], 1
lea edx, [esp + 0x90]
push edx
call fcn.00406530
mov dword [esp + 0xbc], 0xffffffff
lea eax, [esp + 0x1c]
push eax
call fcn.00420590
mov eax, 0x1000900
jmp 0x4203a2
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call edx
mov edi, dword [ebp + 0x84]
mov ecx, edi
not ecx
test cl, 1
jne 0x420127
cmp eax, 4
jne 0x420181
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
push 2
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call edx
mov edi, dword [ebp + 0x84]
mov ecx, edi
not ecx
test cl, 1
jne 0x420127
cmp eax, 2
jne 0x420181
xor ecx, ecx
xor ebx, ebx
cmp cx, word [esp + 0x24]
jae 0x4202e6
mov eax, dword [esp + 0x2c]
mov edx, dword [esi]
movzx edi, bx
add edi, edi
add edi, edi
add edi, edi
add eax, edi
push 2
push eax
mov eax, dword [edx + 0x1c]
mov ecx, esi
call eax
mov ecx, dword [ebp + 0x84]
not ecx
test cl, 1
jne 0x4203cc
cmp eax, 2
jne 0x420427
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
push eax
mov eax, dword [esp + 0x30]
lea ecx, [eax + edi + 2]
push ecx
mov ecx, esi
call edx
mov ecx, dword [ebp + 0x84]
not ecx
test cl, 1
jne 0x42047f
cmp eax, 2
jne 0x420181
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + edi + 2]
mov eax, dword [eax + edi + 4]
mov edx, dword [esi]
push ecx
push eax
mov eax, dword [edx + 0x1c]
mov ecx, esi
call eax
mov edx, dword [ebp + 0x84]
not edx
mov ecx, eax
test dl, 1
jne 0x4204da
mov eax, dword [esp + 0x2c]
movzx edx, word [eax + edi + 2]
cmp edx, ecx
jne 0x420535
inc ebx
cmp bx, word [esp + 0x24]
jb 0x420240
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push 4
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call edx
mov ebp, dword [ebp + 0x84]
mov ecx, ebp
not ecx
test cl, 1
jne 0x420485
cmp eax, 4
jne 0x420181
xor ecx, ecx
xor edi, edi
xor esi, esi
cmp cx, word [esp + 0x24]
jae 0x42033c
nop
mov eax, dword [esp + 0x2c]
movzx edx, si
mov eax, dword [eax + edx*8 + 4]
push eax
call sub.mfc90u.dll_delete
inc esi
add esp, 4
cmp si, word [esp + 0x24]
jb 0x420320
mov byte [esp + 0xbc], 6
lea ecx, [esp + 0x74]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [esp + 0xbc], 3
lea ecx, [esp + 0x58]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [esp + 0xbc], 1
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov dword [esp + 0xbc], 0xffffffff
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x420391
push eax
call sub.mfc90u.dll_delete
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov eax, 1
mov ecx, dword [esp + 0xb4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.00428cb4
add esp, 0xac
ret 4
mov ebp, dword [ebp + 0x84]
mov byte [esp + 0xbc], 6
lea eax, [esp + 0x74]
push eax
call fcn.00406530
mov byte [esp + 0xbc], 3
lea ecx, [esp + 0x58]
push ecx
call fcn.00406530
mov byte [esp + 0xbc], 1
lea edx, [esp + 0x90]
push edx
call fcn.00406530
mov dword [esp + 0xbc], 0xffffffff
lea eax, [esp + 0x1c]
push eax
call fcn.00420590
mov eax, ebp
jmp 0x4203a2
mov byte [esp + 0xbc], 6
lea ecx, [esp + 0x74]
push ecx
call fcn.00406530
mov byte [esp + 0xbc], 3
lea edx, [esp + 0x58]
push edx
call fcn.00406530
mov byte [esp + 0xbc], 1
lea eax, [esp + 0x90]
push eax
call fcn.00406530
mov dword [esp + 0xbc], 0xffffffff
lea ecx, [esp + 0x1c]
push ecx
call fcn.00420590
mov eax, 0x1000900
jmp 0x4203a2
mov ebp, dword [ebp + 0x84]
mov byte [esp + 0xbc], 6
lea edx, [esp + 0x74]
push edx
call fcn.00406530
mov byte [esp + 0xbc], 3
lea eax, [esp + 0x58]
push eax
call fcn.00406530
mov byte [esp + 0xbc], 1
lea ecx, [esp + 0x90]
push ecx
call fcn.00406530
mov dword [esp + 0xbc], 0xffffffff
lea edx, [esp + 0x1c]
push edx
call fcn.00420590
mov eax, ebp
jmp 0x4203a2
mov ebp, dword [ebp + 0x84]
mov byte [esp + 0xbc], 6
lea ecx, [esp + 0x74]
push ecx
call fcn.00406530
mov byte [esp + 0xbc], 3
lea edx, [esp + 0x58]
push edx
call fcn.00406530
mov byte [esp + 0xbc], 1
lea eax, [esp + 0x90]
push eax
call fcn.00406530
mov dword [esp + 0xbc], 0xffffffff
lea ecx, [esp + 0x1c]
push ecx
call fcn.00420590
mov eax, ebp
jmp 0x4203a2
mov byte [esp + 0xbc], 6
lea edx, [esp + 0x74]
push edx
call fcn.00406530
mov byte [esp + 0xbc], 3
lea eax, [esp + 0x58]
push eax
call fcn.00406530
mov byte [esp + 0xbc], 1
lea ecx, [esp + 0x90]
push ecx
call fcn.00406530
mov dword [esp + 0xbc], 0xffffffff
lea edx, [esp + 0x1c]
push edx
call fcn.00420590
mov eax, 0x1000900
jmp 0x4203a2