Function at 0x411e60
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 0x51b9f9
push ebx
push dword [ebp + 0xc]
push eax
call fcn.00438bd0
add esp, 0x14
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x80], 0
mov edi, dword [esp + 0xb0]
je 0x4122f2
mov esi, dword [esp + 0x9c]
mov ecx, ebx
cmp esi, eax
je 0x412412
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 0x4123f3
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 0x412100
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 0x4123f3
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 0x412048
cmp byte [esp + 0x1f], 0
jne 0x4123f3
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 0x4122e0
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 0x412087
nop
lea esi, [ebx + edi]
cmp esi, eax
jae 0x4128ac
mov esi, dword [esp + 0x18]
movzx ebx, byte [esi + edi]
mov esi, dword [esp + 0x30]
cmp bl, byte [esi + edi]
jne 0x4120d0
inc edi
mov ebx, dword [esp + 4]
cmp dword [esp + 0xc], edi
jne 0x412060
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
nop
cmp edx, esi
jae 0x4120f0
dec esi
cmp esi, dword [esp + 0xc]
jae 0x4122c5
mov ecx, dword [esp + 4]
add ecx, esi
cmp ecx, eax
jae 0x412882
mov ebx, dword [esp + 0x18]
movzx ebx, byte [ebx + esi]
cmp bl, byte [edi + ecx]
je 0x412090
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0xc4]
jmp 0x4120d6
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 0x411fca
jmp 0x4123f3
xor edx, edx
jmp 0x412285
mov ecx, dword [esp + 0x7c]
mov edx, ebx
cmp dword [esp + 0x40], eax
jb 0x412150
cmp ebx, edx
jne 0x4123f3
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 0x4121e0
jmp 0x4123f3
cmp ebx, edx
jne 0x4123f3
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 0x412193
and esi, dword [esp + 0x2c]
and edx, dword [esp + 0x28]
or edx, esi
jne 0x4121e0
jmp 0x4123f3
and esi, dword [esp + 0x2c]
and edx, dword [esp + 0x28]
or edx, esi
jne 0x4121e0
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 0x4122f0
nop word cs:[eax + eax]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0xc]
jae 0x41221e
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 0x4128a2
movzx ebx, byte [edi + eax]
cmp bl, byte [ecx + eax]
jne 0x412260
dec esi
inc edx
inc edi
inc ecx
cmp eax, esi
jne 0x412200
test byte [esp + 0x27], 1
je 0x4122aa
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 0x412280
cmp ecx, eax
jae 0x412882
movzx ebx, byte [edx]
dec edx
cmp bl, byte [edi + ecx]
lea ecx, [ecx - 1]
je 0x412240
mov edx, dword [esp + 0x78]
jmp 0x412269
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 0x412106
jmp 0x4123f3
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 0x411f68
jmp 0x412788
cmp dword [esp + 0x10], 0
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov edx, 0xffffffff
je 0x412285
mov esi, dword [esp + 0xc0]
push 0x51b930
push dword [esp + 0x10]
push esi
call fcn.004429b0
add esp, 0xc
ud2
jmp 0x4122e0
jmp 0x4122f0
cmp byte [esp + 0x8e], 0
mov ecx, ebx
jne 0x412412
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 0x412338
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 0x412404
mov dl, dh
test ebx, ebx
mov ecx, eax
je 0x41236a
cmp eax, ebx
jbe 0x412360
cmp byte [edi + ebx], 0xc0
mov ecx, dword [esp + 0xc]
jge 0x41236a
jmp 0x4128c4
mov ecx, dword [esp + 0xc]
jne 0x4128c4
mov dh, dl
xor dh, 1
test ecx, ecx
je 0x4123d0
movzx ecx, byte [edi + ebx]
movzx esi, cl
test cl, cl
jns 0x412330
and esi, 0x1f
mov dword [esp + 0x18], esi
mov esi, edi
movzx edi, byte [edi + ebx + 1]
and edi, 0x3f
cmp cl, 0xe0
jb 0x41231e
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 0x4123dd
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 0x4123ea
test dl, dl
jne 0x412338
jmp 0x412788
mov ecx, esi
mov esi, dword [esp + 0x18]
shl esi, 0xc
or esi, edi
mov edi, ecx
mov ebx, dword [esp + 4]
jmp 0x412330
mov ecx, ebx
mov ebx, dword [ebp + 0x10]
sub ebx, ecx
test bl, 1
je 0x41241d
jmp 0x412798
mov ecx, ebx
mov ebx, dword [ebp + 0x10]
cmp esi, 0x110000
cmove ecx, ebx
sub ebx, ecx
test bl, 1
jne 0x412798
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.00412930
add esp, 0xc
test al, 1
jne 0x412490
mov ebx, dword [esp + 0x44]
cmp ebx, 0x110002
jne 0x41255b
cmp dword [ebp + 0x14], 0
mov edx, 1
xor ebx, ebx
mov dword [esp + 4], 0
jmp 0x41285f
mov eax, dword [esp + 0x68]
mov ebx, edx
cmp dword [eax], 0x110002
jne 0x4124b0
cmp dword [esp + 0x5c], 0
je 0x4124b0
cmp dword [esp + 0x60], 0
je 0x4125e7
movzx eax, byte [0x529189]
push 1
push 8
call fcn.00402c90
add esp, 8
test eax, eax
je 0x412904
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.00412930
add esp, 0xc
test al, 1
jne 0x412564
mov ebx, dword [esp + 0x44]
mov eax, dword [ebp + 0x14]
cmp ebx, 0x110002
jne 0x412800
mov edi, 1
mov ebx, 8
cmp eax, 1
mov edx, esi
mov dword [esp + 4], 1
jne 0x412636
jmp 0x41285f
mov edi, dword [esp + 0x48]
jmp 0x41279d
mov ebx, edx
mov edi, 1
jmp 0x4125bc
push 1
push edi
lea eax, [esp + 0x54]
push eax
call fcn.00441b30
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.00412930
add esp, 0xc
mov ebx, edx
test al, 1
je 0x4125fd
cmp edi, dword [esp + 0x50]
mov eax, esi
jne 0x412590
mov eax, dword [esp + 0x90]
cmp dword [eax], 0x110002
jne 0x41256d
cmp dword [esp + 0x84], 0
je 0x41256d
cmp dword [esp + 0x88], 0
jne 0x41256d
push 0x51b9d0
push 0x19
push str.attempt_to_divide_by_zero0xC:UsersMagnu.cargo_registry_srcindex.crates.io_6f17d22bba15001fhex_0.4.3_srclib.rs
call fcn.00442910
add esp, 0xc
ud2
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
cmp ebx, 0x110002
jne 0x41280d
test edx, edx
je 0x41287b
cmp dword [ebp + 0x14], edi
mov ebx, eax
je 0x41285f
test edi, edi
je 0x412889
js 0x412920
mov dword [esp + 0x14], ebx
mov esi, edx
movzx eax, byte [0x529189]
push 1
push edi
call fcn.00402c90
add esp, 8
test eax, eax
je 0x4128f7
push edi
push esi
mov dword [esp + 0x28], eax
push eax
call fcn.0043b9a0
add esp, 0xc
movzx ebx, byte [esi]
movzx eax, byte [0x529189]
push 1
push 0x20
call fcn.00402c90
add esp, 8
test eax, eax
je 0x412912
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 0x4126ff
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 0x41275e
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 0x412826
inc esi
mov edx, eax
cmp esi, dword [esp + 0x18]
jne 0x4126cc
mov dword [esp + 4], edx
movzx eax, byte [0x529189]
push 1
push edi
call fcn.00402c90
add esp, 8
test eax, eax
je 0x4128f7
mov esi, eax
push edi
push dword [esp + 0x24]
push eax
call fcn.0043b9a0
add esp, 0xc
mov eax, esi
add eax, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4126c0
push 1
push eax
push dword [esp + 0x18]
call fcn.00402ca0
add esp, 0xc
jmp 0x4126c0
push ebx
push eax
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x10], edx
call fcn.00441b30
mov edx, dword [esp + 0x10]
add esp, 0xc
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], eax
jmp 0x4126df
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
sub ebx, ecx
test bl, 1
je 0x41241d
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 0x51b834
push eax
lea esi, [esp + 0x88]
push esi
call fcn.00437160
add esp, 0xc
lea eax, [esp + 0x4c]
push esi
push eax
call fcn.00412cb0
add esp, 8
test al, al
jne 0x4128d7
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
mov ecx, 1
jmp 0x412865
mov edi, dword [esp + 0x48]
mov eax, 8
mov edx, esi
jmp 0x412815
mov edi, dword [esp + 0x48]
test eax, eax
je 0x41279d
push 1
push eax
push edx
call fcn.00402ca0
add esp, 0xc
jmp 0x41279d
mov esi, dword [esp + 0x10]
mov dword [esp + 4], edx
push 1
push edi
push dword [esp + 0x28]
call fcn.00402ca0
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x412851
push 1
push eax
push esi
call fcn.00402ca0
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 0x41279d
push 0x51b940
jmp 0x4128b8
test ebx, ebx
je 0x41247c
push 1
push ebx
push edx
call fcn.00402ca0
add esp, 0xc
jmp 0x41247c
mov ecx, eax
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0x14]
add ecx, ebx
cmp eax, ecx
cmova ecx, eax
push 0x51b950
push eax
push ecx
call fcn.004429b0
add esp, 0xc
ud2
push 0x51b970
push eax
push ebx
push eax
push edi
call fcn.00442dc0
add esp, 0x14
ud2
lea eax, [esp + 0xb]
push 0x51b8d0
push 0x51b960
push eax
push 0x37
push str.a_Display_implementation_returned_an_error_unexpectedly_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_alloc_src_string.rs
call fcn.00442bb0
add esp, 0x14
ud2
push edi
push 1
call fcn.00442780
add esp, 8
ud2
push 8
push 1
call fcn.00442780
add esp, 8
ud2
push 0x20
push 1
call fcn.00442780
add esp, 8
ud2
call fcn.00434ef0
ud2