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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x10], edx
push 6
push str..llvm._rust_deps_rustc_demangle_0.1.24_src_lib.rs
push dword [ebp + 8]
call fcn.00404930
add esp, 0xc
cmp dword [esp + 0x40], 0
je 0x411104
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
mov dword [esp + 4], edx
cmp edx, 0xffffffff
mov edx, dword [esp + 0x74]
lea ecx, [eax - 1]
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 8], esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
je 0x411139
mov edi, dword [esp + 0x5c]
add ecx, edi
cmp ecx, edx
jae 0x411338
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x58]
sub eax, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi + ecx]
xor eax, eax
mov ebx, 1
shld eax, ebx, cl
mov ebx, esi
mov esi, 1
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x34]
and esi, dword [esp + 0x38]
or esi, eax
je 0x411080
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x18]
mov eax, edi
mov dword [esp + 0x14], eax
cmp esi, ecx
cmova ecx, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
cmp ecx, esi
mov edi, esi
lea esi, [ebx + eax]
cmova edi, ecx
nop word cs:[eax + eax]
cmp edi, ecx
je 0x4110b0
mov eax, ecx
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp ecx, edx
jae 0x4119eb
mov edx, dword [esp + 0xc]
lea ecx, [eax + 1]
movzx ebx, byte [edx + eax]
mov edx, dword [esp + 0x24]
cmp bl, byte [esi + eax]
je 0x411040
mov edi, dword [esp + 0x14]
sub edi, dword [esp + 0x18]
lea edi, [edi + eax + 1]
jmp 0x411084
add edi, dword [esp + 0x1c]
mov dword [esp + 4], 0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 8]
lea ecx, [edi + eax]
cmp ecx, edx
jb 0x410fe0
jmp 0x411338
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
nop dword [eax + eax]
cmp dword [esp + 4], ecx
mov edi, dword [esp + 0x14]
jae 0x41125e
dec ecx
cmp ecx, esi
jae 0x411a1f
add edi, ecx
cmp edi, edx
jae 0x411a2b
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 8]
movzx eax, byte [eax + ecx]
cmp al, byte [ebx + edi]
je 0x4110c0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
add edi, dword [esp + 0x2c]
mov dword [esp + 4], eax
jmp 0x41108c
lea ebx, [esp + 0x80]
lea edi, [esp + 0x40]
nop
mov ecx, ebx
mov edx, edi
call fcn.0040fa30
mov eax, dword [esp + 0x80]
cmp eax, 1
je 0x411110
test eax, eax
jne 0x411338
mov edi, dword [esp + 0x84]
jmp 0x41125e
mov edi, dword [esp + 0x5c]
add ecx, edi
cmp ecx, edx
jae 0x411338
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x18]
cmp ebx, eax
cmova eax, ebx
mov dword [esp + 4], eax
lea eax, [ebx - 1]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
lea eax, [eax + ebx - 1]
mov dword [esp + 0x2c], eax
jmp 0x4111a7
add edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 8]
lea ecx, [edi + eax]
cmp ecx, edx
jae 0x411338
movzx ecx, byte [esi + ecx]
xor eax, eax
mov ebx, 1
shld eax, ebx, cl
mov ebx, esi
mov esi, 1
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x34]
and esi, dword [esp + 0x38]
or esi, eax
je 0x411190
mov eax, dword [esp + 0x18]
lea ecx, [ebx + edi]
nop
cmp dword [esp + 4], eax
je 0x411210
mov esi, eax
add eax, edi
cmp eax, edx
jae 0x411a06
mov edx, dword [esp + 0xc]
lea eax, [esi + 1]
movzx ebx, byte [edx + esi]
mov edx, dword [esp + 0x24]
cmp bl, byte [ecx + esi]
je 0x4111e0
sub edi, dword [esp + 0x18]
lea edi, [edi + esi + 1]
jmp 0x411194
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jae 0x4119c6
mov dword [esp + 0x14], edi
add ecx, edi
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
nop
sub edi, 1
jb 0x41125a
cmp ecx, edx
jae 0x411a2d
movzx eax, byte [esi]
mov ebx, dword [esp + 8]
dec esi
cmp al, byte [ebx + ecx]
lea ecx, [ecx - 1]
je 0x411230
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0x28]
jmp 0x411194
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
mov esi, edi
add esi, 6
je 0x411284
cmp esi, edx
jae 0x411282
cmp byte [ecx + esi], 0xbf
jg 0x411284
push 0x43fcc0
push edx
push esi
call fcn.0043a170
jne 0x411276
add esi, ecx
add ecx, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], ecx
cmp esi, ecx
je 0x4113b0
movzx ebx, byte [esi]
movzx edx, bl
test bl, bl
js 0x4112b0
inc esi
jmp 0x411320
movzx ecx, byte [esi + 1]
and edx, 0x1f
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x411301
movzx edi, byte [esi + 2]
shl ecx, 6
and edi, 0x3f
or edi, ecx
cmp bl, 0xf0
jb 0x41130f
movzx eax, byte [esi + 3]
and edx, 7
shl edi, 6
mov ecx, edx
shl ecx, 0x12
and eax, 0x3f
or eax, edi
mov edi, dword [esp + 0x14]
mov edx, eax
or edx, ecx
mov ecx, dword [esp + 0xc]
cmp edx, 0x110000
je 0x4113b0
add esi, 4
jmp 0x411320
shl edx, 6
add esi, 2
or edx, ecx
mov ecx, dword [esp + 0xc]
jmp 0x411320
shl edx, 0xc
mov ecx, dword [esp + 0xc]
add esi, 3
or edx, edi
mov edi, dword [esp + 0x14]
nop
lea eax, [edx - 0x40]
cmp eax, 7
jb 0x411290
add edx, 0xffffffd0
cmp edx, 0xa
jb 0x411290
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
cmp edx, 3
jae 0x41136f
mov esi, 2
cmp edx, 2
jne 0x4119b8
movzx eax, word [ecx]
cmp eax, 0x4e5a
jne 0x4114cc
mov eax, 0xfffffffe
mov ebx, 2
jmp 0x411414
movzx eax, word [ecx]
mov esi, edx
movzx edx, byte [ecx + 2]
xor eax, 0x5a5f
xor edx, 0x4e
or dx, ax
je 0x4113d4
movzx eax, word [ecx]
cmp eax, 0x4e5a
je 0x4113ea
mov edx, 3
cmp esi, 3
je 0x41147d
cmp dword [ecx], 0x4e5a5f5f
je 0x41180a
mov edx, esi
jmp 0x41147d
test edi, edi
je 0x411400
mov edx, dword [ebp + 8]
cmp edi, edx
jae 0x41160e
mov ecx, dword [esp + 0x10]
cmp byte [ecx + edi], 0xbf
jle 0x411618
mov edx, edi
jmp 0x41133f
mov eax, 0xfffffffd
mov ebx, 3
cmp esi, 3
jne 0x41140a
mov esi, 3
jmp 0x411414
cmp byte [ecx + 2], 0xbf
jle 0x411a72
mov ebx, 2
mov eax, 0xfffffffe
jmp 0x411414
mov esi, 2
jmp 0x4119b8
cmp byte [ecx + 3], 0xbf
jle 0x411a81
add ebx, ecx
add eax, esi
mov dword [esp + 0xc], esi
lea esi, [ebx + eax]
mov ecx, ebx
mov dword [esp + 0x24], eax
nop word cs:[eax + eax]
nop
test eax, eax
je 0x41143f
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x411430
jmp 0x411470
cmp dword [esp + 0x24], 0
je 0x411470
movzx ecx, byte [ebx]
mov dword [esp + 4], esi
movzx edx, cl
test cl, cl
js 0x411659
lea ecx, [ebx + 1]
cmp edx, 0x45
je 0x41196e
cmp edx, 0x110000
jne 0x41169f
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp edx, 3
jb 0x4114cc
movzx eax, word [ecx]
cmp eax, 0x525f
je 0x4114f3
cmp byte [ecx], 0x52
je 0x4114df
mov esi, 2
cmp edx, 3
je 0x4119b8
movzx eax, word [ecx]
mov ebx, edx
movzx edx, byte [ecx + 2]
xor eax, 0x5f5f
xor edx, 0x52
or dx, ax
jne 0x4119b8
movzx eax, byte [ecx + 3]
cmp al, 0xbf
jle 0x411a90
add ecx, 3
mov edi, 0xfffffffd
mov edx, ebx
jmp 0x411507
cmp byte [ecx], 0x52
mov edx, 2
mov esi, 2
jne 0x4119b8
movzx eax, byte [ecx + 1]
cmp al, 0xbf
jle 0x411a37
inc ecx
mov edi, 0xffffffff
jmp 0x411507
movzx eax, byte [ecx + 2]
cmp al, 0xbf
jle 0x411a44
add ecx, 2
mov edi, 0xfffffffe
add al, 0xbf
mov esi, 2
cmp al, 0x19
ja 0x4119b8
add edi, edx
xor eax, eax
nop word [eax + eax]
cmp edi, eax
je 0x411532
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
jns 0x411520
jmp 0x4119b8
mov dword [esp + 0xc], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x24], ecx
pxor xmm0, xmm0
lea ecx, [esp + 0x40]
xor edx, edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x1c], edi
movq qword [esp + 0x48], xmm0
movq qword [esp + 0x50], xmm0
call fcn.0040c510
test al, al
jne 0x411a51
mov edi, dword [esp + 0x40]
test edi, edi
je 0x4119b8
movzx ecx, byte [esp + 0x47]
movzx edx, word [esp + 0x45]
movzx eax, byte [esp + 0x44]
movq xmm0, qword [esp + 0x48]
shl ecx, 0x10
or edx, ecx
shl edx, 8
or edx, eax
movd eax, xmm0
mov ebx, edx
cmp eax, edx
jae 0x411625
movzx ecx, byte [edi + eax]
add cl, 0xbf
cmp cl, 0x1a
jae 0x411625
lea ecx, [esp + 0x40]
xor edx, edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebx
movq qword [esp + 0x48], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
call fcn.0040c510
test al, al
jne 0x411a51
mov edi, dword [esp + 0x40]
test edi, edi
je 0x4119b8
movzx edx, byte [esp + 0x47]
movzx esi, word [esp + 0x45]
movzx ecx, byte [esp + 0x44]
mov eax, dword [esp + 0x48]
shl edx, 0x10
or esi, edx
mov edx, dword [esp + 0x10]
shl esi, 8
or esi, ecx
jmp 0x41162b
mov ecx, dword [esp + 0x10]
je 0x41133f
push 0x43fcd0
push edi
push 0
call fcn.0043a170
mov edx, dword [esp + 0x10]
mov esi, ebx
mov ecx, edi
mov edi, dword [esp + 0xc]
test eax, eax
je 0x411849
cmp esi, eax
jbe 0x411843
cmp byte [ecx + eax], 0xbf
jg 0x411849
mov edx, esi
push 0x43fa44
push esi
push eax
call fcn.0043a170
movzx esi, byte [ebx + 1]
and edx, 0x1f
and esi, 0x3f
cmp cl, 0xdf
jbe 0x411836
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or eax, esi
cmp cl, 0xf0
jb 0x411959
movzx ecx, byte [ebx + 3]
and edx, 7
shl eax, 6
lea esi, [ebx + 4]
shl edx, 0x12
and ecx, 0x3f
or ecx, eax
or edx, ecx
mov ecx, esi
jmp 0x411961
mov dword [esp + 0x1c], 0
mov dword [esp + 8], ebx
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x411470
mov edi, ecx
xor eax, eax
jmp 0x4116ce
inc edi
mov ebx, dword [esp + 8]
cmp edx, 0x110000
je 0x411470
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jae 0x41174f
mov edx, 0xa
mul edx
jo 0x411470
add eax, ecx
jb 0x411470
cmp edi, esi
je 0x411470
movzx ebx, byte [edi]
movzx edx, bl
test bl, bl
jns 0x4116bd
movzx esi, byte [edi + 1]
and edx, 0x1f
and esi, 0x3f
cmp bl, 0xdf
jbe 0x411734
movzx ecx, byte [edi + 2]
shl esi, 6
and ecx, 0x3f
or ecx, esi
cmp bl, 0xf0
jb 0x41173e
movzx esi, byte [edi + 3]
and edx, 7
shl ecx, 6
add edi, 4
shl edx, 0x12
and esi, 0x3f
or esi, ecx
jmp 0x41173a
add edi, 2
shl edx, 6
or edx, esi
jmp 0x411746
shl edx, 0xc
add edi, 3
or edx, ecx
mov esi, dword [esp + 4]
jmp 0x4116be
test eax, eax
mov ecx, edi
jne 0x41176f
inc dword [esp + 0x1c]
cmp edx, 0x45
jne 0x4116ab
jmp 0x411976
inc ecx
mov ebx, dword [esp + 8]
dec eax
je 0x411755
cmp ecx, esi
je 0x411470
mov edi, ecx
movzx ebx, byte [edi]
movzx edx, bl
test bl, bl
jns 0x411767
movzx esi, byte [ecx + 1]
and edx, 0x1f
and esi, 0x3f
cmp bl, 0xdf
jbe 0x4117de
mov dword [esp + 0x20], ecx
movzx ecx, byte [ecx + 2]
shl esi, 6
and ecx, 0x3f
or ecx, esi
cmp bl, 0xf0
jb 0x4117ef
mov esi, dword [esp + 0x20]
and edx, 7
shl ecx, 6
mov ebx, edx
shl ebx, 0x12
movzx esi, byte [esi + 3]
and esi, 0x3f
or esi, ecx
mov edx, esi
mov esi, dword [esp + 4]
or edx, ebx
mov ebx, dword [esp + 8]
cmp edx, 0x110000
je 0x411470
mov ecx, edi
add ecx, 4
jmp 0x41176c
shl edx, 6
add ecx, 2
or edx, esi
mov esi, dword [esp + 4]
jmp 0x411768
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 8]
shl edx, 0xc
or edx, ecx
add edi, 3
mov ecx, edi
jmp 0x41176c
mov eax, 0xfffffffc
mov ebx, 4
cmp esi, 5
jb 0x41194f
cmp byte [ecx + 4], 0xbf
jg 0x411414
mov edx, esi
push 0x43f858
push esi
push 4
call fcn.0043a170
shl edx, 6
lea ecx, [ebx + 2]
or edx, esi
jmp 0x411961
jne 0x41164b
add ecx, eax
sub esi, eax
xor ebx, ebx
test esi, esi
je 0x411988
cmp byte [ecx], 0x2e
mov dword [esp + 4], esi
mov esi, 2
jne 0x4119b8
mov eax, dword [esp + 4]
mov dword [esp + 0x20], ecx
mov edx, ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
add eax, ecx
mov dword [esp + 0x14], eax
mov al, 0x2e
test al, al
jns 0x411900
nop word [eax + eax]
movzx edi, byte [edx + 1]
mov ecx, eax
and cl, 0x1f
movzx ecx, cl
and edi, 0x3f
cmp al, 0xdf
jbe 0x4118db
movzx ebx, byte [edx + 2]
shl edi, 6
and ebx, 0x3f
or ebx, edi
cmp al, 0xf0
jb 0x4118eb
movzx eax, byte [edx + 3]
and ecx, 7
shl ebx, 6
mov edi, dword [esp + 0xc]
shl ecx, 0x12
and eax, 0x3f
or eax, ebx
or eax, ecx
cmp eax, 0x110000
je 0x4119dd
add edx, 4
jmp 0x4118f9
shl ecx, 6
add edx, 2
or ecx, edi
mov edi, dword [esp + 0xc]
mov eax, ecx
jmp 0x411904
mov edi, dword [esp + 0xc]
shl ecx, 0xc
add edx, 3
or ebx, ecx
mov eax, ebx
mov ebx, dword [esp + 8]
jmp 0x411904
inc edx
movzx eax, al
lea ecx, [eax - 0x21]
cmp ecx, 0x19
jb 0x411929
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x411929
lea ecx, [eax - 0x3a]
cmp ecx, 7
jb 0x411929
lea ecx, [eax - 0x5b]
cmp ecx, 6
jae 0x41193b
cmp edx, dword [esp + 0x14]
je 0x411945
movzx eax, byte [edx]
test al, al
jns 0x411900
jmp 0x411890
add eax, 0xffffff81
cmp eax, 0xfffffffc
jae 0x411929
jmp 0x4119b8
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 4]
jmp 0x41198e
mov esi, 4
jmp 0x411414
shl edx, 0xc
lea ecx, [ebx + 3]
or edx, eax
mov esi, dword [esp + 4]
cmp edx, 0x45
jne 0x411464
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
sub esi, ecx
test esi, esi
jne 0x411857
mov dword [esp + 0x20], ecx
xor esi, esi
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x1c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x20]
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], esi
mov esi, 1
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 0x18], 0
je 0x41125e
mov edx, eax
push 0x442278
call fcn.00439d10
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 8]
jmp 0x41198e
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
add ecx, dword [esp + 0x14]
cmp edx, ecx
cmova ecx, edx
push 0x442298
call fcn.00439d10
add edi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
cmp edx, edi
cmova edi, edx
mov ecx, edi
push 0x442298
call fcn.00439d10
mov edx, esi
push 0x442278
call fcn.00439d10
mov ecx, edi
push 0x442288
call fcn.00439d10
push 0x43f9d4
push edx
push 1
call fcn.0043a170
push 0x43f9e4
push edx
push 2
call fcn.0043a170
lea eax, [esp + 0x80]
mov ecx, str._fmt::Error_s_should_be_impossible_without_a__fmt::Formatter_
mov edx, 0x3d
push 0x43fa34
push 0x43f788
push eax
call fcn.00439f50
mov edx, esi
push 0x43f868
push esi
push 2
call fcn.0043a170
mov edx, esi
push 0x43f878
push esi
push 3
call fcn.0043a170
mov edx, ebx
push 0x43f9c4
push ebx
push 3
call fcn.0043a170
int3