Function at 0x101b2fd0
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.101bcef0
add esp, 0x14
test byte [esp + 0x30], 1
je 0x101b3071
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 0x101b31b7
mov edi, dword [esp + 0x4c]
add ecx, edi
cmp ecx, eax
jae 0x101b33af
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 0x101b30cf
lea esi, [esp + 0x80]
lea edi, [esp + 0x30]
nop dword [eax]
mov ecx, esi
mov edx, edi
call fcn.101ae040
mov eax, dword [esp + 0x80]
cmp eax, 1
je 0x101b3080
test eax, eax
jne 0x101b33af
mov edi, dword [esp + 0x84]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
jmp 0x101b32f3
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 0x101b33af
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 0x101b30b0
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 0x101b3160
lea edi, [esi + ecx]
cmp edi, dword [esp + 4]
jae 0x101b3af4
mov edx, dword [esp]
lea edi, [ecx + 1]
movzx edx, byte [edx + ecx]
cmp dl, byte [ebx + ecx]
mov ecx, edi
je 0x101b3120
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 0x101b30c0
mov edi, esi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 4]
nop word [eax + eax]
cmp dword [esp + 8], ecx
jae 0x101b32ed
dec ecx
cmp ecx, dword [esp + 0xc]
jae 0x101b3ae5
lea eax, [ecx + edi]
cmp eax, esi
jae 0x101b3b2a
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 0x101b3170
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x20]
mov dword [esp + 8], eax
jmp 0x101b30c0
mov edi, dword [esp + 0x4c]
add ecx, edi
cmp ecx, eax
jae 0x101b33af
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 0x101b322f
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 0x101b33af
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 0x101b3212
nop dword [eax]
cmp esi, ecx
je 0x101b3296
lea edx, [esi + eax]
cmp edx, dword [esp + 4]
jae 0x101b3b0f
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 0x101b3270
jmp 0x101b321a
mov ecx, dword [esp + 0x7c]
cmp ecx, dword [esp + 0xc]
jae 0x101b3ad3
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, esi
add ecx, edi
sub ebx, 1
jb 0x101b30a4
cmp ecx, dword [esp + 4]
jae 0x101b3b36
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 0x101b32b0
add edi, dword [esp + 0x74]
jmp 0x101b321a
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, edi
add ecx, 6
je 0x101b3314
cmp ecx, eax
jae 0x101b3312
cmp byte [edx + ecx], 0xbf
jg 0x101b3314
push 0x1024b854
push eax
push ecx
push eax
push edx
call fcn.101cce60
jne 0x101b3304
add ecx, edx
add edx, eax
mov dword [esp + 0x14], edi
jmp 0x101b3337
inc ecx
lea eax, [esi - 0x30]
cmp eax, 0xa
setb al
add esi, 0xffffffc0
cmp esi, 7
setb ah
or ah, al
je 0x101b33af
cmp ecx, edx
je 0x101b341a
movzx eax, byte [ecx]
movzx esi, al
test al, al
jns 0x101b3320
movzx ebx, byte [ecx + 1]
and esi, 0x1f
and ebx, 0x3f
cmp al, 0xdf
jbe 0x101b3394
movzx edi, byte [ecx + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp al, 0xf0
jb 0x101b339e
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 0x101b341a
add ecx, 4
jmp 0x101b3321
shl esi, 6
add ecx, 2
or esi, ebx
jmp 0x101b3321
shl esi, 0xc
add ecx, 3
or esi, edi
mov edi, dword [esp + 0x14]
jmp 0x101b3321
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp edx, 3
jae 0x101b33de
cmp edx, 2
jne 0x101b343d
cmp word [esi], 0x4e5a
jne 0x101b35c8
mov esi, 0xfffffffe
mov edx, 2
mov ecx, 2
jmp 0x101b3491
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x5a5f
xor ecx, 0x4e
or cx, ax
je 0x101b3446
cmp word [esi], 0x4e5a
je 0x101b345c
mov eax, 3
cmp edx, 3
je 0x101b3598
cmp dword [esi], 0x4e5a5f5f
je 0x101b352e
mov eax, edx
jmp 0x101b3598
test edi, edi
je 0x101b3472
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
cmp edi, edx
jae 0x101b34de
cmp byte [esi + edi], 0xbf
jle 0x101b34e4
mov edx, edi
jmp 0x101b33b5
mov dword [esp + 4], edx
jmp 0x101b3662
mov esi, 0xfffffffd
mov ecx, 3
cmp edx, 3
jne 0x101b3484
mov edx, 3
jmp 0x101b3491
cmp byte [esi + 2], 0xbf
jle 0x101b3b63
mov ecx, 2
mov esi, 0xfffffffe
jmp 0x101b3491
mov edi, 1
mov dword [esp + 4], 0
jmp 0x101b3667
mov eax, dword [ebp + 0xc]
cmp byte [eax + 3], 0xbf
jle 0x101b3b92
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 0x101b34c2
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x101b34b0
jmp 0x101b358c
test esi, esi
je 0x101b358c
mov ebx, dword [esp + 0xc]
movzx ecx, byte [ebx]
movzx edx, cl
test cl, cl
js 0x101b34f3
inc ebx
jmp 0x101b3577
je 0x101b33b5
push 0x1024b864
push edi
push 0
push edx
push esi
call fcn.101cce60
movzx edi, byte [ebx + 1]
and edx, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x101b355b
movzx eax, byte [ebx + 2]
shl edi, 6
and eax, 0x3f
or eax, edi
cmp cl, 0xf0
jb 0x101b356f
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 0x101b3577
mov esi, 0xfffffffc
mov ecx, 4
cmp edx, 5
jb 0x101b3565
mov eax, dword [ebp + 0xc]
cmp byte [eax + 4], 0xbf
jg 0x101b3491
push 0x1024b3c0
push edx
push 4
push edx
push dword [ebp + 0xc]
call fcn.101cce60
shl edx, 6
add ebx, 2
or edx, edi
jmp 0x101b3577
mov edx, 4
jmp 0x101b3491
shl edx, 0xc
add ebx, 3
or edx, eax
cmp edx, 0x45
je 0x101b37c5
cmp edx, 0x110000
jne 0x101b37e5
mov eax, dword [esp + 4]
mov esi, dword [ebp + 0xc]
cmp eax, 2
jbe 0x101b35c2
cmp word [esi], 0x525f
je 0x101b3623
cmp byte [esi], 0x52
je 0x101b35d6
cmp eax, 3
jne 0x101b3798
mov dword [esp], 0
mov dword [esp + 4], 3
jmp 0x101b3618
jne 0x101b3662
cmp byte [esi], 0x52
mov eax, 2
jne 0x101b365a
movzx ecx, byte [esi + 1]
cmp cl, 0xbf
jle 0x101b3b45
inc esi
mov edi, 0xffffffff
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
ja 0x101b3644
add edi, eax
xor eax, eax
nop dword [eax]
cmp edi, eax
je 0x101b36a2
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jns 0x101b3600
mov dword [esp], 0
xor edx, edx
xor ecx, ecx
mov edi, 1
jmp 0x101b3672
movzx ecx, byte [esi + 2]
cmp cl, 0xbf
jle 0x101b3b54
add esi, 2
mov edi, 0xfffffffe
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
jbe 0x101b35f5
mov dword [esp], 0
xor edx, edx
mov edi, 1
xor ebx, ebx
xor esi, esi
xor ecx, ecx
jmp 0x101b3676
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.101b0d50
test al, al
jne 0x101b3b74
mov ebx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test ebx, ebx
je 0x101b396f
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 0x101b3770
movzx edx, byte [ebx + ecx]
add dl, 0xbf
cmp dl, 0x1a
jae 0x101b3770
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.101b0d50
test al, al
jne 0x101b3b74
mov ebx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test ebx, ebx
je 0x101b396f
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 0x101b39ba
cmp esi, ecx
jbe 0x101b39b4
cmp byte [ebx + ecx], 0xbf
jg 0x101b39ba
push 0x1024b5c0
push esi
push ecx
push esi
push ebx
call fcn.101cce60
movzx ecx, word [esi]
movzx edx, byte [esi + 2]
xor ecx, 0x5f5f
xor edx, 0x52
or dx, cx
je 0x101b398a
mov dword [esp + 4], eax
xor edx, edx
xor ecx, ecx
mov dword [esp], 0
jmp 0x101b361c
xor edi, edi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x18]
sub esi, ebx
test esi, esi
mov dword [esp], edi
jne 0x101b39d1
mov edi, ebx
xor esi, esi
jmp 0x101b3ac1
xor edi, edi
mov dword [esp + 8], esi
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x101b358c
xor eax, eax
mov dword [esp], edi
nop dword [eax]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jae 0x101b38bd
mov edx, 0xa
mul edx
jo 0x101b358c
add eax, ecx
jb 0x101b358c
cmp ebx, dword [esp + 0x18]
je 0x101b358c
mov ecx, ebx
movzx ebx, byte [ebx]
movzx edx, bl
test bl, bl
js 0x101b383a
inc ecx
jmp 0x101b3883
movzx edi, byte [ecx + 1]
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x101b387b
movzx esi, byte [ecx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
mov dword [esp + 0x10], esi
jb 0x101b3899
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 0x101b38a3
shl edx, 6
add ecx, 2
or edx, edi
mov edi, dword [esp]
mov ebx, ecx
cmp edx, 0x110000
jne 0x101b3800
jmp 0x101b358c
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 0x101b3800
jmp 0x101b358c
test eax, eax
je 0x101b3960
cmp ebx, dword [esp + 0x18]
je 0x101b358c
mov ecx, ebx
movzx ebx, byte [ebx]
movzx edx, bl
test bl, bl
js 0x101b38de
inc ecx
jmp 0x101b3954
movzx edi, byte [ecx + 1]
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x101b3940
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 0x101b394a
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 0x101b358c
mov ebx, ecx
add ebx, 4
jmp 0x101b3959
shl edx, 6
add ecx, 2
or edx, edi
jmp 0x101b3954
shl edx, 0xc
add ecx, 3
add edx, dword [esp + 0x10]
mov edi, dword [esp]
mov ebx, ecx
dec eax
jne 0x101b38c5
inc edi
cmp edx, 0x45
jne 0x101b37eb
jmp 0x101b37c7
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 0x101b3676
movzx ecx, byte [esi + 3]
cmp cl, 0xbf
jle 0x101b3ba3
add esi, 3
mov edi, 0xfffffffd
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
jbe 0x101b35f5
jmp 0x101b3644
jne 0x101b378a
add ebx, ecx
sub esi, ecx
mov dword [esp + 0xc], 0
test esi, esi
mov dword [esp], edi
je 0x101b37dc
cmp byte [ebx], 0x2e
jne 0x101b3aa7
lea eax, [ebx + esi]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov al, 0x2e
test al, al
jns 0x101b3a50
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 0x101b3a37
movzx edi, byte [ebx + 2]
shl edx, 6
and edi, 0x3f
or edi, edx
cmp al, 0xf0
jb 0x101b3a43
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 0x101b3abd
add ebx, 4
jmp 0x101b3a54
shl ecx, 6
add ebx, 2
or ecx, edx
mov eax, ecx
jmp 0x101b3a54
shl ecx, 0xc
add ebx, 3
or edi, ecx
mov eax, edi
jmp 0x101b3a54
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 0x101b3a8d
lea ecx, [eax - 0x3a]
cmp ecx, 7
jb 0x101b3a8d
lea ecx, [eax - 0x5b]
cmp ecx, 6
jae 0x101b3a9f
cmp ebx, dword [esp + 0x18]
je 0x101b3abd
movzx eax, byte [ebx]
test al, al
jns 0x101b3a50
jmp 0x101b39f0
add eax, 0xffffff81
cmp eax, 0xfffffffc
jae 0x101b3a8d
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
xor esi, esi
mov edi, 1
xor ebx, ebx
jmp 0x101b3676
mov edi, dword [esp + 0x10]
mov ebx, 1
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x101b3676
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
test esi, esi
je 0x101b32f3
push 0x1024b258
push dword [esp + 0x10]
push ecx
call fcn.101cc9d4
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 4]
add ecx, esi
cmp eax, ecx
cmova ecx, eax
push 0x1024b278
push eax
push ecx
call fcn.101cc9d4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
add eax, esi
cmp ecx, eax
cmova eax, ecx
push 0x1024b278
push ecx
push eax
call fcn.101cc9d4
push 0x1024b268
push esi
push eax
call fcn.101cc9d4
push 0x1024b268
push dword [esp + 8]
push ecx
call fcn.101cc9d4
push 0x1024b550
push eax
push 1
push eax
push esi
call fcn.101cce60
push 0x1024b560
push eax
push 2
push eax
push esi
call fcn.101cce60
push 0x1024b3d0
push edx
push 2
push edx
push dword [ebp + 0xc]
call fcn.101cce60
lea eax, [esp + 0x80]
push 0x1024b5b0
push 0x1024b298
push eax
push 0x3d
push str._fmt::Error_s_should_be_impossible_without_a__fmt::Formatter_
call fcn.101ccb80
push 0x1024b3e0
push edx
push 3
push edx
push dword [ebp + 0xc]
call fcn.101cce60
push 0x1024b540
push eax
push 3
push eax
push esi
call fcn.101cce60
int3