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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 8], edx
push 6
push str..llvm._rust_deps_rustc_demangle_0.1.24_src_lib.rs
push dword [ebp + 8]
call fcn.00447240
add esp, 0xc
cmp dword [esp + 0x38], 0
je 0x4b0030
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x14], eax
dec eax
cmp ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], edx
mov dword [esp], eax
je 0x4b008e
mov ebx, dword [esp + 0x54]
lea ecx, [ebx + eax]
cmp ecx, edi
jae 0x4b0268
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
sub esi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], esi
jmp 0x4aff3a
add ebx, dword [esp + 0x14]
mov dword [esp + 0x10], 0
mov eax, dword [esp]
lea ecx, [ebx + eax]
cmp ecx, edi
jae 0x4b0268
movzx ecx, byte [edx + ecx]
xor eax, eax
mov esi, 1
shld eax, esi, cl
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x2c]
and esi, dword [esp + 0x30]
or esi, eax
je 0x4aff20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x14]
add edx, ebx
cmp ecx, eax
cmova eax, ecx
cmp eax, edi
mov ecx, eax
mov dword [esp + 0x28], eax
cmova edi, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp edi, ecx
je 0x4affe0
mov eax, ecx
add ecx, ebx
mov esi, ebx
cmp ecx, dword [esp + 0x18]
jae 0x4b0918
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
movzx ebx, byte [ebx + eax]
cmp bl, byte [edx + eax]
mov ebx, esi
je 0x4aff90
sub ebx, dword [esp + 4]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], 0
lea ebx, [ebx + eax + 1]
jmp 0x4aff2c
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
nop dword [eax + eax]
cmp dword [esp + 0x10], ecx
jae 0x4b005e
dec ecx
cmp ecx, dword [esp + 0x14]
jae 0x4b08fd
lea edi, [ecx + ebx]
cmp edi, dword [esp + 0x18]
jae 0x4b0948
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + ecx]
cmp al, byte [edx + edi]
je 0x4afff0
mov eax, dword [esp + 0x20]
add ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jmp 0x4aff2c
lea ebx, [esp + 0x78]
lea edi, [esp + 0x38]
nop dword [eax + eax]
mov ecx, ebx
mov edx, edi
call fcn.004ae970
mov eax, dword [esp + 0x78]
cmp eax, 1
je 0x4b0040
test eax, eax
jne 0x4b0268
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 8]
mov edx, dword [ebp + 8]
mov esi, ebx
add esi, 6
je 0x4b01b2
cmp esi, edx
jae 0x4b01ac
cmp byte [ecx + esi], 0xbf
jg 0x4b01b2
push 0x512d00
push edx
push esi
call fcn.00446740
mov ebx, dword [esp + 0x54]
lea ecx, [ebx + eax]
cmp ecx, edi
jae 0x4b0268
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp esi, eax
cmova eax, esi
mov dword [esp + 0x10], eax
lea eax, [esi - 1]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + esi - 1]
mov dword [esp + 0x24], eax
jmp 0x4b00f2
add ebx, dword [esp + 0x14]
mov eax, dword [esp]
lea ecx, [ebx + eax]
cmp ecx, edi
jae 0x4b0268
movzx ecx, byte [edx + ecx]
xor eax, eax
mov esi, 1
shld eax, esi, cl
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x2c]
and esi, dword [esp + 0x30]
or esi, eax
je 0x4b00e0
mov eax, dword [esp + 4]
lea ecx, [edx + ebx]
nop word cs:[eax + eax]
nop dword [eax]
cmp dword [esp + 0x10], eax
je 0x4b0164
mov esi, eax
add eax, ebx
mov edx, ebx
cmp eax, edi
jae 0x4b0931
mov ebx, dword [esp + 0x1c]
lea eax, [esi + 1]
movzx ebx, byte [ebx + esi]
cmp bl, byte [ecx + esi]
mov ebx, edx
mov edx, dword [esp + 0xc]
je 0x4b0130
sub ebx, dword [esp + 4]
lea ebx, [ebx + esi + 1]
jmp 0x4b00e4
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x14]
jae 0x4b08f2
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 4]
add ecx, ebx
nop dword [eax]
sub edi, 1
jb 0x4b005e
cmp ecx, dword [esp + 0x18]
jae 0x4b094a
movzx eax, byte [esi]
dec esi
cmp al, byte [edx + ecx]
lea ecx, [ecx - 1]
je 0x4b0180
add ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
jmp 0x4b00e4
jne 0x4b0082
add esi, ecx
add ecx, edx
mov dword [esp + 0x1c], ebx
nop word [eax + eax]
cmp esi, ecx
je 0x4b02e7
movzx edx, byte [esi]
test dl, dl
js 0x4b01e0
inc esi
jmp 0x4b0250
mov eax, ecx
movzx ecx, byte [esi + 1]
mov edi, edx
and edi, 0x1f
and ecx, 0x3f
cmp dl, 0xdf
jbe 0x4b022f
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp dl, 0xf0
jb 0x4b023d
movzx edx, byte [esi + 3]
shl ebx, 6
and edi, 7
shl edi, 0x12
and edx, 0x3f
or edx, ebx
mov ebx, dword [esp + 0x1c]
or edx, edi
cmp edx, 0x110000
je 0x4b02e7
mov ecx, eax
add esi, 4
jmp 0x4b0250
shl edi, 6
add esi, 2
or edi, ecx
mov ecx, eax
mov edx, edi
jmp 0x4b0250
shl edi, 0xc
add esi, 3
mov ecx, eax
or ebx, edi
mov edx, ebx
mov ebx, dword [esp + 0x1c]
nop dword [eax]
lea eax, [edx - 0x40]
cmp eax, 7
jb 0x4b01c0
add edx, 0xffffffd0
cmp edx, 0xa
jb 0x4b01c0
mov ecx, dword [esp + 8]
mov edx, dword [ebp + 8]
cmp edx, 3
jae 0x4b02a4
mov esi, 2
cmp edx, 2
jne 0x4b08e4
movzx eax, word [ecx]
cmp eax, 0x4e5a
jne 0x4b03f1
mov eax, 0xfffffffe
mov ebx, 2
mov edx, 2
jmp 0x4b034d
movzx eax, word [ecx]
mov esi, edx
movzx edx, byte [ecx + 2]
xor eax, 0x5a5f
xor edx, 0x4e
or dx, ax
je 0x4b030b
movzx eax, word [ecx]
cmp eax, 0x4e5a
je 0x4b0321
mov ebx, 3
cmp esi, 3
je 0x4b03a6
cmp dword [ecx], 0x4e5a5f5f
mov edx, esi
je 0x4b06fc
mov ebx, edx
jmp 0x4b03a6
test ebx, ebx
je 0x4b0337
mov edx, dword [ebp + 8]
cmp ebx, edx
jae 0x4b0541
mov ecx, dword [esp + 8]
cmp byte [ecx + ebx], 0xbf
jle 0x4b054b
mov edx, ebx
jmp 0x4b026f
mov eax, 0xfffffffd
mov edx, 3
cmp esi, 3
jne 0x4b0341
mov ebx, 3
jmp 0x4b034d
cmp byte [ecx + 2], 0xbf
jle 0x4b0994
mov edx, 2
mov eax, 0xfffffffe
jmp 0x4b034b
mov esi, 2
jmp 0x4b08e4
cmp byte [ecx + 3], 0xbf
jle 0x4b09a3
mov ebx, esi
add edx, ecx
add eax, ebx
lea esi, [edx + eax]
mov ecx, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
nop
test eax, eax
je 0x4b036f
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x4b0360
jmp 0x4b039d
cmp dword [esp + 0x18], 0
je 0x4b039d
mov edi, dword [esp + 0x14]
movzx eax, byte [edi]
test al, al
js 0x4b0558
inc edi
mov edx, eax
cmp edx, 0x45
je 0x4b08a2
cmp edx, 0x110000
jne 0x4b05a1
mov ecx, dword [esp + 8]
cmp ebx, 3
jb 0x4b03f1
movzx eax, word [ecx]
cmp eax, 0x525f
je 0x4b0418
cmp byte [ecx], 0x52
je 0x4b0404
mov esi, 2
cmp ebx, 3
je 0x4b08e4
movzx eax, word [ecx]
movzx edx, byte [ecx + 2]
xor eax, 0x5f5f
xor edx, 0x52
or dx, ax
jne 0x4b08e4
movzx eax, byte [ecx + 3]
cmp al, 0xbf
jle 0x4b09b2
add ecx, 3
mov edx, 0xfffffffd
jmp 0x4b042c
cmp byte [ecx], 0x52
mov ebx, 2
mov esi, 2
jne 0x4b08e4
movzx eax, byte [ecx + 1]
cmp al, 0xbf
jle 0x4b0958
inc ecx
mov edx, 0xffffffff
jmp 0x4b042c
movzx eax, byte [ecx + 2]
cmp al, 0xbf
jle 0x4b0967
add ecx, 2
mov edx, 0xfffffffe
add al, 0xbf
mov esi, 2
cmp al, 0x19
ja 0x4b08e4
add edx, ebx
xor eax, eax
nop
cmp edx, eax
je 0x4b0452
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
jns 0x4b0440
jmp 0x4b08e4
mov dword [esp + 0x38], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x3c], edx
pxor xmm0, xmm0
lea ecx, [esp + 0x38]
xor edx, edx
movq qword [esp + 0x40], xmm0
movq qword [esp + 0x48], xmm0
call fcn.004ab5b0
test al, al
jne 0x4b0976
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4b08e4
movzx ecx, byte [esp + 0x3f]
movzx edx, word [esp + 0x3d]
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x3c]
movq xmm0, qword [esp + 0x40]
shl ecx, 0x10
or edx, ecx
shl edx, 8
or edx, eax
movd eax, xmm0
mov edi, edx
cmp eax, edx
jae 0x4b0726
mov edx, dword [esp + 0x10]
movzx ecx, byte [edx + eax]
add cl, 0xbf
cmp cl, 0x1a
jae 0x4b074d
mov dword [esp + 0x38], edx
lea ecx, [esp + 0x38]
xor edx, edx
mov dword [esp + 0x3c], edi
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call fcn.004ab5b0
test al, al
jne 0x4b0976
mov edi, dword [esp + 0x38]
test edi, edi
je 0x4b08e4
movzx edx, byte [esp + 0x3f]
movzx esi, word [esp + 0x3d]
movzx ecx, byte [esp + 0x3c]
mov eax, dword [esp + 0x40]
shl edx, 0x10
or esi, edx
mov edx, dword [esp + 8]
shl esi, 8
or esi, ecx
test eax, eax
jne 0x4b075b
jmp 0x4b0777
mov ecx, dword [esp + 8]
je 0x4b026f
push 0x512d10
push ebx
push 0
call fcn.00446740
mov dword [esp], esi
movzx esi, byte [edi + 1]
mov edx, eax
and edx, 0x1f
and esi, 0x3f
cmp al, 0xdf
jbe 0x4b0736
movzx ecx, byte [edi + 2]
shl esi, 6
and ecx, 0x3f
or ecx, esi
cmp al, 0xf0
jb 0x4b088e
movzx eax, byte [edi + 3]
and edx, 7
shl ecx, 6
lea esi, [edi + 4]
shl edx, 0x12
mov edi, esi
and eax, 0x3f
or eax, ecx
or edx, eax
jmp 0x4b0896
mov dword [esp + 4], 0
mov dword [esp + 0xc], ebx
mov dword [esp], esi
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x4b039d
xor eax, eax
jmp 0x4b05cf
inc edi
mov edx, ecx
cmp edx, 0x110000
je 0x4b039d
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jae 0x4b065f
mov edx, 0xa
mul edx
jo 0x4b039d
add eax, ecx
jb 0x4b039d
cmp edi, esi
je 0x4b039d
movzx ecx, byte [edi]
test cl, cl
jns 0x4b05c0
movzx ebx, byte [edi + 1]
mov edx, ecx
and edx, 0x1f
and ebx, 0x3f
cmp cl, 0xdf
jbe 0x4b063a
movzx esi, byte [edi + 2]
shl ebx, 6
and esi, 0x3f
or esi, ebx
cmp cl, 0xf0
jb 0x4b064b
movzx ecx, byte [edi + 3]
and edx, 7
shl esi, 6
add edi, 4
shl edx, 0x12
and ecx, 0x3f
or ecx, esi
or edx, ecx
jmp 0x4b0653
shl edx, 6
add edi, 2
or edx, ebx
mov ebx, dword [esp + 0xc]
jmp 0x4b05c3
shl edx, 0xc
add edi, 3
or edx, esi
mov ebx, dword [esp + 0xc]
mov esi, dword [esp]
jmp 0x4b05c3
test eax, eax
jne 0x4b0679
inc dword [esp + 4]
cmp edx, 0x45
jne 0x4b05b0
jmp 0x4b08aa
inc edi
dec eax
je 0x4b0663
cmp edi, esi
je 0x4b039d
movzx edx, byte [edi]
test dl, dl
jns 0x4b0675
movzx ebx, byte [edi + 1]
mov ecx, edx
and ecx, 0x1f
and ebx, 0x3f
cmp dl, 0xdf
jbe 0x4b06d6
movzx esi, byte [edi + 2]
shl ebx, 6
and esi, 0x3f
or esi, ebx
cmp dl, 0xf0
jb 0x4b06e6
movzx edx, byte [edi + 3]
shl esi, 6
and ecx, 7
mov ebx, dword [esp + 0xc]
shl ecx, 0x12
and edx, 0x3f
or edx, esi
mov esi, dword [esp]
or edx, ecx
cmp edx, 0x110000
je 0x4b039d
add edi, 4
jmp 0x4b0676
shl ecx, 6
add edi, 2
or ecx, ebx
mov ebx, dword [esp + 0xc]
mov edx, ecx
jmp 0x4b0676
shl ecx, 0xc
mov ebx, dword [esp + 0xc]
add edi, 3
or esi, ecx
mov edx, esi
mov esi, dword [esp]
jmp 0x4b0676
mov edi, edx
mov eax, 0xfffffffc
mov edx, 4
cmp edi, 5
jb 0x4b0743
cmp byte [ecx + 4], 0xbf
jg 0x4b034b
mov edx, esi
push 0x5128b0
push esi
push 4
call fcn.00446740
mov esi, edi
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x10]
test eax, eax
jne 0x4b075b
jmp 0x4b0777
shl edx, 6
add edi, 2
or edx, esi
jmp 0x4b0896
mov ebx, 4
jmp 0x4b034d
mov ecx, dword [esp + 8]
mov esi, edi
mov edi, edx
mov edx, ecx
test eax, eax
je 0x4b0777
cmp esi, eax
jbe 0x4b0775
cmp byte [edi + eax], 0xbf
jg 0x4b0777
mov ecx, edi
mov edx, esi
push 0x512aac
push esi
push eax
call fcn.00446740
jne 0x4b0765
add edi, eax
sub esi, eax
mov dword [esp + 0x14], 0
test esi, esi
je 0x4b08b8
cmp byte [edi], 0x2e
mov dword [esp], esi
mov esi, 2
jne 0x4b08e4
mov eax, dword [esp]
mov edx, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
add eax, edi
mov dword [esp + 0x1c], eax
mov al, 0x2e
test al, al
jns 0x4b0840
nop dword [eax]
movzx edi, byte [edx + 1]
mov ecx, eax
and cl, 0x1f
movzx ecx, cl
and edi, 0x3f
cmp al, 0xdf
jbe 0x4b080f
movzx ebx, byte [edx + 2]
shl edi, 6
and ebx, 0x3f
or ebx, edi
cmp al, 0xf0
jb 0x4b081f
movzx eax, byte [edx + 3]
and ecx, 7
shl ebx, 6
mov edi, dword [esp + 0x10]
shl ecx, 0x12
and eax, 0x3f
or eax, ebx
or eax, ecx
cmp eax, 0x110000
je 0x4b090b
mov ebx, dword [esp + 0xc]
add edx, 4
jmp 0x4b0844
shl ecx, 6
add edx, 2
or ecx, edi
mov edi, dword [esp + 0x10]
mov eax, ecx
jmp 0x4b0844
shl ecx, 0xc
mov edi, dword [esp + 0x10]
add edx, 3
or ebx, ecx
mov eax, ebx
mov ebx, dword [esp + 0xc]
jmp 0x4b0844
inc edx
movzx eax, al
lea ecx, [eax - 0x21]
cmp ecx, 0x19
jb 0x4b0869
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x4b0869
lea ecx, [eax - 0x3a]
cmp ecx, 7
jb 0x4b0869
lea ecx, [eax - 0x5b]
cmp ecx, 6
jae 0x4b087b
cmp edx, dword [esp + 0x1c]
je 0x4b0885
movzx eax, byte [edx]
test al, al
jns 0x4b0840
jmp 0x4b07c0
add eax, 0xffffff81
cmp eax, 0xfffffffc
jae 0x4b0869
jmp 0x4b08e4
mov edx, dword [esp + 8]
mov esi, dword [esp]
jmp 0x4b08ba
shl edx, 0xc
add edi, 3
or edx, ecx
mov esi, dword [esp]
cmp edx, 0x45
jne 0x4b0391
mov dword [esp + 4], 0
mov edx, dword [esp + 8]
sub esi, edi
test esi, esi
jne 0x4b078b
xor esi, esi
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], esi
mov esi, 1
mov eax, dword [esp + 0x34]
mov dword [eax], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 4], 0
je 0x4b005e
mov edx, dword [esp + 0x14]
push 0x5140b0
call fcn.00442900
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
jmp 0x4b0889
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
add ecx, esi
cmp edx, ecx
cmova ecx, edx
push 0x5140d0
call fcn.00442900
mov ecx, edx
mov edx, edi
add ecx, dword [esp + 4]
cmp edi, ecx
cmova ecx, edi
push 0x5140d0
call fcn.00442900
mov ecx, edi
mov edx, dword [esp + 0x18]
push 0x5140c0
call fcn.00442900
mov edx, ebx
push 0x512a3c
push ebx
push 1
call fcn.00446740
mov edx, ebx
push 0x512a4c
push ebx
push 2
call fcn.00446740
lea eax, [esp + 0x78]
mov ecx, str._fmt::Error_s_should_be_impossible_without_a__fmt::Formatter_
mov edx, 0x3d
push 0x512a9c
push 0x5127d8
push eax
call fcn.00444e30
mov edx, esi
push 0x5128c0
push esi
push 2
call fcn.00446740
mov edx, esi
push 0x5128d0
push esi
push 3
call fcn.00446740
mov edx, ebx
push 0x512a2c
push ebx
push 3
call fcn.00446740
nop word cs:[eax + eax]
nop dword [eax + eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [eax]
mov edi, dword [eax]
test edi, edi
je 0x4b1322
mov ecx, dword [eax + 4]
xor edx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x34], ecx
jmp 0x4b0a26
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push dword [ecx + 0x14]
call dword [eax + 0xc]
add esp, 0xc
test al, al
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
jne 0x4b1353
cmp edx, ecx
mov dword [ebp - 0x1c], edx
setne al
je 0x4b1353
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x30], eax
je 0x4b1360
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [edi]
xor ebx, ebx
inc eax
mov byte [ebp - 0x24], cl
mov dword [ebp - 0x38], eax
movzx eax, cl
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
lea esi, [eax - 1]
mov edx, eax
mov eax, ecx
mov dword [ebp - 0x10], esi
nop word cs:[eax + eax]
nop dword [eax]
test al, al
mov byte [ebp - 0x2c], al
js 0x4b0a80
movzx eax, al
jmp 0x4b0af0
mov ecx, eax
and al, 0x1f
movzx esi, al
movzx eax, byte [edi + ebx + 1]
and eax, 0x3f
cmp cl, 0xdf
jbe 0x4b0ad4
mov dword [ebp - 0x14], edx
mov edx, edi
movzx edi, byte [edi + ebx + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp cl, 0xf0
jb 0x4b0ae0
movzx eax, byte [edx + ebx + 3]
and esi, 7
shl edi, 6
shl esi, 0x12
and eax, 0x3f
or eax, edi
mov edi, edx
mov edx, dword [ebp - 0x14]
or eax, esi
mov esi, dword [ebp - 0x10]
cmp eax, 0x110000
jne 0x4b0af0
jmp 0x4b1360
shl esi, 6
or esi, eax
mov eax, esi
mov esi, dword [ebp - 0x10]
jmp 0x4b0af0
shl esi, 0xc
or edi, esi
mov esi, dword [ebp - 0x10]
mov eax, edi
mov edi, edx
mov edx, dword [ebp - 0x14]
nop
add eax, 0xffffffd0
lea ecx, [edi + ebx]
cmp eax, 9
ja 0x4b0b20
cmp esi, ebx
je 0x4b1360
movzx eax, byte [edi + ebx + 1]
cmp al, 0xbf
jle 0x4b138c
dec edx
inc ebx
jmp 0x4b0a70
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
sub esi, edx
je 0x4b0b37
cmp byte [edi + esi], 0xbf
jle 0x4b13c3
cmp esi, 1
je 0x4b0b60
test esi, esi
je 0x4b13d5
cmp byte [ebp - 0x24], 0x2b
jne 0x4b0b80
inc edi
cmp esi, 0xa
lea esi, [esi - 1]
mov dword [ebp - 0x10], edi
jb 0x4b0b90
jmp 0x4b0d20
mov eax, dword [ebp - 0x20]
mov dl, 1
mov dword [ebp - 0x10], edi
cmp eax, 0x2b
je 0x4b136c
mov esi, 1
cmp eax, 0x2d
jne 0x4b0b90
jmp 0x4b136c
cmp esi, 9
mov dword [ebp - 0x10], edi
jae 0x4b0d20
nop dword [eax]
mov edi, dword [ebp - 0x10]
xor ebx, ebx
nop word cs:[eax + eax]
nop
movzx eax, byte [edi]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4b136a
lea edx, [ebx + ebx*4]
inc edi
dec esi
lea ebx, [eax + edx*2]
jne 0x4b0ba0
mov ecx, dword [ebp - 0x18]
test ebx, ebx
je 0x4b0bd6
cmp dword [ebp - 0x14], ebx
jbe 0x4b0bd0
cmp byte [ecx + ebx], 0xbf
jg 0x4b0bd6
jmp 0x4b13af
jne 0x4b13af
mov eax, dword [ebp - 0x38]
lea esi, [ecx + ebx]
mov dword [ebp - 0x10], esi
cmp eax, dword [ebp - 0x34]
jne 0x4b0ccb
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x1c]
and eax, 4
je 0x4b0ccb
cmp byte [ebp - 0x2c], 0x68
jne 0x4b0ccb
test ebx, ebx
je 0x4b0ccb
cmp ebx, 1
je 0x4b0c1b
mov eax, dword [ebp - 0x18]
cmp byte [eax + 1], 0xbf
jle 0x4b1418
mov eax, dword [ebp - 0x18]
inc eax
nop
cmp eax, esi
je 0x4b131e
movzx ecx, byte [eax]
test cl, cl
js 0x4b0c40
inc eax
jmp 0x4b0cb0
movzx edi, byte [eax + 1]
mov edx, ecx
and edx, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x4b0c8a
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp cl, 0xf0
jb 0x4b0c99
movzx ecx, byte [eax + 3]
shl esi, 6
and edx, 7
shl edx, 0x12
and ecx, 0x3f
or ecx, esi
mov esi, dword [ebp - 0x10]
or ecx, edx
cmp ecx, 0x110000
je 0x4b131e
add eax, 4
jmp 0x4b0cb0
mov esi, dword [ebp - 0x10]
shl edx, 6
add eax, 2
or edx, edi
mov ecx, edx
jmp 0x4b0cb0
shl edx, 0xc
add eax, 3
or esi, edx
mov ecx, esi
mov esi, dword [ebp - 0x10]
nop word cs:[eax + eax]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x4b0c20
or ecx, 0x20
add ecx, 0xffffff9f
cmp ecx, 6
jb 0x4b0c20
cmp dword [ebp - 0x1c], 0
je 0x4b0cef
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x18]
push 2
push str.::__
push dword [ecx + 0x14]
call dword [eax + 0xc]
add esp, 0xc
test al, al
jne 0x4b135b
cmp ebx, 2
jae 0x4b0d00
mov esi, dword [ebp - 0x18]
mov edx, ebx
jmp 0x4b0d80
mov esi, dword [ebp - 0x18]
movzx eax, word [esi]
cmp eax, 0x245f
je 0x4b0d6f
mov edx, ebx
jmp 0x4b0d80
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
sub esi, 1
jb 0x4b0bb9
mov eax, ebx
mov edx, 0xa
mul edx
mov edx, dword [ebp - 0x10]
seto ch
movzx edi, byte [edx]
add edi, 0xffffffd0
cmp edi, 9
ja 0x4b136a
mov dl, 2
test ch, ch
jne 0x4b136c
inc dword [ebp - 0x10]
mov ebx, eax
add ebx, edi
jae 0x4b0d30
jmp 0x4b136c
cmp byte [esi + 1], 0xbf
jle 0x4b142f
inc esi
lea edx, [ebx - 1]
nop dword [eax]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
sub eax, ebx
mov dword [ebp - 0x28], eax
mov ebx, edx
test edx, edx
je 0x4b0dd0
movzx eax, byte [esi]
cmp eax, 0x24
je 0x4b0ec0
cmp eax, 0x2e
jne 0x4b0dd0
cmp ebx, 1
jne 0x4b0fb0
mov eax, dword [edi + 0x18]
push 1
push 0x5150bc
push dword [edi + 0x14]
call dword [eax + 0xc]
add esp, 0xc
test al, al
je 0x4b12ba
jmp 0x4b131a
mov edi, dword [ebp - 0x10]
lea eax, [esi + ebx]
xor edx, edx
mov ecx, esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x2c], eax
jmp 0x4b0e07
lea ebx, [ecx + 1]
mov eax, edx
cmp eax, 0x24
je 0x4b0e70
mov edx, esi
sub edx, ecx
mov ecx, ebx
add edx, ebx
cmp eax, 0x2e
je 0x4b0e70
cmp ecx, dword [ebp - 0x2c]
je 0x4b0a00
mov esi, edx
movzx edx, byte [ecx]
test dl, dl
jns 0x4b0df0
movzx edi, byte [ecx + 1]
mov eax, edx
and eax, 0x1f
and edi, 0x3f
cmp dl, 0xdf
jbe 0x4b0e56
movzx ebx, byte [ecx + 2]
shl edi, 6
and ebx, 0x3f
or ebx, edi
cmp dl, 0xf0
mov edi, ebx
jb 0x4b0e5e
movzx edx, byte [ecx + 3]
and eax, 7
shl edi, 6
lea ebx, [ecx + 4]
shl eax, 0x12
and edx, 0x3f
or edx, edi
or eax, edx
jmp 0x4b0e66
shl eax, 6
lea ebx, [ecx + 2]
jmp 0x4b0e64
shl eax, 0xc
lea ebx, [ecx + 3]
or eax, edi
mov edi, dword [ebp - 0x10]
cmp eax, 0x24
jne 0x4b0dfa
nop
test esi, esi
je 0x4b0f55
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
cmp esi, ebx
jae 0x4b0f7a
cmp byte [ecx + esi], 0xbf
jle 0x4b13a6
mov eax, dword [edi + 0x18]
push esi
push ecx
push dword [edi + 0x14]
mov edi, ecx
call dword [eax + 0xc]
add esp, 0xc
test al, al
jne 0x4b131a
cmp byte [edi + esi], 0xc0
mov ecx, edi
jl 0x4b13e5
mov edi, dword [ebp + 0xc]
jmp 0x4b0fa3
cmp ebx, 1
je 0x4b0ecf
cmp byte [esi + 1], 0xbf
jle 0x4b13fe
mov dword [ebp - 0x1c], ebx
lea eax, [ebx - 1]
lea ebx, [esi + 1]
lea ecx, [ebp - 0x68]
lea edx, [ebp - 0x54]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x54], 0x24
mov byte [ebp - 0x3c], 1
mov dword [ebp - 0x40], 0x24
call fcn.004ab3b0
cmp dword [ebp - 0x68], 0
mov edi, dword [ebp - 0x10]
je 0x4b0a00
mov esi, dword [ebp - 0x64]
cmp esi, 0xffffffff
je 0x4b13be
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
lea eax, [esi + 1]
cmp edx, 1
je 0x4b0f38
cmp byte [ebx], 0xbf
jle 0x4b1399
cmp eax, edx
mov dword [ebp - 0x20], esi
jae 0x4b1004
cmp byte [ecx + eax], 0xc0
jl 0x4b1399
add esi, 2
jmp 0x4b1014
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x18]
push 0
mov esi, dword [ebp - 0x14]
push esi
push dword [edi + 0x14]
call dword [eax + 0xc]
mov ecx, esi
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
xor esi, esi
test al, al
je 0x4b0fa3
jmp 0x4b131a
jne 0x4b13a6
test ecx, ecx
je 0x4b13a6
mov eax, dword [edi + 0x18]
push ebx
push ecx
push dword [edi + 0x14]
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x14]
add esp, 0xc
test al, al
mov esi, ebx
jne 0x4b131a
sub ebx, esi
add ecx, esi
mov edx, ebx
mov esi, ecx
jmp 0x4b0d8b
movzx eax, byte [esi + 1]
cmp al, 0xbf
jle 0x4b13f3
test al, al
js 0x4b1239
cmp eax, 0x2e
jne 0x4b1299
mov eax, dword [edi + 0x18]
push 2
push str.::__
push dword [edi + 0x14]
call dword [eax + 0xc]
add esp, 0xc
test al, al
jne 0x4b131a
cmp ebx, 3
jb 0x4b0ff7
cmp byte [esi + 2], 0xc0
jl 0x4b1440
add ebx, 0xfffffffe
add esi, 2
mov edx, ebx
jmp 0x4b0d8b
jne 0x4b1399
add esi, 2
mov eax, ecx
mov dword [ebp - 0x24], edx
je 0x4b105a
mov edx, dword [ebp - 0x1c]
mov eax, edx
sub eax, esi
mov dword [ebp - 0x24], eax
jbe 0x4b102e
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + esi], 0xbf
jg 0x4b1037
jmp 0x4b13d9
mov ecx, dword [ebp - 0x14]
jne 0x4b13d9
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp + 0xc]
add esi, ecx
cmp eax, 1
je 0x4b10e7
cmp eax, 2
je 0x4b107b
mov edi, dword [ebp - 0x10]
test eax, eax
mov eax, esi
je 0x4b0a00
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 1], 0x75
jne 0x4b0a00
mov ecx, dword [ebp - 0x14]
mov esi, eax
cmp byte [ecx + 2], 0xbf
jg 0x4b1104
jmp 0x4b1409
movzx eax, word [ebx]
cmp eax, 0x5053
je 0x4b1280
movzx eax, word [ebx]
cmp eax, 0x5042
je 0x4b12c3
movzx eax, word [ebx]
cmp eax, 0x4652
je 0x4b12df
movzx eax, word [ebx]
cmp eax, 0x544c
je 0x4b12e6
movzx eax, word [ebx]
cmp eax, 0x5447
je 0x4b12ed
movzx eax, word [ebx]
cmp eax, 0x504c
je 0x4b12f4
movzx eax, word [ebx]
cmp eax, 0x5052
je 0x4b12fb
mov edi, dword [ebp - 0x10]
mov eax, esi
jmp 0x4b105a
movzx ecx, byte [ebx]
mov eax, str._____
cmp ecx, 0x43
je 0x4b1300
mov edi, dword [ebp - 0x10]
cmp ecx, 0x75
jne 0x4b0a00
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x18], esi
lea ecx, [eax + 2]
add ebx, edx
dec edx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x58], ecx
nop dword [eax]
cmp ecx, dword [ebp - 0x2c]
mov bl, 1
je 0x4b11bc
movzx eax, byte [ecx]
test al, al
js 0x4b1140
inc ecx
jmp 0x4b11a2
movzx edi, byte [ecx + 1]
mov esi, eax
and esi, 0x1f
and edi, 0x3f
cmp al, 0xdf
jbe 0x4b1186
movzx edx, byte [ecx + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp al, 0xf0
jb 0x4b1192
movzx eax, byte [ecx + 3]
and esi, 7
shl edx, 6
mov edi, dword [ebp - 0x10]
shl esi, 0x12
and eax, 0x3f
or eax, edx
or eax, esi
mov esi, dword [ebp - 0x18]
cmp eax, 0x110000
je 0x4b11bc
add ecx, 4
jmp 0x4b11a2
shl esi, 6
add ecx, 2
or esi, edi
mov eax, esi
jmp 0x4b119c
shl esi, 0xc
add ecx, 3
or edx, esi
mov eax, edx
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
lea edx, [eax - 0x30]
cmp edx, 0xa
jb 0x4b1120
add eax, 0xffffff9f
cmp eax, 6
jb 0x4b1120
xor ebx, ebx
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x54]
push 0x10
push dword [ebp - 0x20]
call fcn.00449f10
add esp, 8
cmp byte [ebp - 0x54], 0
jne 0x4b0a00
mov ecx, dword [ebp - 0x50]
mov eax, ecx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
mov eax, 0x110000
cmovb ecx, eax
cmp ecx, 0x110000
sete al
xor bl, 1
or bl, al
jne 0x4b0a00
mov dword [ebp - 0x5c], ecx
call fcn.0044da30
test al, al
jne 0x4b0a00
mov edi, dword [ebp + 0xc]
push edi
lea eax, [ebp - 0x5c]
push eax
call fcn.00446de0
add esp, 8
mov edx, dword [ebp - 0x24]
test al, al
je 0x4b0d8b
jmp 0x4b131a
mov edx, esi
movzx esi, byte [esi + 2]
mov ecx, eax
and ecx, 0x1f
and esi, 0x3f
cmp al, 0xdf
jbe 0x4b1287
mov dword [ebp - 0x14], edx
movzx edx, byte [edx + 3]
shl esi, 6
and edx, 0x3f
or edx, esi
cmp al, 0xf0
jb 0x4b12ca
mov esi, dword [ebp - 0x14]
and ecx, 7
shl edx, 6
shl ecx, 0x12
movzx eax, byte [esi + 4]
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x2e
je 0x4b0fcd
jmp 0x4b1299
mov eax, 0x5129ca
jmp 0x4b1300
shl ecx, 6
or ecx, esi
mov esi, edx
mov eax, ecx
cmp eax, 0x2e
je 0x4b0fcd
mov eax, dword [edi + 0x18]
push 1
push 0x5150bc
push dword [edi + 0x14]
call dword [eax + 0xc]
add esp, 0xc
test al, al
jne 0x4b131a
cmp byte [esi + 1], 0xc0
jl 0x4b1424
dec ebx
inc esi
mov edx, ebx
jmp 0x4b0d8b
mov eax, 0x5129c9
jmp 0x4b1300
mov esi, dword [ebp - 0x14]
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x2e
je 0x4b0fcd
jmp 0x4b1299
mov eax, 0x5129c8
jmp 0x4b1300
mov eax, 0x5129c7
jmp 0x4b1300
mov eax, 0x5129c6
jmp 0x4b1300
mov eax, 0x5129c5
jmp 0x4b1300
mov eax, 0x514e1d
mov ecx, dword [edi + 0x18]
push 1
push eax
push dword [edi + 0x14]
call dword [ecx + 0xc]
add esp, 0xc
mov edx, dword [ebp - 0x24]
test al, al
je 0x4b0d8b
mov al, 1
jmp 0x4b1353
xor eax, eax
jmp 0x4b1353
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], edx
lea ecx, [ebp - 0x54]
mov edx, 1
mov dword [ebp - 0x40], 0
call fcn.004ab5b0
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x30]
jmp 0x4b1353
mov ecx, 0x5128f0
call fcn.00444f90
mov dl, 1
mov byte [ebp - 0x54], dl
mov ecx, str.called__Result::unwrap____on_an__Err__valueTERMdumbC:Userswin10_x64.cargo_registry_srcindex.crates.io_1cd66030c949c28d_termcolor_1.4.1_srclib.rs_ninternal_error:_entered_unreachable_code_rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_strmod.rs
mov edx, 0x2b
push 0x512920
push 0x512808
lea eax, [ebp - 0x54]
push eax
call fcn.00444e30
push 0x512900
push edx
push 1
call fcn.00446740
push 0x512984
push eax
push 1
call fcn.00446740
mov edx, ebx
push 0x512954
jmp 0x4b13cd
mov edx, dword [ebp - 0x14]
push 0x512930
push edx
push ebx
call fcn.00446740
call fcn.00447200
mov edx, dword [ebp - 0x28]
mov ecx, edi
push 0x512910
push esi
push 0
call fcn.00446740
xor edx, edx
jmp 0x4b136c
push 0x512994
push edx
push esi
call fcn.00446740
mov edx, ebx
push 0x512964
push ebx
push esi
call fcn.00446740
mov ecx, esi
mov edx, ebx
push 0x5129cc
jmp 0x4b1438
mov ecx, esi
mov edx, ebx
push 0x512974
jmp 0x4b1438
mov edx, dword [ebp - 0x20]
mov ecx, ebx
push 0x5129b4
jmp 0x4b1391
mov ecx, dword [ebp - 0x18]
mov edx, ebx
push 0x5128e0
jmp 0x4b1438
mov ecx, esi
mov edx, ebx
push 0x5129ec
jmp 0x4b1438
mov ecx, esi
mov edx, ebx
push 0x512944
push ebx
push 1
call fcn.00446740
mov ecx, esi
mov edx, ebx
push 0x5129dc
push ebx
push 2
call fcn.00446740
nop word cs:[eax + eax]
nop dword [eax + eax]
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x18]
push 0x12
push str.SizeLimitExhausted
push dword [eax + 0x14]
call dword [ecx + 0xc]
add esp, 0xc
pop ebp
ret