Function at 0x4119c0
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.00415160
add esp, 0x14
test byte [esp + 0x30], 1
je 0x411a61
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 0x411ba7
mov edi, dword [esp + 0x4c]
add ecx, edi
cmp ecx, eax
jae 0x411d9f
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 0x411abf
lea esi, [esp + 0x80]
lea edi, [esp + 0x30]
nop dword [eax]
mov ecx, esi
mov edx, edi
call fcn.0040ca20
mov eax, dword [esp + 0x80]
cmp eax, 1
je 0x411a70
test eax, eax
jne 0x411d9f
mov edi, dword [esp + 0x84]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
jmp 0x411ce3
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 0x411d9f
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 0x411aa0
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 0x411b50
lea edi, [esi + ecx]
cmp edi, dword [esp + 4]
jae 0x4124e4
mov edx, dword [esp]
lea edi, [ecx + 1]
movzx edx, byte [edx + ecx]
cmp dl, byte [ebx + ecx]
mov ecx, edi
je 0x411b10
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 0x411ab0
mov edi, esi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 4]
nop word [eax + eax]
cmp dword [esp + 8], ecx
jae 0x411cdd
dec ecx
cmp ecx, dword [esp + 0xc]
jae 0x4124d5
lea eax, [ecx + edi]
cmp eax, esi
jae 0x41251a
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 0x411b60
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x20]
mov dword [esp + 8], eax
jmp 0x411ab0
mov edi, dword [esp + 0x4c]
add ecx, edi
cmp ecx, eax
jae 0x411d9f
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 0x411c1f
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 0x411d9f
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 0x411c02
nop dword [eax]
cmp esi, ecx
je 0x411c86
lea edx, [esi + eax]
cmp edx, dword [esp + 4]
jae 0x4124ff
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 0x411c60
jmp 0x411c0a
mov ecx, dword [esp + 0x7c]
cmp ecx, dword [esp + 0xc]
jae 0x4124c3
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, esi
add ecx, edi
sub ebx, 1
jb 0x411a94
cmp ecx, dword [esp + 4]
jae 0x412526
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 0x411ca0
add edi, dword [esp + 0x74]
jmp 0x411c0a
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, edi
add ecx, 6
je 0x411d04
cmp ecx, eax
jae 0x411d02
cmp byte [edx + ecx], 0xbf
jg 0x411d04
push 0x41b4dc
push eax
push ecx
push eax
push edx
call fcn.00418650
jne 0x411cf4
add ecx, edx
add edx, eax
mov dword [esp + 0x14], edi
jmp 0x411d27
inc ecx
lea eax, [esi - 0x30]
cmp eax, 0xa
setb al
add esi, 0xffffffc0
cmp esi, 7
setb ah
or ah, al
je 0x411d9f
cmp ecx, edx
je 0x411e0a
movzx eax, byte [ecx]
movzx esi, al
test al, al
jns 0x411d10
movzx ebx, byte [ecx + 1]
and esi, 0x1f
and ebx, 0x3f
cmp al, 0xdf
jbe 0x411d84
movzx edi, byte [ecx + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp al, 0xf0
jb 0x411d8e
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 0x411e0a
add ecx, 4
jmp 0x411d11
shl esi, 6
add ecx, 2
or esi, ebx
jmp 0x411d11
shl esi, 0xc
add ecx, 3
or esi, edi
mov edi, dword [esp + 0x14]
jmp 0x411d11
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp edx, 3
jae 0x411dce
cmp edx, 2
jne 0x411e2d
cmp word [esi], 0x4e5a
jne 0x411fb8
mov esi, 0xfffffffe
mov edx, 2
mov ecx, 2
jmp 0x411e81
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x5a5f
xor ecx, 0x4e
or cx, ax
je 0x411e36
cmp word [esi], 0x4e5a
je 0x411e4c
mov eax, 3
cmp edx, 3
je 0x411f88
cmp dword [esi], 0x4e5a5f5f
je 0x411f1e
mov eax, edx
jmp 0x411f88
test edi, edi
je 0x411e62
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
cmp edi, edx
jae 0x411ece
cmp byte [esi + edi], 0xbf
jle 0x411ed4
mov edx, edi
jmp 0x411da5
mov dword [esp + 4], edx
jmp 0x412052
mov esi, 0xfffffffd
mov ecx, 3
cmp edx, 3
jne 0x411e74
mov edx, 3
jmp 0x411e81
cmp byte [esi + 2], 0xbf
jle 0x412553
mov ecx, 2
mov esi, 0xfffffffe
jmp 0x411e81
mov edi, 1
mov dword [esp + 4], 0
jmp 0x412057
mov eax, dword [ebp + 0xc]
cmp byte [eax + 3], 0xbf
jle 0x412582
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 0x411eb2
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x411ea0
jmp 0x411f7c
test esi, esi
je 0x411f7c
mov ebx, dword [esp + 0xc]
movzx ecx, byte [ebx]
movzx edx, cl
test cl, cl
js 0x411ee3
inc ebx
jmp 0x411f67
je 0x411da5
push 0x41b4ec
push edi
push 0
push edx
push esi
call fcn.00418650
movzx edi, byte [ebx + 1]
and edx, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x411f4b
movzx eax, byte [ebx + 2]
shl edi, 6
and eax, 0x3f
or eax, edi
cmp cl, 0xf0
jb 0x411f5f
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 0x411f67
mov esi, 0xfffffffc
mov ecx, 4
cmp edx, 5
jb 0x411f55
mov eax, dword [ebp + 0xc]
cmp byte [eax + 4], 0xbf
jg 0x411e81
push 0x41b048
push edx
push 4
push edx
push dword [ebp + 0xc]
call fcn.00418650
shl edx, 6
add ebx, 2
or edx, edi
jmp 0x411f67
mov edx, 4
jmp 0x411e81
shl edx, 0xc
add ebx, 3
or edx, eax
cmp edx, 0x45
je 0x4121b5
cmp edx, 0x110000
jne 0x4121d5
mov eax, dword [esp + 4]
mov esi, dword [ebp + 0xc]
cmp eax, 2
jbe 0x411fb2
cmp word [esi], 0x525f
je 0x412013
cmp byte [esi], 0x52
je 0x411fc6
cmp eax, 3
jne 0x412188
mov dword [esp], 0
mov dword [esp + 4], 3
jmp 0x412008
jne 0x412052
cmp byte [esi], 0x52
mov eax, 2
jne 0x41204a
movzx ecx, byte [esi + 1]
cmp cl, 0xbf
jle 0x412535
inc esi
mov edi, 0xffffffff
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
ja 0x412034
add edi, eax
xor eax, eax
nop dword [eax]
cmp edi, eax
je 0x412092
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jns 0x411ff0
mov dword [esp], 0
xor edx, edx
xor ecx, ecx
mov edi, 1
jmp 0x412062
movzx ecx, byte [esi + 2]
cmp cl, 0xbf
jle 0x412544
add esi, 2
mov edi, 0xfffffffe
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
jbe 0x411fe5
mov dword [esp], 0
xor edx, edx
mov edi, 1
xor ebx, ebx
xor esi, esi
xor ecx, ecx
jmp 0x412066
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.0040f740
test al, al
jne 0x412564
mov ebx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test ebx, ebx
je 0x41235f
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 0x412160
movzx edx, byte [ebx + ecx]
add dl, 0xbf
cmp dl, 0x1a
jae 0x412160
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.0040f740
test al, al
jne 0x412564
mov ebx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test ebx, ebx
je 0x41235f
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 0x4123aa
cmp esi, ecx
jbe 0x4123a4
cmp byte [ebx + ecx], 0xbf
jg 0x4123aa
push 0x41b248
push esi
push ecx
push esi
push ebx
call fcn.00418650
movzx ecx, word [esi]
movzx edx, byte [esi + 2]
xor ecx, 0x5f5f
xor edx, 0x52
or dx, cx
je 0x41237a
mov dword [esp + 4], eax
xor edx, edx
xor ecx, ecx
mov dword [esp], 0
jmp 0x41200c
xor edi, edi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x18]
sub esi, ebx
test esi, esi
mov dword [esp], edi
jne 0x4123c1
mov edi, ebx
xor esi, esi
jmp 0x4124b1
xor edi, edi
mov dword [esp + 8], esi
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x411f7c
xor eax, eax
mov dword [esp], edi
nop dword [eax]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jae 0x4122ad
mov edx, 0xa
mul edx
jo 0x411f7c
add eax, ecx
jb 0x411f7c
cmp ebx, dword [esp + 0x18]
je 0x411f7c
mov ecx, ebx
movzx ebx, byte [ebx]
movzx edx, bl
test bl, bl
js 0x41222a
inc ecx
jmp 0x412273
movzx edi, byte [ecx + 1]
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x41226b
movzx esi, byte [ecx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
mov dword [esp + 0x10], esi
jb 0x412289
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 0x412293
shl edx, 6
add ecx, 2
or edx, edi
mov edi, dword [esp]
mov ebx, ecx
cmp edx, 0x110000
jne 0x4121f0
jmp 0x411f7c
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 0x4121f0
jmp 0x411f7c
test eax, eax
je 0x412350
cmp ebx, dword [esp + 0x18]
je 0x411f7c
mov ecx, ebx
movzx ebx, byte [ebx]
movzx edx, bl
test bl, bl
js 0x4122ce
inc ecx
jmp 0x412344
movzx edi, byte [ecx + 1]
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x412330
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 0x41233a
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 0x411f7c
mov ebx, ecx
add ebx, 4
jmp 0x412349
shl edx, 6
add ecx, 2
or edx, edi
jmp 0x412344
shl edx, 0xc
add ecx, 3
add edx, dword [esp + 0x10]
mov edi, dword [esp]
mov ebx, ecx
dec eax
jne 0x4122b5
inc edi
cmp edx, 0x45
jne 0x4121db
jmp 0x4121b7
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 0x412066
movzx ecx, byte [esi + 3]
cmp cl, 0xbf
jle 0x412593
add esi, 3
mov edi, 0xfffffffd
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
jbe 0x411fe5
jmp 0x412034
jne 0x41217a
add ebx, ecx
sub esi, ecx
mov dword [esp + 0xc], 0
test esi, esi
mov dword [esp], edi
je 0x4121cc
cmp byte [ebx], 0x2e
jne 0x412497
lea eax, [ebx + esi]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov al, 0x2e
test al, al
jns 0x412440
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 0x412427
movzx edi, byte [ebx + 2]
shl edx, 6
and edi, 0x3f
or edi, edx
cmp al, 0xf0
jb 0x412433
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 0x4124ad
add ebx, 4
jmp 0x412444
shl ecx, 6
add ebx, 2
or ecx, edx
mov eax, ecx
jmp 0x412444
shl ecx, 0xc
add ebx, 3
or edi, ecx
mov eax, edi
jmp 0x412444
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 0x41247d
lea ecx, [eax - 0x3a]
cmp ecx, 7
jb 0x41247d
lea ecx, [eax - 0x5b]
cmp ecx, 6
jae 0x41248f
cmp ebx, dword [esp + 0x18]
je 0x4124ad
movzx eax, byte [ebx]
test al, al
jns 0x412440
jmp 0x4123e0
add eax, 0xffffff81
cmp eax, 0xfffffffc
jae 0x41247d
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
xor esi, esi
mov edi, 1
xor ebx, ebx
jmp 0x412066
mov edi, dword [esp + 0x10]
mov ebx, 1
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x412066
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
test esi, esi
je 0x411ce3
push 0x41aee0
push dword [esp + 0x10]
push ecx
call fcn.004182e0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 4]
add ecx, esi
cmp eax, ecx
cmova ecx, eax
push 0x41af00
push eax
push ecx
call fcn.004182e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
add eax, esi
cmp ecx, eax
cmova eax, ecx
push 0x41af00
push ecx
push eax
call fcn.004182e0
push 0x41aef0
push esi
push eax
call fcn.004182e0
push 0x41aef0
push dword [esp + 8]
push ecx
call fcn.004182e0
push 0x41b1d8
push eax
push 1
push eax
push esi
call fcn.00418650
push 0x41b1e8
push eax
push 2
push eax
push esi
call fcn.00418650
push 0x41b058
push edx
push 2
push edx
push dword [ebp + 0xc]
call fcn.00418650
lea eax, [esp + 0x80]
push 0x41b238
push 0x41af20
push eax
push 0x3d
push str._fmt::Error_s_should_be_impossible_without_a__fmt::Formatter_
call fcn.00418480
push 0x41b068
push edx
push 3
push edx
push dword [ebp + 0xc]
call fcn.00418650
push 0x41b1c8
push eax
push 3
push eax
push esi
call fcn.00418650
int3