Function at 0x1001f6a0
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 edi, dword [ebp + 0x10]
lea eax, [esp + 0x30]
push 6
push str..llvm._rust_deps_rustc_demangle_0.1.24_src_lib.rs
push edi
push dword [ebp + 0xc]
push eax
call sym.core::str::pattern::StrSearcher::new::h0966312e43599328
add esp, 0x14
test byte [esp + 0x30], 1
je 0x1001f746
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x14], ecx
cmp ecx, 0xffffffff
mov ecx, dword [esp + 0x68]
lea esi, [eax - 1]
mov dword [esp + 0xc], eax
mov dword [esp], edx
mov dword [esp + 8], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ecx
je 0x1001f8a3
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
add ecx, esi
cmp ecx, edx
jae 0x1001fabe
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
sub esi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], esi
jmp 0x1001f7a3
lea esi, [esp + 0x78]
lea edi, [esp + 0x30]
nop
mov ecx, esi
mov edx, edi
call sym.__LT_core..str..pattern..StrSearcher_u20_as_u20_core..str..pattern..Searcher_GT_::next::h43dbbde5fff144a1
mov eax, dword [esp + 0x78]
cmp eax, 1
je 0x1001f750
test eax, eax
jne 0x1001f898
mov esi, dword [esp + 0x7c]
mov edi, dword [ebp + 0x10]
jmp 0x1001f9e3
mov esi, dword [esp + 4]
mov dword [esp + 0x14], 0
add esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esp + 4], esi
lea ecx, [esi + eax]
cmp ecx, edx
jae 0x1001fabe
movzx ecx, byte [ebx + 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 + 0x28]
and esi, dword [esp + 0x2c]
or esi, eax
je 0x1001f780
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 4]
cmp eax, esi
lea ebx, [ebx + ecx]
cmova esi, eax
mov eax, dword [esp + 0xc]
mov ecx, esi
cmp esi, eax
cmova eax, esi
nop dword [eax]
cmp eax, ecx
je 0x1001f840
mov edx, dword [esp + 4]
lea edi, [edx + ecx]
cmp edi, dword [esp]
jae 0x1002029b
mov edx, dword [esp + 0x10]
lea edi, [ecx + 1]
movzx edx, byte [edx + ecx]
cmp dl, byte [ebx + ecx]
mov ecx, edi
je 0x1001f7f0
mov esi, dword [esp + 4]
mov edx, dword [esp]
mov ebx, dword [esp + 8]
mov dword [esp + 0x14], 0
sub esi, dword [esp + 0x1c]
add esi, edi
mov edi, dword [ebp + 0x10]
jmp 0x1001f790
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x10]
mov esi, dword [esp + 4]
nop dword [eax + eax]
cmp dword [esp + 0x14], ecx
jae 0x1001f9e3
dec ecx
cmp ecx, dword [esp + 0xc]
jae 0x1002028c
lea eax, [ecx + esi]
cmp eax, dword [esp]
jae 0x100202cd
mov edx, dword [esp + 0x10]
movzx ebx, byte [edx + ecx]
mov edx, dword [esp + 8]
cmp bl, byte [edx + eax]
je 0x1001f850
mov eax, dword [esp + 0x20]
mov ebx, edx
add esi, dword [esp + 0x24]
mov edx, dword [esp]
mov dword [esp + 0x14], eax
jmp 0x1001f790
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
jmp 0x1001fac1
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
add ecx, esi
cmp ecx, edx
jae 0x1001fabe
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc]
cmp edx, eax
cmova eax, edx
mov dword [esp + 0x24], eax
lea eax, [edx - 1]
mov dword [esp + 0x20], eax
lea eax, [ebx + edx]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
lea eax, [eax + edx - 1]
mov dword [esp + 0x74], eax
jmp 0x1001f921
mov edi, dword [esp + 4]
add edi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esp + 4], edi
mov ebx, dword [esp + 8]
lea ecx, [edi + eax]
mov edi, dword [ebp + 0x10]
cmp ecx, dword [esp]
jae 0x1001fabe
movzx ecx, byte [ebx + ecx]
mov edi, 1
xor eax, eax
mov edx, 1
mov ebx, dword [esp + 0x10]
shld eax, edx, cl
shl edi, cl
test cl, 0x20
mov ecx, 0
mov edx, dword [esp + 0x1c]
cmovne eax, edi
cmovne edi, ecx
mov ecx, dword [esp + 0x24]
and eax, dword [esp + 0x28]
and edi, dword [esp + 0x2c]
or edi, eax
mov eax, dword [esp + 4]
je 0x1001f8fe
cmp edx, ecx
je 0x1001f98c
mov edi, edx
add edx, eax
cmp edx, dword [esp]
jae 0x100202b3
movzx edx, byte [ebx + edi]
mov esi, dword [esp + 0x14]
inc ebx
dec ecx
cmp dl, byte [esi + eax]
mov edx, edi
lea edi, [eax + 1]
mov eax, edi
je 0x1001f960
jmp 0x1001f906
mov ecx, dword [esp + 0x20]
mov edi, dword [ebp + 0x10]
cmp ecx, dword [esp + 0xc]
jae 0x1002027d
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
add ecx, eax
mov eax, dword [esp + 0x74]
nop dword [eax + eax]
sub ebx, 1
jb 0x1001f9df
cmp ecx, dword [esp]
jae 0x100202dc
mov esi, edi
movzx edx, byte [eax]
mov edi, dword [esp + 8]
dec eax
cmp dl, byte [edi + ecx]
lea ecx, [ecx - 1]
mov edi, esi
je 0x1001f9b0
mov edi, dword [esp + 4]
add edi, dword [esp + 0x70]
jmp 0x1001f906
mov esi, dword [esp + 4]
mov ecx, esi
add ecx, 6
je 0x1001fa09
cmp ecx, edi
jae 0x1001fa07
mov eax, dword [ebp + 0xc]
cmp byte [eax + ecx], 0xbf
jg 0x1001fa09
push 0x100ee968
push edi
push ecx
push edi
push dword [ebp + 0xc]
call sym.core::str::slice_error_fail::h3ba52b33a833cd0d
jne 0x1001f9f7
mov eax, dword [ebp + 0xc]
lea edx, [eax + edi]
add ecx, eax
mov dword [esp], edx
jmp 0x1001fa3b
inc ecx
lea eax, [ebx - 0x30]
cmp eax, 0xa
setb al
add ebx, 0xffffffc0
cmp ebx, 7
setb ah
or ah, al
je 0x1001fabe
cmp ecx, edx
je 0x1001fb3b
movzx ebx, byte [ecx]
test bl, bl
jns 0x1001fa20
movzx eax, byte [ecx + 1]
mov edx, esi
mov esi, ebx
and esi, 0x1f
and eax, 0x3f
cmp bl, 0xdf
jbe 0x1001fa9b
movzx edi, byte [ecx + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp bl, 0xf0
jb 0x1001faa7
movzx ebx, byte [ecx + 3]
and esi, 7
shl edi, 6
shl esi, 0x12
and ebx, 0x3f
or ebx, edi
mov edi, dword [ebp + 0x10]
or ebx, esi
mov esi, edx
mov edx, dword [esp]
cmp ebx, 0x110000
je 0x1001fb3b
add ecx, 4
jmp 0x1001fa21
shl esi, 6
add ecx, 2
or esi, eax
mov ebx, esi
jmp 0x1001fab4
shl esi, 0xc
add ecx, 3
or edi, esi
mov ebx, edi
mov edi, dword [ebp + 0x10]
mov esi, edx
mov edx, dword [esp]
jmp 0x1001fa21
mov ecx, dword [ebp + 0xc]
cmp edi, 3
jae 0x1001fadf
cmp edi, 2
jne 0x1001fb5f
cmp word [ecx], 0x4e5a
jne 0x1001fc31
jmp 0x1001fb99
movzx eax, word [ecx]
mov edx, ecx
movzx ecx, byte [ecx + 2]
xor eax, 0x5a5f
xor ecx, 0x4e
or cx, ax
je 0x1001fb68
cmp word [edx], 0x4e5a
mov ecx, edx
je 0x1001fb8f
cmp edi, 3
je 0x1001fc06
cmp dword [ecx], 0x4e5a5f5f
jne 0x1001fc06
mov edx, 4
mov ebx, 0xfffffffc
cmp edi, 5
jb 0x1001fba3
cmp byte [ecx + 4], 0xbf
jg 0x1001fba3
push 0x100ee4d4
push edi
push 4
push edi
push ecx
call sym.core::str::slice_error_fail::h3ba52b33a833cd0d
test esi, esi
je 0x1001fe1d
mov ecx, dword [ebp + 0xc]
cmp esi, edi
jae 0x1001fe32
cmp byte [ecx + esi], 0xbf
jle 0x1001fe38
mov edi, esi
jmp 0x1001fac1
mov dword [esp + 4], edi
jmp 0x1001fc94
mov ecx, dword [ebp + 0xc]
mov edx, 3
mov ebx, 0xfffffffd
cmp edi, 3
je 0x1001fba3
cmp byte [ecx + 3], 0xbf
jg 0x1001fba3
push 0x100ee4f4
push edi
push 3
push edi
push ecx
call sym.core::str::slice_error_fail::h3ba52b33a833cd0d
cmp byte [ecx + 2], 0xbf
jle 0x1002031c
mov edx, 2
mov ebx, 0xfffffffe
add edx, ecx
add ebx, edi
lea eax, [edx + ebx]
mov ecx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], eax
mov eax, ebx
nop word cs:[eax + eax]
test eax, eax
je 0x1001fbcf
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x1001fbc0
jmp 0x1001fbfe
test ebx, ebx
je 0x1001fbfe
mov eax, ebx
mov ebx, dword [esp + 0x18]
movzx edx, byte [ebx]
test dl, dl
js 0x1001fe7b
lea ecx, [ebx + 1]
mov ebx, eax
cmp edx, 0x45
je 0x10020127
cmp edx, 0x110000
jne 0x1001fef0
mov ecx, dword [ebp + 0xc]
cmp edi, 3
jb 0x1001fc31
cmp word [ecx], 0x525f
je 0x1001fcb0
cmp byte [ecx], 0x52
je 0x1001fc3b
cmp edi, 3
jne 0x1001fe47
mov dword [esp + 0x10], 0
mov dword [esp + 4], 3
jmp 0x1001fc7d
cmp byte [ecx], 0x52
mov edi, 2
jne 0x1001fc8c
movzx eax, byte [ecx + 1]
cmp al, 0xbf
jle 0x100202eb
lea ebx, [ecx + 1]
mov esi, 0xffffffff
add al, 0xbf
cmp al, 0x19
ja 0x1001fcca
add esi, edi
xor eax, eax
nop dword [eax]
cmp esi, eax
je 0x1001fd15
cmp byte [ebx + eax], 0
lea eax, [eax + 1]
jns 0x1001fc60
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0
mov dword [esp], 0
xor esi, esi
xor edi, edi
xor ebx, ebx
jmp 0x1001fce3
mov dword [esp + 4], 2
mov edx, 1
mov dword [esp + 0x10], 0
mov dword [esp], 0
xor esi, esi
xor edi, edi
xor ebx, ebx
jmp 0x1001fce8
movzx eax, byte [ecx + 2]
cmp al, 0xbf
jle 0x100202fa
lea ebx, [ecx + 2]
mov esi, 0xfffffffe
add al, 0xbf
cmp al, 0x19
jbe 0x1001fc55
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0
mov dword [esp], 0
xor edi, edi
xor ebx, ebx
xor esi, esi
mov edx, 1
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov dword [eax + 4], esi
mov esi, dword [esp]
mov dword [eax + 8], esi
mov esi, dword [esp + 0x10]
mov dword [eax + 0xc], esi
mov esi, dword [esp + 4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ebx
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], ebx
mov dword [esp + 0x34], esi
movq qword [esp + 0x38], xmm0
movq qword [esp + 0x40], xmm0
call sym.rustc_demangle::v0::Printer::print_path::h3ef018692c8b2bff
test al, al
jne 0x10020301
mov eax, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test eax, eax
je 0x1001fec8
movzx edx, byte [esp + 0x37]
mov dword [esp + 0x10], 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
mov dword [esp + 0xc], esi
jae 0x1001fdef
movzx edx, byte [eax + ecx]
add dl, 0xbf
cmp dl, 0x1a
jae 0x1001fdef
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x30]
xor edx, edx
mov dword [esp + 0x34], eax
movq qword [esp + 0x38], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
call sym.rustc_demangle::v0::Printer::print_path::h3ef018692c8b2bff
test al, al
jne 0x10020301
mov eax, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test eax, eax
je 0x1001fec8
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
mov dword [esp + 0xc], esi
test ecx, ecx
je 0x100200ff
cmp dword [esp + 0xc], ecx
jbe 0x100200f9
cmp byte [eax + ecx], 0xbf
jg 0x100200ff
push 0x100ee6d4
mov edx, dword [esp + 0x10]
push edx
push ecx
push edx
push eax
call sym.core::str::slice_error_fail::h3ba52b33a833cd0d
mov ecx, dword [ebp + 0xc]
mov edx, 1
mov dword [esp + 4], 0
jmp 0x1001fc99
je 0x1001fac1
push 0x100ee978
push esi
push 0
push edi
push ecx
call sym.core::str::slice_error_fail::h3ba52b33a833cd0d
movzx eax, word [ecx]
mov edx, ecx
movzx ecx, byte [ecx + 2]
xor eax, 0x5f5f
xor ecx, 0x52
or cx, ax
je 0x100200d4
mov dword [esp + 4], edi
mov ecx, edx
mov dword [esp], 0
mov dword [esp + 0x10], 0
jmp 0x1001fc84
mov esi, edi
movzx edi, byte [ebx + 1]
mov dword [esp], eax
mov eax, edx
and eax, 0x1f
and edi, 0x3f
cmp dl, 0xdf
jbe 0x100200c8
movzx ecx, byte [ebx + 2]
shl edi, 6
and ecx, 0x3f
or ecx, edi
cmp dl, 0xf0
jb 0x1002010d
movzx edx, byte [ebx + 3]
and eax, 7
shl ecx, 6
lea edi, [ebx + 4]
shl eax, 0x12
and edx, 0x3f
or edx, ecx
mov ecx, edi
or edx, eax
jmp 0x10020119
and cl, 1
mov dword [esp + 4], edi
mov dword [esp], 0
xor esi, esi
xor edi, edi
xor ebx, ebx
mov edx, 1
movzx eax, cl
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
jmp 0x1001fce8
mov dword [esp + 0x10], 0
mov dword [esp], ebx
lea eax, [edx - 0x30]
mov dword [esp + 8], ecx
cmp eax, 9
ja 0x1001fbfe
xor eax, eax
jmp 0x1001ff20
inc ecx
mov dword [esp + 8], ecx
cmp edx, 0x110000
je 0x1001fbfe
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jae 0x10020001
mov edx, 0xa
mul edx
jo 0x1001fbfe
add eax, ecx
jb 0x1001fbfe
mov ecx, dword [esp + 0xc]
cmp dword [esp + 8], ecx
je 0x1001fbfe
mov ecx, dword [esp + 8]
movzx edx, byte [ecx]
test dl, dl
jns 0x1001ff0f
movzx esi, byte [ecx + 1]
mov ebx, edx
and edx, 0x1f
mov dword [esp + 4], ebx
and esi, 0x3f
cmp bl, 0xdf
jbe 0x1001ffbb
movzx ebx, byte [ecx + 2]
shl esi, 6
and ebx, 0x3f
or ebx, esi
cmp byte [esp + 4], 0xf0
mov dword [esp + 0x14], ebx
jb 0x1001ffdb
movzx ebx, byte [ecx + 3]
mov esi, dword [esp + 0x14]
and edx, 7
add ecx, 4
shl edx, 0x12
mov dword [esp + 8], ecx
shl esi, 6
and ebx, 0x3f
or ebx, esi
or ebx, edx
mov edx, ebx
mov ebx, dword [esp]
cmp edx, 0x110000
jne 0x1001ff20
jmp 0x1001fbfe
shl edx, 6
add ecx, 2
mov dword [esp + 8], ecx
or edx, esi
mov ebx, dword [esp]
cmp edx, 0x110000
jne 0x1001ff20
jmp 0x1001fbfe
mov esi, dword [esp + 0x14]
shl edx, 0xc
add ecx, 3
mov dword [esp + 8], ecx
or esi, edx
mov edx, esi
mov ebx, dword [esp]
cmp edx, 0x110000
jne 0x1001ff20
jmp 0x1001fbfe
mov ecx, dword [esp + 8]
test eax, eax
jne 0x1002001f
inc dword [esp + 0x10]
cmp edx, 0x45
jne 0x1001fefb
jmp 0x1002012f
inc ecx
dec eax
je 0x10020009
cmp ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
je 0x1001fbfe
mov ecx, dword [esp + 8]
movzx edx, byte [ecx]
test dl, dl
jns 0x1002001b
movzx ecx, byte [ecx + 1]
mov ebx, edx
and ebx, 0x1f
and ecx, 0x3f
cmp dl, 0xdf
jbe 0x10020096
mov dword [esp + 4], ebx
mov ebx, dword [esp + 8]
shl ecx, 6
movzx ebx, byte [ebx + 2]
and ebx, 0x3f
or ebx, ecx
cmp dl, 0xf0
jb 0x100200ae
mov ecx, dword [esp + 8]
shl ebx, 6
movzx edx, byte [ecx + 3]
mov ecx, dword [esp + 4]
and edx, 0x3f
and ecx, 7
or edx, ebx
mov ebx, dword [esp]
shl ecx, 0x12
or edx, ecx
cmp edx, 0x110000
je 0x1001fbfe
mov ecx, dword [esp + 8]
add ecx, 4
jmp 0x1002001c
mov esi, dword [esp + 8]
shl ebx, 6
or ebx, ecx
mov edx, ebx
mov ebx, dword [esp]
add esi, 2
mov ecx, esi
jmp 0x1002001c
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
shl edx, 0xc
add ecx, 3
or ebx, edx
mov edx, ebx
mov ebx, dword [esp]
jmp 0x1002001c
shl eax, 6
lea ecx, [ebx + 2]
or eax, edi
mov edx, eax
jmp 0x10020119
movzx eax, byte [edx + 3]
mov ecx, edx
cmp al, 0xbf
jle 0x1002032b
lea ebx, [ecx + 3]
mov esi, 0xfffffffd
add al, 0xbf
cmp al, 0x19
jbe 0x1001fc55
jmp 0x1001fcca
jne 0x1001fe0b
sub dword [esp + 0xc], ecx
add eax, ecx
xor ecx, ecx
mov dword [esp + 8], eax
jmp 0x1002013b
shl eax, 0xc
lea edi, [ebx + 3]
or ecx, eax
mov edx, ecx
mov ecx, edi
mov ebx, dword [esp]
mov edi, esi
cmp edx, 0x45
jne 0x1001fbf2
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
sub dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0xc], 0
mov ecx, dword [ebp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edi
je 0x10020250
mov edx, dword [esp + 8]
cmp byte [edx], 0x2e
jne 0x1002023e
mov eax, dword [esp + 0xc]
mov ebx, edx
add eax, edx
mov dword [esp + 0x14], eax
mov al, 0x2e
mov esi, edi
test al, al
jns 0x100201e0
nop word cs:[eax + eax]
nop
movzx edi, byte [ebx + 1]
mov ecx, eax
and cl, 0x1f
movzx ecx, cl
and edi, 0x3f
cmp al, 0xdf
jbe 0x100201c7
movzx edx, byte [ebx + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp al, 0xf0
jb 0x100201d3
movzx eax, byte [ebx + 3]
and ecx, 7
shl edx, 6
shl ecx, 0x12
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x10020264
add ebx, 4
jmp 0x100201e4
shl ecx, 6
add ebx, 2
or ecx, edi
mov eax, ecx
jmp 0x100201e4
shl ecx, 0xc
add ebx, 3
or edx, ecx
mov eax, edx
jmp 0x100201e4
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 0x1002021d
lea ecx, [eax - 0x3a]
cmp ecx, 7
jb 0x1002021d
lea ecx, [eax - 0x5b]
cmp ecx, 6
jae 0x10020233
cmp ebx, dword [esp + 0x14]
je 0x10020264
movzx eax, byte [ebx]
mov edi, esi
mov esi, edi
test al, al
jns 0x100201e0
jmp 0x10020180
add eax, 0xffffff81
cmp eax, 0xfffffffc
jae 0x1002021d
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov edx, 1
mov esi, dword [esp + 0x18]
xor edi, edi
jmp 0x1001fce8
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov edi, 1
jmp 0x1001fce8
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov edi, 1
jmp 0x1001fce8
cmp dword [esp + 0x1c], 0
mov esi, dword [esp + 4]
je 0x1001f9e3
push 0x100ee364
push dword [esp + 0x10]
push ecx
call sym.core::panicking::panic_bounds_check::hf1cd1614d6353f3c
add esi, dword [esp + 4]
mov eax, dword [esp]
cmp eax, esi
cmova esi, eax
push 0x100ee384
push eax
push esi
call sym.core::panicking::panic_bounds_check::hf1cd1614d6353f3c
mov eax, dword [esp + 4]
mov ecx, dword [esp]
add eax, edi
cmp ecx, eax
cmova eax, ecx
push 0x100ee384
push ecx
push eax
call sym.core::panicking::panic_bounds_check::hf1cd1614d6353f3c
push 0x100ee374
push dword [esp + 4]
push eax
call sym.core::panicking::panic_bounds_check::hf1cd1614d6353f3c
push 0x100ee374
push dword [esp + 4]
push ecx
call sym.core::panicking::panic_bounds_check::hf1cd1614d6353f3c
push 0x100ee664
push edi
push 1
push edi
push ecx
call sym.core::str::slice_error_fail::h3ba52b33a833cd0d
push 0x100ee674
jmp 0x10020321
lea eax, [esp + 0x78]
push 0x100ee6c4
push 0x100ee3a4
push eax
push 0x3d
push str._fmt::Error_s_should_be_impossible_without_a__fmt::Formatter_
call sym.core::result::unwrap_failed::h534a40e08cfe968a
push 0x100ee4e4
push edi
push 2
push edi
push ecx
call sym.core::str::slice_error_fail::h3ba52b33a833cd0d
push 0x100ee654
jmp 0x1001fb85