Function at 0x41f770
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
lea eax, [esp + 0x30]
push 6
push str..llvm._rust_deps_rustc_demangle_0.1.24_src_lib.rs
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.004237e0
add esp, 0x14
test byte [esp + 0x30], 1
je 0x41f811
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x68]
lea ecx, [eax - 1]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
cmp edx, 0xffffffff
mov dword [esp + 8], edx
mov dword [esp], esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], eax
je 0x41f957
mov edi, dword [esp + 0x4c]
add ecx, edi
cmp ecx, eax
jae 0x41fb4f
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], eax
sub edx, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edx
jmp 0x41f86f
lea esi, [esp + 0x80]
lea edi, [esp + 0x30]
nop dword [eax]
mov ecx, esi
mov edx, edi
call fcn.0041a7e0
mov eax, dword [esp + 0x80]
cmp eax, 1
je 0x41f820
test eax, eax
jne 0x41fb4f
mov edi, dword [esp + 0x84]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
jmp 0x41fa93
add edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
mov dword [esp + 8], 0
mov eax, dword [esp + 0x2c]
lea ecx, [edi + eax]
cmp ecx, esi
jae 0x41fb4f
movzx ecx, byte [ebx + ecx]
mov esi, 1
xor eax, eax
mov edx, 1
shld eax, edx, cl
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x28]
and esi, dword [esp + 0x14]
or esi, eax
je 0x41f850
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov esi, edi
add ebx, edi
cmp ecx, eax
mov edx, eax
mov eax, dword [esp + 0xc]
cmova edx, ecx
mov ecx, edx
mov dword [esp + 0x24], edx
cmp edx, eax
cmova eax, edx
cmp eax, ecx
je 0x41f900
lea edi, [esi + ecx]
cmp edi, dword [esp + 4]
jae 0x420294
mov edx, dword [esp]
lea edi, [ecx + 1]
movzx edx, byte [edx + ecx]
cmp dl, byte [ebx + ecx]
mov ecx, edi
je 0x41f8c0
sub esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [esp + 8], 0
add esi, edi
mov edi, esi
mov esi, dword [esp + 4]
jmp 0x41f860
mov edi, esi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 4]
nop word [eax + eax]
cmp dword [esp + 8], ecx
jae 0x41fa8d
dec ecx
cmp ecx, dword [esp + 0xc]
jae 0x420285
lea eax, [ecx + edi]
cmp eax, esi
jae 0x4202ca
mov edx, edi
mov edi, dword [esp]
movzx ebx, byte [edi + ecx]
mov edi, dword [esp + 0x18]
cmp bl, byte [edi + eax]
mov ebx, edi
mov edi, edx
je 0x41f910
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x20]
mov dword [esp + 8], eax
jmp 0x41f860
mov edi, dword [esp + 0x4c]
add ecx, edi
cmp ecx, eax
jae 0x41fb4f
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
cmp esi, eax
cmova eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
lea edx, [eax + esi - 1]
add eax, esi
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x78], edx
lea edx, [ebx + esi]
mov dword [esp + 8], edx
mov dword [esp + 0x74], eax
lea eax, [esi - 1]
mov dword [esp + 0x7c], eax
jmp 0x41f9cf
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
lea ecx, [edi + eax]
cmp ecx, dword [esp + 4]
jae 0x41fb4f
movzx ecx, byte [ebx + ecx]
mov ebx, 1
xor eax, eax
mov edx, 1
shld eax, edx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
mov edx, edi
cmovne eax, ebx
cmovne ebx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
and eax, dword [esp + 0x20]
and ebx, dword [esp + 0x24]
or ebx, eax
mov ebx, dword [esp]
mov eax, edx
je 0x41f9b2
nop dword [eax]
cmp esi, ecx
je 0x41fa36
lea edx, [esi + eax]
cmp edx, dword [esp + 4]
jae 0x4202af
movzx edx, byte [ebx]
mov edi, dword [esp + 8]
inc ebx
dec ecx
cmp dl, byte [edi + eax]
lea edi, [eax + 1]
mov eax, edi
je 0x41fa10
jmp 0x41f9ba
mov ecx, dword [esp + 0x7c]
cmp ecx, dword [esp + 0xc]
jae 0x420273
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, esi
add ecx, edi
sub ebx, 1
jb 0x41f844
cmp ecx, dword [esp + 4]
jae 0x4202d6
movzx edx, byte [eax]
mov esi, edi
mov edi, dword [esp + 0x18]
dec eax
mov byte [esp + 0x10], dl
movzx edx, byte [esp + 0x10]
cmp dl, byte [edi + ecx]
mov edi, esi
mov esi, dword [esp + 0x28]
lea ecx, [ecx - 1]
je 0x41fa50
add edi, dword [esp + 0x74]
jmp 0x41f9ba
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, edi
add ecx, 6
je 0x41fab4
cmp ecx, eax
jae 0x41fab2
cmp byte [edx + ecx], 0xbf
jg 0x41fab4
push 0x42b7c0
push eax
push ecx
push eax
push edx
call fcn.00427500
jne 0x41faa4
add ecx, edx
add edx, eax
mov dword [esp + 0x14], edi
jmp 0x41fad7
inc ecx
lea eax, [esi - 0x30]
cmp eax, 0xa
setb al
add esi, 0xffffffc0
cmp esi, 7
setb ah
or ah, al
je 0x41fb4f
cmp ecx, edx
je 0x41fbba
movzx eax, byte [ecx]
movzx esi, al
test al, al
jns 0x41fac0
movzx ebx, byte [ecx + 1]
and esi, 0x1f
and ebx, 0x3f
cmp al, 0xdf
jbe 0x41fb34
movzx edi, byte [ecx + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp al, 0xf0
jb 0x41fb3e
movzx eax, byte [ecx + 3]
and esi, 7
shl edi, 6
mov ebx, esi
shl ebx, 0x12
and eax, 0x3f
or eax, edi
mov edi, dword [esp + 0x14]
mov esi, eax
or esi, ebx
cmp esi, 0x110000
je 0x41fbba
add ecx, 4
jmp 0x41fac1
shl esi, 6
add ecx, 2
or esi, ebx
jmp 0x41fac1
shl esi, 0xc
add ecx, 3
or esi, edi
mov edi, dword [esp + 0x14]
jmp 0x41fac1
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp edx, 3
jae 0x41fb7e
cmp edx, 2
jne 0x41fbdd
cmp word [esi], 0x4e5a
jne 0x41fd68
mov esi, 0xfffffffe
mov edx, 2
mov ecx, 2
jmp 0x41fc31
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x5a5f
xor ecx, 0x4e
or cx, ax
je 0x41fbe6
cmp word [esi], 0x4e5a
je 0x41fbfc
mov eax, 3
cmp edx, 3
je 0x41fd38
cmp dword [esi], 0x4e5a5f5f
je 0x41fcce
mov eax, edx
jmp 0x41fd38
test edi, edi
je 0x41fc12
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
cmp edi, edx
jae 0x41fc7e
cmp byte [esi + edi], 0xbf
jle 0x41fc84
mov edx, edi
jmp 0x41fb55
mov dword [esp + 4], edx
jmp 0x41fe02
mov esi, 0xfffffffd
mov ecx, 3
cmp edx, 3
jne 0x41fc24
mov edx, 3
jmp 0x41fc31
cmp byte [esi + 2], 0xbf
jle 0x420303
mov ecx, 2
mov esi, 0xfffffffe
jmp 0x41fc31
mov edi, 1
mov dword [esp + 4], 0
jmp 0x41fe07
mov eax, dword [ebp + 0xc]
cmp byte [eax + 3], 0xbf
jle 0x420332
add ecx, dword [ebp + 0xc]
add esi, edx
mov dword [esp + 4], edx
lea eax, [ecx + esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], eax
mov eax, esi
nop word [eax + eax]
test eax, eax
je 0x41fc62
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x41fc50
jmp 0x41fd2c
test esi, esi
je 0x41fd2c
mov ebx, dword [esp + 0xc]
movzx ecx, byte [ebx]
movzx edx, cl
test cl, cl
js 0x41fc93
inc ebx
jmp 0x41fd17
je 0x41fb55
push 0x42b7d0
push edi
push 0
push edx
push esi
call fcn.00427500
movzx edi, byte [ebx + 1]
and edx, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x41fcfb
movzx eax, byte [ebx + 2]
shl edi, 6
and eax, 0x3f
or eax, edi
cmp cl, 0xf0
jb 0x41fd0f
mov ecx, ebx
and edx, 7
shl eax, 6
add ebx, 4
movzx ecx, byte [ecx + 3]
shl edx, 0x12
and ecx, 0x3f
or ecx, eax
or edx, ecx
jmp 0x41fd17
mov esi, 0xfffffffc
mov ecx, 4
cmp edx, 5
jb 0x41fd05
mov eax, dword [ebp + 0xc]
cmp byte [eax + 4], 0xbf
jg 0x41fc31
push 0x42b32c
push edx
push 4
push edx
push dword [ebp + 0xc]
call fcn.00427500
shl edx, 6
add ebx, 2
or edx, edi
jmp 0x41fd17
mov edx, 4
jmp 0x41fc31
shl edx, 0xc
add ebx, 3
or edx, eax
cmp edx, 0x45
je 0x41ff65
cmp edx, 0x110000
jne 0x41ff85
mov eax, dword [esp + 4]
mov esi, dword [ebp + 0xc]
cmp eax, 2
jbe 0x41fd62
cmp word [esi], 0x525f
je 0x41fdc3
cmp byte [esi], 0x52
je 0x41fd76
cmp eax, 3
jne 0x41ff38
mov dword [esp], 0
mov dword [esp + 4], 3
jmp 0x41fdb8
jne 0x41fe02
cmp byte [esi], 0x52
mov eax, 2
jne 0x41fdfa
movzx ecx, byte [esi + 1]
cmp cl, 0xbf
jle 0x4202e5
inc esi
mov edi, 0xffffffff
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
ja 0x41fde4
add edi, eax
xor eax, eax
nop dword [eax]
cmp edi, eax
je 0x41fe42
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jns 0x41fda0
mov dword [esp], 0
xor edx, edx
xor ecx, ecx
mov edi, 1
jmp 0x41fe12
movzx ecx, byte [esi + 2]
cmp cl, 0xbf
jle 0x4202f4
add esi, 2
mov edi, 0xfffffffe
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
jbe 0x41fd95
mov dword [esp], 0
xor edx, edx
mov edi, 1
xor ebx, ebx
xor esi, esi
xor ecx, ecx
jmp 0x41fe16
mov dword [esp + 4], 2
mov edi, 1
mov dword [esp], 0
xor edx, edx
xor ecx, ecx
xor ebx, ebx
xor esi, esi
mov eax, dword [ebp + 8]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov edx, dword [esp]
mov ebx, dword [ebp + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 4]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
pxor xmm0, xmm0
lea ecx, [esp + 0x30]
xor edx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
movq qword [esp + 0x38], xmm0
movq qword [esp + 0x40], xmm0
call fcn.0041d4f0
test al, al
jne 0x420314
mov ebx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test ebx, ebx
je 0x42010f
movzx edx, byte [esp + 0x37]
mov dword [esp + 8], esi
movzx esi, word [esp + 0x35]
movq xmm0, qword [esp + 0x38]
movzx ecx, cl
shl edx, 0x10
or esi, edx
shl esi, 8
or esi, ecx
movd ecx, xmm0
cmp ecx, esi
jae 0x41ff10
movzx edx, byte [ebx + ecx]
add dl, 0xbf
cmp dl, 0x1a
jae 0x41ff10
lea ecx, [esp + 0x30]
xor edx, edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
movq qword [esp + 0x38], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
call fcn.0041d4f0
test al, al
jne 0x420314
mov ebx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test ebx, ebx
je 0x42010f
movzx edx, cl
movzx ecx, byte [esp + 0x37]
movzx esi, word [esp + 0x35]
shl ecx, 0x10
or esi, ecx
mov ecx, dword [esp + 0x38]
shl esi, 8
or esi, edx
test ecx, ecx
je 0x42015a
cmp esi, ecx
jbe 0x420154
cmp byte [ebx + ecx], 0xbf
jg 0x42015a
push 0x42b52c
push esi
push ecx
push esi
push ebx
call fcn.00427500
movzx ecx, word [esi]
movzx edx, byte [esi + 2]
xor ecx, 0x5f5f
xor edx, 0x52
or dx, cx
je 0x42012a
mov dword [esp + 4], eax
xor edx, edx
xor ecx, ecx
mov dword [esp], 0
jmp 0x41fdbc
xor edi, edi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x18]
sub esi, ebx
test esi, esi
mov dword [esp], edi
jne 0x420171
mov edi, ebx
xor esi, esi
jmp 0x420261
xor edi, edi
mov dword [esp + 8], esi
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x41fd2c
xor eax, eax
mov dword [esp], edi
nop dword [eax]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jae 0x42005d
mov edx, 0xa
mul edx
jo 0x41fd2c
add eax, ecx
jb 0x41fd2c
cmp ebx, dword [esp + 0x18]
je 0x41fd2c
mov ecx, ebx
movzx ebx, byte [ebx]
movzx edx, bl
test bl, bl
js 0x41ffda
inc ecx
jmp 0x420023
movzx edi, byte [ecx + 1]
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x42001b
movzx esi, byte [ecx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
mov dword [esp + 0x10], esi
jb 0x420039
movzx edi, byte [ecx + 3]
mov esi, dword [esp + 0x10]
and edx, 7
add ecx, 4
shl edx, 0x12
shl esi, 6
and edi, 0x3f
or edi, esi
or edx, edi
jmp 0x420043
shl edx, 6
add ecx, 2
or edx, edi
mov edi, dword [esp]
mov ebx, ecx
cmp edx, 0x110000
jne 0x41ffa0
jmp 0x41fd2c
shl edx, 0xc
add ecx, 3
add edx, dword [esp + 0x10]
mov edi, dword [esp]
mov esi, dword [esp + 8]
mov ebx, ecx
cmp edx, 0x110000
jne 0x41ffa0
jmp 0x41fd2c
test eax, eax
je 0x420100
cmp ebx, dword [esp + 0x18]
je 0x41fd2c
mov ecx, ebx
movzx ebx, byte [ebx]
movzx edx, bl
test bl, bl
js 0x42007e
inc ecx
jmp 0x4200f4
movzx edi, byte [ecx + 1]
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x4200e0
mov dword [esp + 0x14], edi
movzx edi, byte [ecx + 2]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
and dword [esp + 0x10], 0x3f
shl edi, 6
add dword [esp + 0x10], edi
cmp bl, 0xf0
jb 0x4200ea
and edx, 7
movzx edi, byte [ecx + 3]
mov ebx, edx
mov edx, dword [esp + 0x10]
shl ebx, 0x12
and edi, 0x3f
shl edx, 6
or edi, edx
mov edx, edi
mov edi, dword [esp]
or edx, ebx
cmp edx, 0x110000
je 0x41fd2c
mov ebx, ecx
add ebx, 4
jmp 0x4200f9
shl edx, 6
add ecx, 2
or edx, edi
jmp 0x4200f4
shl edx, 0xc
add ecx, 3
add edx, dword [esp + 0x10]
mov edi, dword [esp]
mov ebx, ecx
dec eax
jne 0x420065
inc edi
cmp edx, 0x45
jne 0x41ff8b
jmp 0x41ff67
and cl, 1
xor edx, edx
xor ebx, ebx
xor esi, esi
mov edi, 1
movzx eax, cl
xor ecx, ecx
mov dword [esp], eax
jmp 0x41fe16
movzx ecx, byte [esi + 3]
cmp cl, 0xbf
jle 0x420343
add esi, 3
mov edi, 0xfffffffd
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
jbe 0x41fd95
jmp 0x41fde4
jne 0x41ff2a
add ebx, ecx
sub esi, ecx
mov dword [esp + 0xc], 0
test esi, esi
mov dword [esp], edi
je 0x41ff7c
cmp byte [ebx], 0x2e
jne 0x420247
lea eax, [ebx + esi]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov al, 0x2e
test al, al
jns 0x4201f0
nop dword [eax + eax]
movzx edx, byte [ebx + 1]
mov ecx, eax
and cl, 0x1f
movzx ecx, cl
and edx, 0x3f
cmp al, 0xdf
jbe 0x4201d7
movzx edi, byte [ebx + 2]
shl edx, 6
and edi, 0x3f
or edi, edx
cmp al, 0xf0
jb 0x4201e3
movzx eax, byte [ebx + 3]
and ecx, 7
shl edi, 6
shl ecx, 0x12
and eax, 0x3f
or eax, edi
or eax, ecx
cmp eax, 0x110000
je 0x42025d
add ebx, 4
jmp 0x4201f4
shl ecx, 6
add ebx, 2
or ecx, edx
mov eax, ecx
jmp 0x4201f4
shl ecx, 0xc
add ebx, 3
or edi, ecx
mov eax, edi
jmp 0x4201f4
inc ebx
movzx eax, al
mov ecx, eax
lea edx, [eax - 0x30]
lea edi, [eax - 0x21]
and ecx, 0x1fffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
setb cl
cmp edx, 0xa
setb dl
cmp edi, 0xf
setb ch
or ch, dl
or ch, cl
jne 0x42022d
lea ecx, [eax - 0x3a]
cmp ecx, 7
jb 0x42022d
lea ecx, [eax - 0x5b]
cmp ecx, 6
jae 0x42023f
cmp ebx, dword [esp + 0x18]
je 0x42025d
movzx eax, byte [ebx]
test al, al
jns 0x4201f0
jmp 0x420190
add eax, 0xffffff81
cmp eax, 0xfffffffc
jae 0x42022d
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
xor esi, esi
mov edi, 1
xor ebx, ebx
jmp 0x41fe16
mov edi, dword [esp + 0x10]
mov ebx, 1
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x41fe16
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
test esi, esi
je 0x41fa93
push 0x42b1c4
push dword [esp + 0x10]
push ecx
call fcn.00427190
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 4]
add ecx, esi
cmp eax, ecx
cmova ecx, eax
push 0x42b1e4
push eax
push ecx
call fcn.00427190
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
add eax, esi
cmp ecx, eax
cmova eax, ecx
push 0x42b1e4
push ecx
push eax
call fcn.00427190
push 0x42b1d4
push esi
push eax
call fcn.00427190
push 0x42b1d4
push dword [esp + 8]
push ecx
call fcn.00427190
push 0x42b4bc
push eax
push 1
push eax
push esi
call fcn.00427500
push 0x42b4cc
push eax
push 2
push eax
push esi
call fcn.00427500
push 0x42b33c
push edx
push 2
push edx
push dword [ebp + 0xc]
call fcn.00427500
lea eax, [esp + 0x80]
push 0x42b51c
push 0x42b204
push eax
push 0x3d
push str._fmt::Error_s_should_be_impossible_without_a__fmt::Formatter_
call fcn.00427330
push 0x42b34c
push edx
push 3
push edx
push dword [ebp + 0xc]
call fcn.00427500
push 0x42b4ac
push eax
push 3
push eax
push esi
call fcn.00427500
int3