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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x80]
push 2
push 0x52b1d9
push ebx
push dword [ebp + 0xc]
push eax
call fcn.00432f80
add esp, 0x14
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x80], 0
mov edi, dword [esp + 0xb0]
je 0x4162f2
mov esi, dword [esp + 0x9c]
mov ecx, ebx
cmp esi, eax
je 0x416412
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x6c], ecx
mov ecx, ebx
sub ecx, dword [esp + 0x6c]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x10]
dec ecx
cmp ecx, ebx
mov dword [esp + 0xc0], ecx
setb byte [esp + 0x27]
sub ecx, esi
mov dword [esp + 0x74], ecx
lea ecx, [ebx - 1]
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x28], ebx
lea ebx, [edi + esi]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x10]
lea ebx, [esi + ebx - 1]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0x10]
lea ebx, [ebx + esi - 1]
mov dword [esp + 0x70], ebx
mov ebx, esi
lea esi, [ebx + ecx]
cmp esi, eax
mov dword [esp + 0x7c], esi
jae 0x4163f3
mov esi, dword [esp + 0xc]
mov dword [esp + 4], ebx
test esi, esi
lea esi, [ebx + esi]
mov dword [esp + 0x3c], esi
lea esi, [esi + ecx]
setne byte [esp + 0x1f]
cmp esi, eax
mov ecx, esi
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x6c]
setae byte [esp + 0x38]
cmp edx, 0xffffffff
lea ecx, [ebx + esi]
mov dword [esp + 0x78], ecx
je 0x416100
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x38]
mov edi, ebx
neg ecx
or byte [esp + 0x1f], al
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x7c]
cmp ebx, edi
jne 0x4163f3
mov esi, dword [esp + 0x20]
mov eax, 1
mov edi, 1
movzx ecx, byte [esi + ecx]
xor esi, esi
shld esi, eax, cl
shl edi, cl
test cl, 0x20
mov eax, 0
cmovne esi, edi
cmovne edi, eax
and esi, dword [esp + 0x28]
and edi, dword [esp + 0x2c]
or edi, esi
jne 0x416048
cmp byte [esp + 0x1f], 0
jne 0x4163f3
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
xor esi, esi
mov edi, 1
xor edx, edx
movzx ecx, byte [ecx + eax]
mov eax, 1
shld esi, eax, cl
shl edi, cl
test cl, 0x20
cmovne esi, edi
cmovne edi, edx
and esi, dword [esp + 0x28]
and edi, dword [esp + 0x2c]
or edi, esi
je 0x4162e0
mov eax, dword [esp + 0x10]
mov ecx, edx
cmp eax, edx
cmova ecx, eax
mov eax, dword [esp + 0x14]
cmp ecx, dword [esp + 0xc]
mov edi, ecx
jae 0x416087
nop
lea esi, [ebx + edi]
cmp esi, eax
jae 0x4168ac
mov esi, dword [esp + 0x18]
movzx ebx, byte [esi + edi]
mov esi, dword [esp + 0x30]
cmp bl, byte [esi + edi]
jne 0x4160d0
inc edi
mov ebx, dword [esp + 4]
cmp dword [esp + 0xc], edi
jne 0x416060
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
nop
cmp edx, esi
jae 0x4160f0
dec esi
cmp esi, dword [esp + 0xc]
jae 0x4162c5
mov ecx, dword [esp + 4]
add ecx, esi
cmp ecx, eax
jae 0x416882
mov ebx, dword [esp + 0x18]
movzx ebx, byte [ebx + esi]
cmp bl, byte [edi + ecx]
je 0x416090
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0xc4]
jmp 0x4160d6
add edi, dword [esp + 0x38]
xor edx, edx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 4]
add ecx, edi
cmp ecx, eax
jb 0x415fca
jmp 0x4163f3
xor edx, edx
jmp 0x416285
mov ecx, dword [esp + 0x7c]
mov edx, ebx
cmp dword [esp + 0x40], eax
jb 0x416150
cmp ebx, edx
jne 0x4163f3
movzx ecx, byte [edi + ecx]
mov esi, 1
xor edx, edx
mov eax, 1
shld edx, eax, cl
shl esi, cl
test cl, 0x20
mov eax, 0
cmovne edx, esi
cmovne esi, eax
and edx, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
or esi, edx
jne 0x4161e0
jmp 0x4163f3
cmp ebx, edx
jne 0x4163f3
movzx ecx, byte [edi + ecx]
mov esi, 1
xor edx, edx
mov eax, 1
shld edx, eax, cl
shl esi, cl
test cl, 0x20
mov eax, 0
cmovne edx, esi
cmovne esi, eax
cmp dword [esp + 0xc], 0
je 0x416193
and esi, dword [esp + 0x2c]
and edx, dword [esp + 0x28]
or edx, esi
jne 0x4161e0
jmp 0x4163f3
and esi, dword [esp + 0x2c]
and edx, dword [esp + 0x28]
or edx, esi
jne 0x4161e0
mov eax, dword [esp + 0x40]
xor edx, edx
mov esi, 1
movzx ecx, byte [edi + eax]
mov eax, 1
shld edx, eax, cl
shl esi, cl
test cl, 0x20
mov eax, 0
cmovne edx, esi
cmovne esi, eax
and edx, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
or esi, edx
je 0x4162f0
nop word cs:[eax + eax]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0xc]
jae 0x41621e
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 4]
nop word [eax + eax]
lea ebx, [eax + edx]
cmp ebx, dword [esp + 0x14]
jae 0x4168a2
movzx ebx, byte [edi + eax]
cmp bl, byte [ecx + eax]
jne 0x416260
dec esi
inc edx
inc edi
inc ecx
cmp eax, esi
jne 0x416200
test byte [esp + 0x27], 1
je 0x4162aa
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc8]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
sub esi, 1
jb 0x416280
cmp ecx, eax
jae 0x416882
movzx ebx, byte [edx]
dec edx
cmp bl, byte [edi + ecx]
lea ecx, [ecx - 1]
je 0x416240
mov edx, dword [esp + 0x78]
jmp 0x416269
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
inc edx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 4]
add ecx, edx
cmp ecx, eax
jb 0x416106
jmp 0x4163f3
mov edx, 0xffffffff
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x3c]
sub dword [esp + 0x74], ecx
add dword [esp + 0x30], ecx
add dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x34]
cmp ebx, eax
jne 0x415f68
jmp 0x416788
cmp dword [esp + 0x10], 0
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov edx, 0xffffffff
je 0x416285
mov esi, dword [esp + 0xc0]
push 0x52b110
push dword [esp + 0x10]
push esi
call fcn.0043dcd0
add esp, 0xc
ud2
jmp 0x4162e0
jmp 0x4162f0
cmp byte [esp + 0x8e], 0
mov ecx, ebx
jne 0x416412
mov ebx, dword [esp + 0x84]
mov dh, byte [esp + 0x8c]
mov ecx, eax
sub ecx, ebx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], ecx
jmp 0x416338
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 4]
shl ecx, 6
or ecx, edi
mov edi, esi
mov esi, ecx
nop
test dl, dl
je 0x416404
mov dl, dh
test ebx, ebx
mov ecx, eax
je 0x41636a
cmp eax, ebx
jbe 0x416360
cmp byte [edi + ebx], 0xc0
mov ecx, dword [esp + 0xc]
jge 0x41636a
jmp 0x4168c4
mov ecx, dword [esp + 0xc]
jne 0x4168c4
mov dh, dl
xor dh, 1
test ecx, ecx
je 0x4163d0
movzx ecx, byte [edi + ebx]
movzx esi, cl
test cl, cl
jns 0x416330
and esi, 0x1f
mov dword [esp + 0x18], esi
mov esi, edi
movzx edi, byte [edi + ebx + 1]
and edi, 0x3f
cmp cl, 0xe0
jb 0x41631e
mov ebx, dword [esp + 4]
shl edi, 6
movzx ebx, byte [esi + ebx + 2]
and ebx, 0x3f
or ebx, edi
cmp cl, 0xf0
mov edi, ebx
jb 0x4163dd
mov ecx, dword [esp + 4]
mov ebx, esi
shl edi, 6
movzx ecx, byte [esi + ecx + 3]
mov esi, dword [esp + 0x18]
and esi, 7
and ecx, 0x3f
or ecx, edi
shl esi, 0x12
mov edi, ebx
or esi, ecx
jmp 0x4163ea
test dl, dl
jne 0x416338
jmp 0x416788
mov ecx, esi
mov esi, dword [esp + 0x18]
shl esi, 0xc
or esi, edi
mov edi, ecx
mov ebx, dword [esp + 4]
jmp 0x416330
mov ecx, ebx
mov ebx, dword [ebp + 0x10]
sub ebx, ecx
test bl, 1
je 0x41641d
jmp 0x416798
mov ecx, ebx
mov ebx, dword [ebp + 0x10]
cmp esi, 0x110000
cmove ecx, ebx
sub ebx, ecx
test bl, 1
jne 0x416798
mov eax, dword [ebp + 0x14]
lea edx, [esp + 0xb]
mov dword [esp + 0x44], 0x110002
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
add eax, ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], 2
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], eax
push eax
push edx
push ecx
call fcn.00416930
add esp, 0xc
test al, 1
jne 0x416490
mov ebx, dword [esp + 0x44]
cmp ebx, 0x110002
jne 0x41655b
cmp dword [ebp + 0x14], 0
mov edx, 1
xor ebx, ebx
mov dword [esp + 4], 0
jmp 0x41685f
mov eax, dword [esp + 0x68]
mov ebx, edx
cmp dword [eax], 0x110002
jne 0x4164b0
cmp dword [esp + 0x5c], 0
je 0x4164b0
cmp dword [esp + 0x60], 0
je 0x4165e7
movzx eax, byte [0x537199]
push 1
push 8
call fcn.00403b10
add esp, 8
test eax, eax
je 0x416904
mov dword [esp + 0x4c], eax
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
mov byte [eax], bl
mov esi, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x50], 8
mov dword [esp + 0x54], 1
mov dword [esp + 0x90], eax
movsd qword [esp + 0x88], xmm1
movsd qword [esp + 0x80], xmm0
push eax
lea eax, [esp + 0xf]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.00416930
add esp, 0xc
test al, 1
jne 0x416564
mov ebx, dword [esp + 0x44]
mov eax, dword [ebp + 0x14]
cmp ebx, 0x110002
jne 0x416800
mov edi, 1
mov ebx, 8
cmp eax, 1
mov edx, esi
mov dword [esp + 4], 1
jne 0x416636
jmp 0x41685f
mov edi, dword [esp + 0x48]
jmp 0x41679d
mov ebx, edx
mov edi, 1
jmp 0x4165bc
push 1
push edi
lea eax, [esp + 0x54]
push eax
call fcn.0043ced0
add esp, 0xc
mov eax, dword [esp + 0x4c]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov byte [eax + edi], bl
inc edi
mov esi, eax
mov dword [esp + 0x54], edi
push dword [esp + 0x90]
lea eax, [esp + 0xf]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.00416930
add esp, 0xc
mov ebx, edx
test al, 1
je 0x4165fd
cmp edi, dword [esp + 0x50]
mov eax, esi
jne 0x416590
mov eax, dword [esp + 0x90]
cmp dword [eax], 0x110002
jne 0x41656d
cmp dword [esp + 0x84], 0
je 0x41656d
cmp dword [esp + 0x88], 0
jne 0x41656d
push 0x52b1b0
push 0x19
push str.attempt_to_divide_by_zero0xC:UsersMagnu.cargo_registry_srcindex.crates.io_6f17d22bba15001fhex_0.4.3_srclib.rs
call fcn.0043dc30
add esp, 0xc
ud2
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
cmp ebx, 0x110002
jne 0x41680d
test edx, edx
je 0x41687b
cmp dword [ebp + 0x14], edi
mov ebx, eax
je 0x41685f
test edi, edi
je 0x416889
js 0x416920
mov dword [esp + 0x14], ebx
mov esi, edx
movzx eax, byte [0x537199]
push 1
push edi
call fcn.00403b10
add esp, 8
test eax, eax
je 0x4168f7
push edi
push esi
mov dword [esp + 0x28], eax
push eax
call fcn.00436b50
add esp, 0xc
movzx ebx, byte [esi]
movzx eax, byte [0x537199]
push 1
push 0x20
call fcn.00403b10
add esp, 8
test eax, eax
je 0x416912
lea ecx, [esi + edi]
mov byte [eax], bl
mov dword [esp + 0x80], eax
mov dword [esp + 0x30], eax
mov ebx, 0x1f
mov eax, 2
mov dword [esp + 0x84], 0x20
mov dword [esp + 0x88], 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ecx
jmp 0x4166ff
mov edx, dword [esp + 4]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
lea eax, [edx - 1]
movzx ecx, byte [esi]
cmp eax, dword [esp + 0x84]
mov byte [esp + 0xc], cl
je 0x41675e
mov eax, dword [esp + 0x30]
movzx ecx, byte [esp + 0xc]
dec ebx
test ebx, ebx
mov byte [eax + edx - 1], cl
lea eax, [edx + 1]
mov dword [esp + 0x88], edx
je 0x416826
inc esi
mov edx, eax
cmp esi, dword [esp + 0x18]
jne 0x4166cc
mov dword [esp + 4], edx
movzx eax, byte [0x537199]
push 1
push edi
call fcn.00403b10
add esp, 8
test eax, eax
je 0x4168f7
mov esi, eax
push edi
push dword [esp + 0x24]
push eax
call fcn.00436b50
add esp, 0xc
mov eax, esi
add eax, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4166c0
push 1
push eax
push dword [esp + 0x18]
call fcn.00403b20
add esp, 0xc
jmp 0x4166c0
push ebx
push eax
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x10], edx
call fcn.0043ced0
mov edx, dword [esp + 0x10]
add esp, 0xc
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], eax
jmp 0x4166df
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
sub ebx, ecx
test bl, 1
je 0x41641d
mov ebx, 0x110000
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x58], 1
mov dword [esp + 0x5c], 0
mov dword [esp + 0x50], edi
mov dword [esp + 0x60], 0
lea eax, [esp + 0x58]
push 0x52b014
push eax
lea esi, [esp + 0x88]
push esi
call fcn.00431510
add esp, 0xc
lea eax, [esp + 0x4c]
push esi
push eax
call fcn.00416cb0
add esp, 8
test al, al
jne 0x4168d7
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
mov ecx, 1
jmp 0x416865
mov edi, dword [esp + 0x48]
mov eax, 8
mov edx, esi
jmp 0x416815
mov edi, dword [esp + 0x48]
test eax, eax
je 0x41679d
push 1
push eax
push edx
call fcn.00403b20
add esp, 0xc
jmp 0x41679d
mov esi, dword [esp + 0x10]
mov dword [esp + 4], edx
push 1
push edi
push dword [esp + 0x28]
call fcn.00403b20
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x416851
push 1
push eax
push esi
call fcn.00403b20
add esp, 0xc
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 4]
xor ecx, ecx
mov eax, dword [ebp + 8]
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], esi
mov dword [eax], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, eax
jmp 0x41679d
push 0x52b120
jmp 0x4168b8
test ebx, ebx
je 0x41647c
push 1
push ebx
push edx
call fcn.00403b20
add esp, 0xc
jmp 0x41647c
mov ecx, eax
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0x14]
add ecx, ebx
cmp eax, ecx
cmova ecx, eax
push 0x52b130
push eax
push ecx
call fcn.0043dcd0
add esp, 0xc
ud2
push 0x52b150
push eax
push ebx
push eax
push edi
call fcn.0043e160
add esp, 0x14
ud2
lea eax, [esp + 0xb]
push 0x52b0b0
push 0x52b140
push eax
push 0x37
push str.a_Display_implementation_returned_an_error_unexpectedly_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_alloc_src_string.rs
call fcn.0043ded0
add esp, 0x14
ud2
push edi
push 1
call fcn.0043daa0
add esp, 8
ud2
push 8
push 1
call fcn.0043daa0
add esp, 8
ud2
push 0x20
push 1
call fcn.0043daa0
add esp, 8
ud2
call fcn.0042f5e0
ud2