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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb0]
mov ebp, edx
mov dword [esp + 0x54], ecx
push 0x2f
pop edi
mov ecx, edx
mov edx, edi
call fcn.00496b97
mov ecx, ebp
mov edx, edi
call fcn.00496b97
lea ecx, [esp + 0x14]
mov eax, dword [ebp + 8]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], ebx
mov dword [esp + 8], ebx
mov edi, dword [ebp + 0x18]
mov dword [esp], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 4], 0
mov dword [ecx], esi
mov dword [ecx + 4], ebx
mov ebx, dword [ebp + 0x1c]
xor esi, esi
mov dword [esp + 0x4c], eax
call fcn.00496ef8
cmp eax, 0x40
je 0x498e4f
cmp eax, 0x5c
je 0x498e43
cmp eax, 0x23
je 0x498e85
cmp eax, 0x2f
je 0x498e85
cmp eax, 0x110000
je 0x498e85
cmp eax, 0x3f
jne 0x498e7e
jmp 0x498e85
cmp byte [esp + 0xb8], 2
je 0x498e7e
jmp 0x498e85
test edi, edi
je 0x498e6c
xor eax, eax
cmp dword [esp + 4], 0
setne al
lea eax, [eax*8 + 2]
push eax
push edi
call dword [ebx + 0x14]
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, esi
mov dword [esp + 4], eax
mov dword [esp + 0x10], ecx
inc esi
lea ecx, [esp + 0x14]
jmp 0x498e1c
cmp dword [esp + 4], 0
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0xc]
je 0x499023
test ebp, ebp
je 0x498fc4
lea edi, [esp + 0x78]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp], 0
test ebp, ebp
jle 0x498f9b
mov ecx, edi
lea edx, [esp + 0x34]
mov esi, edi
call fcn.0049aa20
mov eax, dword [esp + 0x78]
cmp eax, 0x110000
je 0x4997d6
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
cmp eax, 0x3a
jne 0x498ef6
cmp dword [esp + 0x2c], 0
je 0x498f5f
mov dword [esp + 0x50], ecx
mov ecx, dword [esp]
cmp byte [esp + 0x30], 0
mov dword [esp + 8], ebp
mov ebp, ebx
mov ebx, dword [esp + 0xc]
mov edx, 1
movzx ecx, cl
cmove ecx, edx
mov edx, dword [ebx + 0x1c]
mov dword [esp], ecx
mov ecx, dword [ebx + 0x18]
push dword [esp + 0x38]
push dword [esp + 0x38]
push eax
call fcn.0049aaa6
add esp, 0xc
mov eax, dword [esp + 0x50]
mov ecx, ebx
mov ebx, ebp
mov ebp, dword [esp + 8]
mov edx, esi
mov dword [esp + 0x78], edi
mov edi, esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0x5078d4
call fcn.00433e2e
dec ebp
jmp 0x498ebb
mov eax, dword [esp + 0xc]
mov ecx, ebp
dec ebp
mov edi, esi
cmp ecx, 1
mov ebx, dword [eax + 8]
mov eax, 1
mov dword [esp + 0x2c], eax
jbe 0x498ebb
mov ecx, dword [esp + 0xc]
push 0x3a
pop edx
call fcn.00496b97
mov al, 1
mov dword [esp + 0x30], eax
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
jmp 0x498ebb
cmp dword [esp + 0x2c], 0
mov edi, dword [esp + 0xc]
jne 0x498fa9
mov ebx, dword [edi + 8]
mov eax, dword [esp]
and al, 1
or al, byte [esp + 0x30]
je 0x498fbe
push 0x40
pop edx
mov ecx, edi
call fcn.00496b97
mov edx, dword [esp + 4]
jmp 0x49902e
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x78]
mov ecx, edi
mov edx, esi
push ebx
call fcn.0049ac3b
pop eax
mov eax, dword [edi]
lea ecx, [eax - 0x23]
cmp ecx, 0x1c
ja 0x498ffe
mov edx, 0x10001001
bt edx, ecx
jae 0x498ffe
mov dword [esp + 8], ebx
xor ebx, ebx
mov dword [esp], 0
jmp 0x49901f
cmp eax, 0x110000
je 0x499014
cmp byte [esp + 0xb8], 2
je 0x499014
cmp eax, 0x5c
je 0x498fef
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp], esi
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov edx, dword [esp]
mov dword [esp + 0x10], eax
test edx, edx
je 0x49915f
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x58], edx
mov dword [esp + 0x30], eax
mov al, byte [esp + 0xb8]
mov dword [esp + 0x5c], esi
test al, al
movzx eax, al
mov dword [esp + 0x50], eax
je 0x49916b
lea edi, [esp + 0x14]
xor ebp, ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 4], edx
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [edi], edx
mov dword [edi + 4], esi
sub esi, edx
mov dword [esp + 0x10], esi
xor esi, esi
xor ebx, ebx
inc esi
mov ecx, edi
call fcn.00496f15
lea ecx, [eax - 9]
cmp ecx, 2
jb 0x4990de
cmp eax, 0xd
je 0x4990de
cmp eax, 0x3a
je 0x4990f1
cmp eax, 0x5b
je 0x4990fb
cmp eax, 0x5c
je 0x4990e5
cmp eax, 0x5d
je 0x499104
cmp eax, 0x23
je 0x499123
cmp eax, 0x2f
je 0x499123
cmp eax, 0x110000
je 0x499123
cmp eax, 0x3f
je 0x499123
inc ebx
cmp eax, 0x80
jb 0x49910d
cmp eax, 0x800
jae 0x499116
push 2
pop eax
jmp 0x49910f
mov al, 1
mov dword [esp], eax
jmp 0x49910d
cmp byte [esp + 0xb8], 2
je 0x4990f8
jmp 0x499123
test byte [esp + 8], 1
je 0x499123
inc ebx
jmp 0x49910d
mov al, 1
inc ebx
mov dword [esp + 8], eax
jmp 0x49910d
inc ebx
mov dword [esp + 8], 0
mov eax, esi
add ebp, eax
jmp 0x49908c
cmp eax, 0x10000
push 4
pop eax
sbb eax, 0
jmp 0x49910f
test byte [esp], 1
jne 0x49918f
lea edi, [esp + 0x14]
lea eax, [esp + 0x58]
mov dword [edi], eax
mov dword [edi + 4], ebx
mov ecx, edi
call fcn.0049b30c
cmp eax, 0x110000
jne 0x499136
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
push 0x50791c
push ebp
call fcn.0049a251
pop ecx
pop ecx
mov ebp, eax
mov edi, edx
jmp 0x4991a6
mov eax, dword [esp + 0x54]
mov byte [eax + 4], bl
jmp 0x499720
lea edi, [esp + 0x14]
mov ecx, edi
push esi
call fcn.0049b165
pop eax
mov ebp, dword [edi]
cmp ebp, 0x80000000
jne 0x49924a
mov dl, byte [esp + 0x18]
jmp 0x499715
lea edi, [esp + 0x64]
lea edx, [esp + 0x58]
mov ecx, edi
push ebx
call fcn.00496f43
pop eax
mov ebp, dword [edi + 4]
mov edi, dword [edi + 8]
cmp byte [esp + 0xb8], 1
mov dword [esp + 8], ebp
je 0x499221
cmp dword [esp + 0x50], 2
jne 0x499229
mov ecx, ebp
mov edx, edi
push 0x5b
call fcn.0042c9c2
pop ecx
test al, al
je 0x4992e8
mov ecx, ebp
mov edx, edi
push 0x5d
call fcn.0042ca5a
pop ecx
mov cl, 3
test al, al
je 0x499466
mov eax, edi
mov ecx, ebp
mov edx, edi
dec eax
push 0x50772c
push eax
push 1
call fcn.00430c38
add esp, 0xc
mov edi, edx
lea ebx, [esp + 0x14]
mov edx, eax
mov ecx, ebx
push edi
call fcn.004976f3
pop eax
cmp byte [ebx], 0
je 0x499789
mov dl, byte [esp + 0x15]
mov cl, 3
jmp 0x499468
test edi, edi
je 0x499420
lea ebx, [esp + 0x14]
mov edx, ebp
mov ecx, ebx
push edi
call fcn.00496ff3
pop eax
mov cl, byte [ebx]
cmp cl, 3
jne 0x499289
mov dl, byte [esp + 0x15]
mov cl, 3
jmp 0x499468
lea edi, [esp + 0x14]
mov ecx, dword [edi + 0x14]
mov esi, dword [edi + 4]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x48], ecx
mov ecx, edi
mov dword [esp + 8], eax
mov edx, esi
push dword [edi + 8]
call fcn.00496ff3
pop eax
mov cl, byte [edi]
cmp cl, 3
jne 0x4993ac
mov bl, byte [esp + 0x15]
mov ecx, ebp
mov edx, esi
call fcn.0049bc49
jmp 0x499713
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
test byte [esp], 1
mov dl, byte [esp + 0x15]
movzx ebx, word [esp + 0x16]
mov edi, dword [esp + 0x1c]
mov dword [esp + 4], ebp
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
je 0x49949a
mov dword [esp + 0x48], edi
mov dword [esp], ecx
mov edi, ebx
mov ebx, edx
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 8]
call fcn.0049bc49
mov edx, ebx
mov ebx, edi
mov ecx, dword [esp]
mov edi, dword [esp + 0x48]
jmp 0x49949a
mov eax, ebp
lea ebx, [esp + 0x1c]
mov esi, 0x4800013
add eax, edi
mov dword [ebx - 8], ebp
mov dword [ebx - 4], edi
mov dword [ebx], ebp
mov ebp, 0x3a801
mov dword [ebx + 4], eax
and dword [ebx + 8], 0
mov ecx, ebx
call fcn.00496c72
lea eax, [edx - 0x2f]
cmp eax, 0x11
ja 0x499321
bt ebp, eax
jb 0x4993a3
lea eax, [edx - 9]
cmp eax, 0x1a
ja 0x49932e
bt esi, eax
jb 0x4993a3
lea eax, [edx - 0x5b]
cmp eax, 4
jb 0x4993a3
test edx, edx
je 0x4993a3
cmp edx, 0x7c
je 0x4993a3
cmp edx, 0x110000
jne 0x499309
lea esi, [esp + 0x34]
mov eax, dword [esp + 8]
lea ebx, [esp + 0x14]
and dword [esi], 0
mov dword [esi + 4], 1
and dword [esi + 8], 0
mov dword [ebx], eax
mov dword [ebx + 4], edi
mov dword [ebx + 8], 0x50771c
mov ecx, ebx
call fcn.00433e7f
test eax, eax
je 0x4997b3
push edx
push eax
push esi
call fcn.0040229e
add esp, 0xc
test al, al
je 0x49936d
push 0x37
pop edx
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_aedd173a2c086e558c2b66d3743b344f977621a7library_alloc_src_string.rs
push 0x507450
push 0x507460
push ebx
call fcn.004a05e0
mov cl, 3
mov dl, 5
jmp 0x499468
mov dl, byte [esp + 0x15]
movsd xmm0, qword [esp + 0x16]
movsd xmm1, qword [esp + 0x1e]
movzx eax, word [esp + 0x26]
test cl, cl
mov dword [esp + 0x70], esi
mov dword [esp + 0x2c], ebx
movsd qword [esp + 0x36], xmm0
movsd qword [esp + 0x3e], xmm1
mov word [esp + 0x46], ax
mov byte [esp + 0x34], cl
mov dword [esp + 0x74], edx
mov byte [esp + 0x35], dl
jne 0x499426
mov edi, ecx
lea ecx, [esp + 0x38]
call fcn.0049b2f5
mov ecx, edi
test al, al
je 0x499426
lea ecx, [esp + 0x34]
call fcn.00496fdf
xor edi, edi
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 0x10], 0
inc edi
jmp 0x49944a
mov cl, 3
xor edx, edx
jmp 0x499468
mov dword [esp], ecx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
movzx ebx, word [esp + 0x36]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 4], edx
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x70]
mov ecx, ebp
call fcn.0049bc49
mov esi, dword [esp + 8]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp]
mov edx, dword [esp + 0x74]
jmp 0x49949a
mov dl, 4
test byte [esp], 1
je 0x499491
mov dword [esp + 0x48], edi
mov dword [esp], ecx
mov edi, ebx
mov ebx, edx
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 8]
call fcn.0049bc49
mov edx, ebx
mov ebx, edi
mov ecx, dword [esp]
mov edi, dword [esp + 0x48]
cmp cl, 3
je 0x499715
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 0x507740
mov word [eax + 2], bx
mov ebx, dword [esp + 0x10]
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov edi, dword [esp + 4]
mov dword [eax + 0xc], edi
mov edi, dword [esp + 0x60]
mov dword [eax + 0x10], edi
mov byte [eax], cl
mov byte [eax + 1], dl
lea edx, [esp + 0x64]
lea edi, [esp + 0x14]
mov dword [edx], eax
xor eax, eax
mov dword [edx + 4], 0x496960
inc eax
mov dword [esp + 0x18], eax
and dword [esp + 0x24], 0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
push edi
mov ebx, dword [esp + 0x10]
push ebx
call fcn.00496b73
pop ecx
pop edx
test al, al
jne 0x4997e0
mov edi, dword [ebx + 8]
cmp byte [esp + 0x34], 0
mov ecx, esi
mov edx, ebp
jne 0x499540
cmp dword [esp + 0x40], 0
jne 0x499540
push 1
push 0x50773e
call fcn.004983d7
pop ecx
pop edx
xor ebx, ebx
cmp byte [esp + 0xb8], 2
jne 0x49970a
test al, al
mov ecx, esi
mov edx, ebp
jne 0x49970a
push 0x3a
call fcn.00499807
pop ecx
test eax, eax
mov dword [esp], 0
mov dword [esp + 8], edi
je 0x499611
mov ecx, dword [esp + 0xc]
mov esi, edx
mov edx, eax
lea edi, [esp + 0x14]
xor ebx, ebx
mov eax, esi
mov cl, byte [ecx + 0x20]
mov byte [esp + 4], cl
mov esi, edx
mov ebp, eax
mov ecx, edi
push eax
call fcn.0049ac3b
pop eax
mov eax, dword [esp + 0x14]
cmp eax, 0x110000
je 0x4995d5
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jae 0x4995b3
imul eax, dword [esp], 0xa
add ecx, eax
cmp ecx, 0xffff
ja 0x499708
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov bl, 1
mov dword [esp], ecx
jmp 0x499572
cmp byte [esp + 4], 0
jne 0x4995d5
lea ecx, [eax - 0x23]
cmp ecx, 0x1c
ja 0x4995cc
mov edx, 0x10001001
bt edx, ecx
jb 0x4995d5
cmp eax, 0x5c
jne 0x499708
test bl, 1
je 0x499611
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
push 0x50790c
push dword [esp + 0xc0]
call fcn.0049a251
pop ecx
pop ecx
mov ecx, eax
call fcn.00497b8c
test ax, ax
je 0x49973b
cmp dx, word [esp]
jne 0x49973b
xor ebx, ebx
mov eax, dword [esp + 0x44]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x3c]
lea edi, [esp + 0x80]
lea edx, [esp + 0x14]
mov ecx, edi
mov dword [edx + 0x10], eax
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
call fcn.00496fa1
mov eax, dword [esp + 0x30]
movsd xmm0, qword [edi + 1]
movsd xmm1, qword [edi + 9]
cmp dword [esp + 0x4c], eax
mov al, byte [edi]
movsd qword [esp + 0x34], xmm0
movsd qword [esp + 0x3c], xmm1
je 0x499674
test al, al
jne 0x499674
mov eax, dword [esp + 0x54]
mov byte [eax + 4], 0
jmp 0x49971c
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc]
mov byte [esp + 0x4c], al
mov edx, dword [esp + 0x50]
mov eax, dword [ebx + 8]
mov ecx, ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov byte [eax], 1
push ebp
push esi
push eax
call fcn.0049b080
add esp, 0xc
mov ebp, eax
mov eax, edx
push 9
pop ecx
lea edx, [esp + 0x78]
mov esi, ebx
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov cl, byte [esp + 0x4c]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x3c]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x54]
movsd qword [esp + 0x15], xmm0
movsd qword [esp + 0x1d], xmm1
push eax
push ebp
push dword [esp + 0x18]
push dword [esp + 0xc]
push dword [esp + 0x14]
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x20]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0xe0]
push dword [esp + 0x78]
call fcn.00499e13
add esp, 0x2c
jmp 0x499730
mov bl, 2
lea ecx, [esp + 0x34]
call fcn.00496fdf
mov edx, ebx
mov eax, dword [esp + 0x54]
mov byte [eax + 4], dl
mov edi, dword [esp + 0xc]
mov dword [eax], 2
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.0049bc49
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp]
lea eax, [esp + 0x58]
mov dword [esp + 0x14], 0x5078f4
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], fcn.00410210
mov word [eax], cx
xor ecx, ecx
lea eax, [esp + 0x64]
inc ecx
mov dword [esp + 0x18], ecx
and dword [esp + 0x24], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
push edi
push dword [esp + 0x10]
call fcn.00496b73
pop ecx
pop edx
test al, al
jne 0x4997f8
xor ebx, ebx
inc ebx
jmp 0x499613
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
movzx ecx, byte [esp + 0x24]
mov dl, byte [esp + 0x15]
movzx ebx, word [esp + 0x16]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 4], esi
mov cl, 2
jmp 0x4997c9
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
xor ecx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
jmp 0x499468
mov ecx, 0x5078c4
call fcn.004a0660
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x5078e4
push 0x507460
push edi
call fcn.004a05e0
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x5078fc
jmp 0x4997ed