Function at 0x416b30
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
lea eax, [esp + 0x38]
push 6
push str..llvm.C:Users_runneradmin.cargo_registry_srcgithub.com_1285ae84e5963aae_rustc_demangle_0.1.21_srclib.rs
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.0041a820
add esp, 0x14
cmp dword [esp + 0x38], 1
jne 0x416bde
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 0x1c], edx
je 0x416d36
mov edi, dword [esp + 0x54]
lea ecx, [edi + ebx - 1]
cmp ecx, edx
jae 0x416e82
mov eax, dword [esp + 0x40]
lea edx, [ebx - 1]
mov dword [esp + 0x2c], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, ebx
sub eax, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
neg eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x30], eax
jmp 0x416c3f
lea esi, [esp + 0x78]
lea edi, [esp + 0x38]
nop word cs:[eax + eax]
mov ecx, esi
mov edx, edi
call fcn.00410db0
mov eax, dword [esp + 0x78]
cmp eax, 1
je 0x416bf0
test eax, eax
jne 0x416e82
mov edi, dword [esp + 0x7c]
jmp 0x416f2a
add edi, ebx
mov esi, edx
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
lea ecx, [edi + eax]
cmp ecx, edx
jae 0x416e82
mov cl, byte [esi + ecx]
xor eax, eax
mov edx, 1
shld eax, edx, cl
mov edx, esi
mov esi, 1
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x30]
and esi, dword [esp + 4]
or esi, eax
je 0x416c20
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea esi, [edx + edi]
mov edx, dword [esp + 0x1c]
cmp ecx, eax
cmova eax, ecx
mov ecx, eax
mov dword [esp + 0x20], eax
nop dword [eax]
cmp ecx, ebx
jae 0x416ce0
lea eax, [edi + ecx]
cmp eax, edx
jae 0x4177eb
mov ebx, dword [esp + 0x10]
lea eax, [ecx + 1]
movzx ebx, byte [ebx + ecx]
cmp bl, byte [esi + ecx]
mov ebx, dword [esp + 0xc]
mov ecx, eax
je 0x416c90
add edi, dword [esp + 0x24]
mov esi, dword [esp + 8]
mov dword [esp + 0x18], 0
add edi, eax
mov eax, dword [esp + 0x2c]
lea ecx, [edi + eax]
cmp ecx, edx
jb 0x416c3f
jmp 0x416e82
mov ecx, dword [esp + 0x14]
nop word cs:[eax + eax]
nop
cmp dword [esp + 0x18], ecx
jae 0x416f2a
dec ecx
cmp ecx, ebx
jae 0x417802
mov eax, dword [esp + 0x1c]
lea esi, [ecx + edi]
cmp esi, eax
jae 0x41780a
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 8]
movzx eax, byte [eax + ecx]
cmp al, byte [edx + esi]
je 0x416cf0
mov eax, dword [esp + 0x34]
add edi, dword [esp + 0x28]
mov esi, edx
mov dword [esp + 0x18], eax
jmp 0x416c2c
mov eax, dword [esp + 0x54]
lea ecx, [eax + ebx - 1]
cmp ecx, edx
jae 0x416e82
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov edi, ebx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
cmp eax, ebx
mov dword [esp + 0x20], eax
cmova edi, eax
mov dword [esp + 0x14], edi
lea edi, [eax - 1]
lea eax, [ebx - 1]
cmp edi, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edi
jae 0x41783e
mov eax, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
add eax, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x24], eax
jmp 0x416db2
mov esi, edi
mov edi, dword [esp + 4]
add edi, ebx
mov eax, dword [esp + 0x28]
lea ecx, [edi + eax]
cmp ecx, edx
jae 0x416e82
mov cl, byte [esi + ecx]
mov dword [esp + 4], edi
xor eax, eax
mov edi, 1
shld eax, edi, cl
mov edi, esi
mov esi, 1
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 0x416d9b
mov eax, dword [esp + 4]
mov ecx, eax
lea esi, [edi + eax]
mov ebx, eax
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
neg ecx
nop dword [eax + eax]
cmp dword [esp + 0x14], edi
je 0x416e2c
lea eax, [ebx + edi]
cmp eax, edx
jae 0x4178e9
mov eax, dword [esp + 0x10]
dec ecx
movzx eax, byte [eax + edi]
cmp al, byte [esi + edi]
mov eax, dword [esp + 0x18]
lea edi, [edi + 1]
je 0x416e00
neg ecx
mov edi, ecx
jmp 0x416e6b
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
lea ecx, [eax + ebx]
nop word [eax + eax]
sub esi, 1
jb 0x416f28
cmp ecx, edx
jae 0x417816
movzx eax, byte [edi]
mov edx, dword [esp + 8]
dec edi
cmp al, byte [edx + ecx]
mov edx, dword [esp + 0x1c]
lea ecx, [ecx - 1]
je 0x416e40
mov edi, ebx
add edi, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x28]
lea ecx, [edi + eax]
cmp ecx, edx
jb 0x416db2
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
cmp ecx, 3
jb 0x4170b2
movzx eax, word [edx]
mov esi, ecx
movzx ecx, byte [edx + 2]
xor eax, 0x5a5f
xor ecx, 0x4e
or cx, ax
je 0x416ef6
mov ecx, esi
movzx eax, word [edx]
cmp eax, 0x4e5a
je 0x4170ca
cmp ecx, 4
jb 0x41742c
cmp dword [edx], 0x4e5a5f5f
jne 0x417431
mov edi, 0xfffffffc
mov ebx, 4
cmp ecx, 5
jb 0x4170fc
cmp byte [edx + 4], 0xbf
jg 0x417101
push 0x42069c
push ecx
push 4
jmp 0x41791f
mov edi, 0xfffffffd
mov ebx, 3
cmp esi, 4
jb 0x416f1e
cmp byte [edx + 3], 0xbf
mov ecx, esi
jg 0x417101
push 0x42067c
push ecx
push 3
jmp 0x41791f
mov ecx, 3
jmp 0x417101
mov edi, ebx
mov edx, dword [ebp + 0xc]
mov ecx, edi
add ecx, 6
je 0x416f51
cmp ecx, dword [ebp + 0x10]
jae 0x416f4f
cmp byte [edx + ecx], 0xbf
jg 0x416f51
push 0x420ba4
mov eax, dword [ebp + 0x10]
push eax
push ecx
push eax
jmp 0x417920
jne 0x416f3f
cmp ecx, dword [ebp + 0x10]
jne 0x416f83
test edi, edi
je 0x417090
mov ecx, dword [ebp + 0x10]
cmp edi, ecx
jae 0x4170a3
cmp byte [edx + edi], 0xbf
jle 0x417903
mov ecx, edi
cmp ecx, 3
jb 0x4170b2
jmp 0x416e91
mov eax, dword [ebp + 0x10]
add ecx, edx
mov dword [esp + 4], edi
add eax, edx
mov dword [esp + 0x10], eax
jmp 0x416fa4
cmp ecx, eax
je 0x416f56
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
movzx esi, bl
test bl, bl
js 0x416fc0
mov edi, dword [esp + 4]
mov ecx, eax
jmp 0x417060
mov edi, dword [esp + 0x10]
cmp eax, edi
mov eax, edi
je 0x416ffe
movzx edi, byte [ecx + 1]
add ecx, 2
and edi, 0x3f
and esi, 0x1f
cmp bl, 0xdf
jbe 0x41700a
cmp ecx, eax
je 0x417015
movzx edx, byte [ecx]
inc ecx
and edx, 0x3f
shl edi, 6
or edi, edx
cmp bl, 0xf0
jb 0x417023
cmp ecx, eax
je 0x417031
movzx ebx, byte [ecx]
inc ecx
and ebx, 0x3f
jmp 0x417035
xor edi, edi
mov ecx, eax
and esi, 0x1f
cmp bl, 0xdf
ja 0x416fdc
shl esi, 6
or esi, edi
mov edi, dword [esp + 4]
jmp 0x417060
xor edx, edx
mov ecx, eax
shl edi, 6
or edi, edx
cmp bl, 0xf0
jae 0x416ff1
shl esi, 0xc
mov edx, dword [ebp + 0xc]
or esi, edi
mov edi, dword [esp + 4]
jmp 0x417060
xor ebx, ebx
mov ecx, eax
and esi, 7
shl edi, 6
mov edx, dword [ebp + 0xc]
shl esi, 0x12
or edi, esi
or edi, ebx
cmp edi, 0x110000
mov esi, edi
mov edi, dword [esp + 4]
je 0x416f56
nop word [eax + eax]
lea eax, [esi - 0x41]
cmp eax, 6
mov eax, dword [esp + 0x10]
jb 0x416fa0
cmp esi, 0x30
jb 0x416e85
cmp esi, 0x3a
jb 0x416fa0
cmp esi, 0x40
je 0x416fa0
jmp 0x416e85
mov esi, str.recursion_limit_reachedinvalid_syntax
mov edi, 2
xor ecx, ecx
xor ebx, ebx
jmp 0x417550
jne 0x417903
cmp ecx, 3
jae 0x416e91
cmp ecx, 2
jne 0x4170e9
mov ecx, 2
movzx eax, word [edx]
cmp eax, 0x4e5a
jne 0x416eb7
mov edi, 0xfffffffe
mov ebx, 2
cmp ecx, 3
jb 0x4170f5
cmp byte [edx + 2], 0xbf
jg 0x417101
push 0x42068c
jmp 0x41791c
mov esi, str.recursion_limit_reachedinvalid_syntax
xor ebx, ebx
jmp 0x41754b
mov ecx, 2
jmp 0x417101
mov ecx, 4
add edi, ecx
add ebx, edx
mov dword [esp + 8], ecx
lea esi, [ebx + edi]
mov eax, edi
mov ecx, ebx
test eax, eax
je 0x417122
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x417110
jmp 0x417428
test edi, edi
je 0x417428
mov cl, byte [ebx]
lea eax, [ebx + 1]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], esi
movzx ebx, cl
test cl, cl
js 0x417149
mov ecx, dword [esp + 8]
mov esi, eax
jmp 0x4171ee
mov edx, esi
cmp edi, 1
mov esi, eax
mov dword [esp + 0x18], 0
je 0x41716e
mov eax, dword [esp + 0x1c]
lea esi, [eax + 2]
movzx eax, byte [eax + 1]
mov edx, esi
and eax, 0x3f
mov dword [esp + 0x18], eax
and ebx, 0x1f
cmp cl, 0xdf
jbe 0x41718f
mov eax, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x10], edi
cmp edx, esi
je 0x41719b
movzx edi, byte [edx]
inc edx
mov esi, edx
and edi, 0x3f
jmp 0x4171a1
shl ebx, 6
mov edx, dword [ebp + 0xc]
add ebx, dword [esp + 0x18]
jmp 0x4171ea
mov edx, esi
xor edi, edi
mov esi, eax
mov eax, dword [esp + 0x18]
shl eax, 6
or eax, edi
cmp cl, 0xf0
jb 0x4171c0
cmp edx, dword [esp + 0xc]
je 0x4171d2
movzx ecx, byte [edx]
inc edx
mov esi, edx
and ecx, 0x3f
jmp 0x4171d4
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x10]
shl ebx, 0xc
or ebx, eax
jmp 0x4171ee
xor ecx, ecx
and ebx, 7
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x10]
shl eax, 6
shl ebx, 0x12
or eax, ebx
or eax, ecx
mov ebx, eax
mov ecx, dword [esp + 8]
cmp ebx, 0x45
je 0x41757e
cmp ebx, 0x110000
je 0x41742c
xor eax, eax
mov dword [esp + 0x10], edi
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x41742c
mov dword [esp + 0x18], eax
xor eax, eax
jmp 0x417244
mov edi, dword [esp + 0x10]
shl edx, 0xc
or edx, ebx
nop word cs:[eax + eax]
mov dword [esp + 0x14], 0
lea ebx, [edx - 0x30]
cmp ebx, 0xa
jae 0x417329
mov ecx, 0xa
mul ecx
seto dl
add eax, ebx
setb cl
test dl, dl
jne 0x417425
mov edx, dword [ebp + 0xc]
test cl, cl
jne 0x417428
cmp esi, dword [esp + 0xc]
je 0x417428
mov ebx, esi
inc esi
movzx ecx, byte [ebx]
movzx edx, cl
test cl, cl
jns 0x417230
mov edi, ebx
mov ebx, dword [esp + 0xc]
cmp esi, ebx
je 0x417295
movzx ebx, byte [edi + 1]
mov esi, edi
add esi, 2
and ebx, 0x3f
jmp 0x417299
mov esi, ebx
xor ebx, ebx
mov edi, dword [esp + 0x10]
and edx, 0x1f
cmp cl, 0xdf
mov dword [esp + 0x14], 0
jbe 0x4172cc
mov edi, dword [esp + 0xc]
cmp esi, edi
je 0x4172d6
movzx edi, byte [esi]
inc esi
and edi, 0x3f
shl ebx, 6
or ebx, edi
cmp cl, 0xf0
jb 0x41721d
jmp 0x4172e8
shl edx, 6
or edx, ebx
jmp 0x417238
mov esi, edi
xor edi, edi
shl ebx, 6
or ebx, edi
cmp cl, 0xf0
jb 0x41721d
mov edi, dword [esp + 0xc]
cmp esi, edi
je 0x4172f9
movzx ecx, byte [esi]
inc esi
and ecx, 0x3f
jmp 0x4172fd
xor ecx, ecx
mov esi, edi
and edx, 7
mov edi, dword [esp + 0x10]
shl ebx, 6
mov dword [esp + 0x14], 0
shl edx, 0x12
or ebx, edx
or ebx, ecx
cmp ebx, 0x110000
mov edx, ebx
jne 0x417238
jmp 0x417425
test eax, eax
jne 0x417355
mov eax, dword [esp + 0x18]
mov ebx, edx
mov ecx, dword [esp + 8]
inc eax
cmp edx, 0x45
mov edx, dword [ebp + 0xc]
jne 0x417209
jmp 0x417588
shl edx, 6
add edx, dword [esp + 4]
dec eax
mov esi, ebx
je 0x41732d
cmp esi, dword [esp + 0xc]
je 0x417425
movzx ecx, byte [esi]
lea ebx, [esi + 1]
movzx edx, cl
test cl, cl
jns 0x417350
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc]
cmp dword [esp + 4], ebx
je 0x417394
movzx ebx, byte [esi + 1]
add esi, 2
and ebx, 0x3f
mov dword [esp + 4], ebx
mov ebx, esi
and edx, 0x1f
cmp cl, 0xdf
jbe 0x417349
jmp 0x4173a4
mov dword [esp + 4], 0
and edx, 0x1f
cmp cl, 0xdf
jbe 0x417349
mov esi, dword [esp + 0xc]
cmp ebx, esi
je 0x4173b9
movzx esi, byte [ebx]
inc ebx
and esi, 0x3f
mov dword [esp + 0x14], esi
jmp 0x4173c3
mov dword [esp + 0x14], 0
mov ebx, esi
mov esi, dword [esp + 4]
shl esi, 6
add esi, dword [esp + 0x14]
cmp cl, 0xf0
jb 0x4173e8
mov dword [esp + 4], esi
mov esi, dword [esp + 0xc]
cmp ebx, esi
je 0x4173fa
movzx ecx, byte [ebx]
inc ebx
and ecx, 0x3f
jmp 0x4173fe
shl edx, 0xc
mov dword [esp + 0x14], 0
or edx, esi
jmp 0x417350
xor ecx, ecx
mov ebx, esi
mov esi, dword [esp + 4]
and edx, 7
mov dword [esp + 0x14], 0
shl edx, 0x12
shl esi, 6
or esi, edx
or esi, ecx
cmp esi, 0x110000
mov edx, esi
jne 0x417350
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
cmp ecx, 3
jb 0x417470
movzx eax, word [edx]
cmp eax, 0x525f
je 0x41749e
cmp byte [edx], 0x52
je 0x417483
cmp ecx, 3
jbe 0x41753f
movzx eax, word [edx]
mov dword [esp + 8], ecx
movzx ecx, byte [edx + 2]
xor eax, 0x5f5f
xor ecx, 0x52
or cx, ax
je 0x417632
mov ecx, dword [esp + 8]
xor ebx, ebx
jmp 0x417546
cmp ecx, 2
jne 0x4174d1
cmp byte [edx], 0x52
mov ecx, 2
jne 0x417544
mov al, byte [edx + 1]
cmp al, 0xbf
jle 0x41790d
lea ebx, [edx + 1]
mov edi, 0xffffffff
add al, 0xbf
cmp al, 0x19
jbe 0x4174b7
jmp 0x4174cd
mov al, byte [edx + 2]
cmp al, 0xbf
jle 0x417917
lea ebx, [edx + 2]
mov edi, 0xfffffffe
add al, 0xbf
cmp al, 0x19
ja 0x4174cd
add edi, ecx
xor eax, eax
nop dword [eax + eax]
cmp edi, eax
je 0x4174df
cmp byte [ebx + eax], 0
lea eax, [eax + 1]
jns 0x4174c0
xor ebx, ebx
jmp 0x417546
mov edi, 2
xor ebx, ebx
mov esi, str.recursion_limit_reachedinvalid_syntax
jmp 0x417550
mov dword [esp + 8], ecx
lea ecx, [esp + 0x38]
xor edx, edx
mov byte [esp + 0x38], 0
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
call fcn.00412b00
test al, al
jne 0x41792b
cmp byte [esp + 0x38], 1
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
jne 0x41759f
mov edi, 2
xor ebx, ebx
mov esi, str.recursion_limit_reachedinvalid_syntax
jmp 0x417550
mov ecx, 3
xor ebx, ebx
mov esi, str.recursion_limit_reachedinvalid_syntax
mov edi, 2
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x10]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x18]
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x14], 0
xor eax, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
sub edi, esi
jmp 0x4176a3
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], esi
cmp eax, esi
jae 0x41765c
mov esi, dword [esp + 4]
mov cl, byte [esi + eax]
add cl, 0xbf
cmp cl, 0x1a
jae 0x417658
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xc]
mov byte [esp + 0x38], 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x38]
xor edx, edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call fcn.00412b00
test al, al
jne 0x41792b
cmp byte [esp + 0x38], 1
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
je 0x417531
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
jmp 0x417660
mov al, byte [edx + 3]
cmp al, 0xbf
jle 0x41794b
mov ecx, dword [esp + 8]
lea ebx, [edx + 3]
mov edi, 0xfffffffd
add al, 0xbf
cmp al, 0x19
jbe 0x4174b7
jmp 0x4174cd
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
test eax, eax
mov dword [esp + 0x10], edi
je 0x417689
cmp esi, eax
jbe 0x417687
mov edi, dword [esp + 4]
cmp byte [edi + eax], 0xbf
jg 0x417689
push 0x420864
push esi
push eax
push esi
push dword [esp + 0x14]
jmp 0x417921
jne 0x417676
mov edi, dword [esp + 4]
sub esi, eax
mov dword [esp + 0x14], 1
mov dword [esp + 0xc], esi
add edi, eax
mov esi, edi
mov edi, dword [esp + 0xc]
test edi, edi
mov eax, edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], ebx
je 0x4177e0
cmp byte [esi], 0x2e
jne 0x41782d
mov eax, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov cl, 0x2e
mov edi, esi
mov dword [esp + 4], esi
add eax, esi
lea edx, [edi + 1]
test cl, cl
jns 0x417780
jmp 0x4176ef
mov cl, byte [edx]
mov edi, edx
lea edx, [edi + 1]
test cl, cl
jns 0x417780
mov ch, cl
and ch, 0x1f
cmp edx, eax
je 0x41772e
movzx ebx, byte [edi + 1]
add edi, 2
mov edx, edi
and ebx, 0x3f
movzx edi, ch
cmp cl, 0xdf
jbe 0x41773a
cmp edx, eax
je 0x417741
movzx esi, byte [edx]
inc edx
and esi, 0x3f
shl ebx, 6
or ebx, esi
cmp cl, 0xf0
jb 0x41774f
cmp edx, eax
je 0x41775a
movzx ecx, byte [edx]
inc edx
and ecx, 0x3f
jmp 0x41775e
xor ebx, ebx
mov edx, eax
movzx edi, ch
cmp cl, 0xdf
ja 0x41770c
shl edi, 6
or ebx, edi
jmp 0x417783
xor esi, esi
mov edx, eax
shl ebx, 6
or ebx, esi
cmp cl, 0xf0
jae 0x417721
mov esi, dword [esp + 4]
shl edi, 0xc
or ebx, edi
jmp 0x417783
xor ecx, ecx
mov edx, eax
and edi, 7
mov esi, dword [esp + 4]
shl ebx, 6
shl edi, 0x12
or ebx, edi
or ebx, ecx
cmp ebx, 0x110000
jne 0x417783
jmp 0x4177cc
movzx ebx, cl
mov ecx, ebx
mov edi, dword [esp + 0x10]
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x4177c0
lea ecx, [ebx - 0x30]
cmp ecx, 0xa
jb 0x4177c0
lea ecx, [ebx - 0x21]
cmp ecx, 0xf
jb 0x4177c0
lea ecx, [ebx - 0x3a]
cmp ecx, 7
jb 0x4177c0
lea ecx, [ebx - 0x5b]
cmp ecx, 6
jb 0x4177c0
add ebx, 0xffffff85
cmp ebx, 3
ja 0x417822
nop dword [eax]
cmp edx, eax
jne 0x4176e0
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x14]
jmp 0x417550
mov edi, dword [esp + 0x14]
xor ebx, ebx
jmp 0x417550
mov eax, dword [esp + 0x20]
add eax, edi
cmp edx, eax
cmova eax, edx
push 0x42052c
push edx
push eax
jmp 0x4178f9
push 0x42053c
push ebx
jmp 0x41781c
push 0x42054c
push eax
push esi
jmp 0x4178f9
push 0x42054c
push edx
push ecx
jmp 0x4178f9
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x10], edi
mov edi, 2
mov esi, str.recursion_limit_reachedinvalid_syntax
xor ebx, ebx
jmp 0x417550
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 4]
add dword [esp + 0x10], eax
add eax, esi
mov dword [esp + 0x24], eax
mov cl, byte [esi + ecx]
mov edi, 1
xor eax, eax
mov esi, 1
shld eax, esi, cl
shl edi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edi
cmovne edi, ecx
and eax, dword [esp + 0x2c]
and edi, dword [esp + 0x30]
or edi, eax
je 0x4178ae
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x20]
cmp esi, ecx
je 0x4178ca
lea eax, [esi + ebx]
cmp eax, edx
jae 0x4178e5
movzx eax, byte [edi]
mov esi, dword [esp + 0x24]
inc edi
dec ecx
cmp al, byte [esi + ebx]
lea esi, [ebx + 1]
mov ebx, esi
je 0x41788a
jmp 0x4178b4
add ebx, dword [esp + 0xc]
mov esi, ebx
mov eax, dword [esp + 0x28]
mov ebx, esi
lea ecx, [esi + eax]
mov esi, dword [esp + 8]
cmp ecx, edx
jb 0x417850
jmp 0x416e82
mov edi, dword [esp + 4]
test esi, esi
je 0x416f2a
push 0x42053c
push dword [esp + 0x10]
push dword [esp + 0x20]
jmp 0x4178f9
mov ebx, dword [esp + 4]
add ebx, dword [esp + 0x20]
cmp edx, ebx
cmova ebx, edx
push 0x42052c
push edx
push ebx
call fcn.0041d710
add esp, 0xc
ud2
push 0x420bb4
push edi
push 0
jmp 0x41791f
push 0x420844
push ecx
push 1
jmp 0x41791f
push 0x420834
push ecx
push 2
push ecx
push edx
call fcn.0041d960
add esp, 0x14
ud2
lea eax, [esp + 0x78]
push 0x4208b4
push 0x420598
push eax
push 0x3d
push str._fmt::Error_s_should_be_impossible_without_a__fmt::Formatter_
call fcn.0041d7a0
add esp, 0x14
ud2
push 0x420854
mov esi, dword [esp + 0xc]
push esi
push 3
push esi
jmp 0x417920