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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x228
movaps xmmword [rsp + 0x210], xmm6
mov qword [rsp + 0x128], r9
mov r14, rdx
mov qword [rsp + 0x160], rcx
mov rcx, qword [rsp + 0x298]
lea r15, [rdx + r8]
test r8, r8
je 0x140054869
mov r12, r8
lea rdx, [r14 + 1]
xor eax, eax
movaps xmm0, xmmword [0x14006dae0]
mov rdi, r14
mov bl, byte [rdi]
movzx esi, bl
test sil, sil
js 0x140054785
mov rdi, rdx
jmp 0x1400547d7
mov ebp, esi
and ebp, 0x1f
movzx edi, byte [rdx]
and edi, 0x3f
cmp sil, 0xdf
jbe 0x1400547ca
movzx esi, byte [rdx + 1]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x14005485b
movzx ebx, byte [rdx + 2]
add rdx, 3
and ebp, 7
shl ebp, 0x12
shl esi, 6
and ebx, 0x3f
or ebx, esi
or ebx, ebp
mov rdi, rdx
mov esi, ebx
jmp 0x1400547d7
inc rdx
shl ebp, 6
or ebp, edi
mov rdi, rdx
mov esi, ebp
cmp esi, 0x2e
je 0x140054833
cmp esi, 0x110000
je 0x140055423
test rax, rax
jne 0x1400547f2
cmp esi, 0x2d
je 0x140054869
mov edx, 5
cmp rax, 5
jae 0x14005481e
movups xmmword [rsp + 0x60], xmm0
cmp rax, 4
je 0x1400573ae
cmp esi, dword [rsp + rax*4 + 0x60]
jne 0x14005481e
inc rax
mov rdx, rax
cmp rax, 4
je 0x140054869
lea eax, [rsi - 0x7b]
cmp eax, 0xffffffe5
ja 0x140054837
add esi, 0xffffffc6
mov rax, rdx
cmp esi, 0xfffffff6
jae 0x14005483a
jmp 0x140054869
xor eax, eax
jmp 0x14005483a
mov rax, rdx
xor edx, edx
cmp rdi, r15
setne bl
je 0x140055423
mov dl, bl
add rdx, rdi
test rdi, rdi
jne 0x140054776
jmp 0x140055423
add rdx, 2
shl ebp, 0xc
or esi, ebp
jmp 0x140054780
mov rdx, qword [rsp + 0x290]
xor esi, esi
mov qword [rdx + 0x10], rsi
lea rdi, [rsp + 0x40]
mov dword [rdi + 8], esi
mov qword [rdi], rsi
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x158], rax
mov rcx, rdx
xor edx, edx
call fcn.140053d50
lea r13, [rsp + 0x90]
mov qword [r13 - 0x30], r14
mov qword [r13 - 0x28], r15
mov qword [r13 - 0x20], rdi
mov qword [r13 - 0x18], rsi
mov rcx, qword [rsp + 0x128]
mov rax, rcx
shr rax, 0x20
mov byte [r13 - 4], al
mov dword [r13 - 8], ecx
mov qword [r13], rsi
mov dword [r13 + 8], esi
lea r15, [rsp + 0x9c]
xorps xmm6, xmm6
movups xmmword [r15 + 0x24], xmm6
mov byte [r15 + 0x34], sil
mov qword [r15 + 0x3c], rsi
lea rax, [rsp + 0xe8]
mov qword [rax], rsi
mov dword [rax + 8], esi
mov dword [rax + 0x20], 0x110000
mov byte [rax + 0x24], sil
xor eax, eax
cmp rax, 2
je 0x14005517e
cmp rax, 1
jne 0x140054b1b
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
cmp rcx, 5
jb 0x1400551bf
mov rcx, qword [rsp + 0x100]
cmp rax, rcx
jae 0x1400553fe
mov rbp, qword [rsp + 0xf8]
lea rdx, [rsp + 0x100]
test rbp, rbp
jne 0x1400551d8
jmp 0x140055406
mov dword [rsp + 0x108], edi
jmp 0x140054b1b
cmp byte [rsp + 0x10c], 0
je 0x1400549aa
cmp byte [rsp + 0x10d], bl
jae 0x1400549cf
mov ecx, ebp
mov edx, edi
call fcn.140058400
cmp eax, 0x110000
je 0x1400549d7
jmp 0x1400549c3
mov rcx, r13
mov edx, eax
mov r8d, r12d
call fcn.140054100
lea r15, [rsp + 0x9c]
jmp 0x140054b1b
mov ecx, ebp
mov edx, edi
call fcn.140058400
cmp eax, 0x110000
jne 0x1400549c3
test bl, bl
jne 0x1400549d7
jmp 0x1400553f2
mov dword [rsp + 0x108], eax
jmp 0x140054b1b
test bl, bl
je 0x1400553c6
lea rcx, [rsp + 0xe8]
mov edx, edi
call fcn.140053ed0
mov byte [rsp + 0x10c], 1
mov byte [rsp + 0x10d], bl
jmp 0x140054b1b
mov rdi, rax
test rdx, rdx
lea r15, [rsp + 0x9c]
je 0x140054b1b
lea rsi, [rdi + rdx*4]
lea rax, [rdi + 4]
mov ebx, dword [rdi]
mov rdi, rax
mov ecx, ebx
call fcn.1400581f0
test al, al
je 0x140054a35
mov rcx, r13
mov edx, eax
mov r8d, ebx
call fcn.140054100
jmp 0x140054a6a
lea rcx, [rsp + 0x60]
call fcn.1400535e0
mov rcx, r13
xor edx, edx
mov r8d, ebx
call fcn.140054100
mov rax, qword [rsp + 0x90]
cmp rax, 5
jb 0x140054a62
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], rax
xor eax, eax
cmp rdi, rsi
setne cl
je 0x140054b1b
mov al, cl
lea rax, [rdi + rax*4]
test rdi, rdi
jne 0x140054a16
jmp 0x140054b1b
mov rcx, r13
mov edx, eax
mov r8d, edi
call fcn.140054100
jmp 0x140054b1b
test rdx, rdx
lea r15, [rsp + 0x9c]
je 0x140054b1b
mov rdi, rax
lea rsi, [rax + rdx*4]
add rax, 4
mov ebx, dword [rdi]
mov rdi, rax
mov ecx, ebx
call fcn.1400581f0
test al, al
je 0x140054ad1
mov rcx, r13
mov edx, eax
mov r8d, ebx
call fcn.140054100
jmp 0x140054b06
lea rcx, [rsp + 0x60]
call fcn.1400535e0
mov rcx, r13
xor edx, edx
mov r8d, ebx
call fcn.140054100
mov rax, qword [rsp + 0x90]
cmp rax, 5
jb 0x140054afe
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], rax
xor eax, eax
cmp rdi, rsi
setne cl
je 0x140054b1b
mov al, cl
lea rax, [rdi + rax*4]
test rdi, rdi
jne 0x140054ab2
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
jne 0x140055052
mov r14b, byte [rsp + 0x88]
cmp r14b, 2
je 0x14005500b
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r13b, byte [rsp + 0x89]
mov r15, qword [rsp + 0x78]
mov rcx, r15
test rcx, rcx
je 0x140054c02
cmp r15, qword [rsp + 0x80]
je 0x140054bf6
lea rax, [r15 + 1]
mov qword [rsp + 0x78], rax
mov dl, byte [r15]
movzx r12d, dl
test r12b, r12b
jns case.default.0x140054ce9
mov eax, r12d
and eax, 0x1f
lea rcx, [r15 + 2]
mov qword [rsp + 0x78], rcx
movzx edi, byte [r15 + 1]
and edi, 0x3f
cmp r12b, 0xdf
jbe 0x140054d86
lea rcx, [r15 + 3]
mov qword [rsp + 0x78], rcx
movzx ecx, byte [r15 + 2]
shl edi, 6
and ecx, 0x3f
or ecx, edi
cmp dl, 0xf0
jb 0x140054d90
lea rdx, [r15 + 4]
mov qword [rsp + 0x78], rdx
movzx r12d, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r12d, 0x3f
or r12d, ecx
or r12d, eax
cmp r12d, 0x110000
jne case.default.0x140054ce9
mov qword [rsp + 0x78], 0
xor r15d, r15d
mov rcx, qword [rsp + 0x60]
cmp rcx, rbp
je 0x140054ff3
lea rax, [rcx + 1]
mov qword [rsp + 0x60], rax
mov dl, byte [rcx]
movzx r12d, dl
test r12b, r12b
jns 0x140054c97
mov eax, r12d
and eax, 0x1f
lea rdi, [rcx + 2]
mov qword [rsp + 0x60], rdi
movzx edi, byte [rcx + 1]
and edi, 0x3f
cmp r12b, 0xdf
jbe 0x140054c84
mov rbx, rsi
lea rsi, [rcx + 3]
mov qword [rsp + 0x60], rsi
movzx r12d, byte [rcx + 2]
shl edi, 6
and r12d, 0x3f
or r12d, edi
cmp dl, 0xf0
jb 0x140054c8e
lea rdx, [rcx + 4]
mov qword [rsp + 0x60], rdx
movzx ecx, byte [rcx + 3]
and eax, 7
shl eax, 0x12
shl r12d, 6
and ecx, 0x3f
or ecx, r12d
or ecx, eax
mov r12d, ecx
jmp 0x140054c94
shl eax, 6
or eax, edi
mov r12d, eax
jmp 0x140054c97
shl eax, 0xc
or r12d, eax
mov rsi, rbx
lea eax, [r12 - 0x2d]
cmp eax, 2
jb case.default.0x140054ce9
cmp r12d, 0x110000
je 0x140054ff3
lea eax, [r12 - 0x61]
cmp eax, 0x1a
jb case.default.0x140054ce9
lea eax, [r12 - 0x30]
cmp eax, 0xa
jb case.default.0x140054ce9
mov ecx, r12d
call fcn.1400544a0
movzx ecx, byte [rax]
lea rdi, [0x140057524]
movsxd rdx, dword [rdi + rcx*4]
add rdx, rdi
xor ecx, ecx
jmp rdx
test r13b, r13b
jne case.0x140054ce9.50
jmp case.0x140054ce9.48
test r14b, r14b
je case.0x140054ce9.50
mov byte [rsi + 7], 1
movzx r15d, word [rax + 1]
movzx eax, byte [rax + 3]
lea r9, [r15 + rax]
test r15, r15
je 0x140054d39
cmp r15d, 0x321c
jae 0x140054d2c
lea rcx, [0x14007988c]
cmp byte [r15 + rcx], 0xc0
jge 0x140054d39
jmp 0x1400573dc
cmp r15d, 0x321c
jne 0x1400573dc
test r9, r9
je 0x140054d67
cmp r9d, 0x321c
jae 0x140054d5a
lea rcx, [0x14007988c]
cmp byte [r9 + rcx], 0xbf
jg 0x140054d67
jmp 0x1400573dc
cmp r9d, 0x321c
jne 0x1400573dc
lea rcx, [0x14007988c]
add r15, rcx
add rax, r15
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], rax
jmp 0x140054b55
shl eax, 6
or eax, edi
mov r12d, eax
jmp case.default.0x140054ce9
shl eax, 0xc
or ecx, eax
mov r12d, ecx
jmp case.default.0x140054ce9
cmp byte [rsp + 0x8c], 0
je case.0x140054ce9.48
add rsi, 0xb
jmp 0x140054db9
test r14b, r14b
je case.0x140054ce9.48
add rsi, 6
jmp 0x140054db9
add rsi, 8
mov byte [rsi], 1
cmp r12d, 0x110000
je 0x140054ff3
cmp byte [rsp + 0xd0], 0
je 0x140054e1c
cmp r12d, 0x80
lea r13, [rsp + 0x90]
jb 0x140054e2d
lea ebx, [r12 - 0xac00]
cmp ebx, 0x2ba4
jb 0x140054e8f
mov ecx, r12d
call fcn.140058300
test rax, rax
jne 0x1400549fa
mov ecx, r12d
call fcn.140058250
test rax, rax
jne 0x1400549fa
jmp 0x140054e2d
cmp r12d, 0x80
lea r13, [rsp + 0x90]
jae 0x140054e7f
mov ecx, r12d
call fcn.1400581f0
test al, al
jne 0x140054990
lea rcx, [rsp + 0x60]
call fcn.1400535e0
mov rcx, r13
xor edx, edx
mov r8d, r12d
call fcn.140054100
mov rcx, qword [rsp + 0x90]
cmp rcx, 5
jb 0x140054e6a
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], rcx
lea r15, [rsp + 0x9c]
jmp 0x140054b23
lea ebx, [r12 - 0xac00]
cmp ebx, 0x2ba4
jae 0x140054ecb
movzx esi, bx
imul edi, esi, 0x6f75
shr edi, 0x18
imul eax, edi, 0x24c
sub ebx, eax
or edi, 0x1100
mov ecx, edi
call fcn.1400581f0
test al, al
je 0x140054ee1
mov rcx, r13
mov edx, eax
mov r8d, edi
call fcn.140054100
lea r15, [rsp + 0x9c]
jmp 0x140054f1e
mov ecx, r12d
call fcn.140058250
test rax, rax
jne 0x140054a9a
jmp 0x140054e2d
lea rcx, [rsp + 0x60]
call fcn.1400535e0
mov rcx, r13
xor edx, edx
mov r8d, edi
call fcn.140054100
mov rax, qword [rsp + 0x90]
cmp rax, 5
lea r15, [rsp + 0x9c]
jb 0x140054f16
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], rax
movzx eax, bx
shr eax, 2
imul edi, eax, 0x4925
shr edi, 0x11
add edi, 0x1161
mov ecx, edi
call fcn.1400581f0
test al, al
je 0x140054f4d
mov rcx, r13
mov edx, eax
mov r8d, edi
call fcn.140054100
jmp 0x140054f82
lea rcx, [rsp + 0x60]
call fcn.1400535e0
mov rcx, r13
xor edx, edx
mov r8d, edi
call fcn.140054100
mov rax, qword [rsp + 0x90]
cmp rax, 5
jb 0x140054f7a
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], rax
mov eax, esi
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub si, cx
je 0x140054b1b
add esi, 0x11a7
movzx edi, si
mov ecx, edi
call fcn.1400581f0
test al, al
jne 0x140054a88
lea rcx, [rsp + 0x60]
call fcn.1400535e0
mov rcx, r13
xor edx, edx
mov r8d, edi
call fcn.140054100
mov rcx, qword [rsp + 0x90]
cmp rcx, 5
jb 0x140054fe6
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], rcx
jmp 0x140054b23
mov byte [rsp + 0x88], 2
lea r13, [rsp + 0x90]
lea r15, [rsp + 0x9c]
mov rax, qword [rsp + 0x90]
cmp rax, 5
jb 0x140055021
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x140055227
lea rcx, [rsp + 0x60]
call fcn.1400535e0
mov rcx, qword [rsp + 0x90]
cmp rcx, 5
jb 0x14005504a
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], rcx
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xc0]
cmp rdx, 5
jb 0x14005507a
mov rbx, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
jmp 0x140055080
mov rbp, rdx
mov rbx, r15
cmp rbp, rax
jbe 0x140056dd9
mov edi, dword [rbx + rax*8 + 4]
inc rax
cmp rax, rcx
jne 0x14005511e
mov rax, rdx
cmp rdx, 5
jb 0x1400550aa
mov rax, qword [rsp + 0xa8]
mov rbp, rax
sub rbp, rcx
je 0x140055130
mov rbx, rcx
not rbx
add rbx, rax
xor eax, eax
add rcx, rax
cmp rdx, 5
jb 0x1400550e1
mov rdx, qword [rsp + 0xa8]
cmp rdx, rcx
jbe 0x14005547c
mov rsi, qword [rsp + 0xa0]
jmp 0x1400550ed
mov rsi, r15
cmp rdx, rcx
jbe 0x14005547c
cmp rdx, rax
jbe 0x140055488
mov dl, byte [rsi + rcx*8]
mov ecx, dword [rsi + rcx*8 + 4]
mov byte [rsi + rax*8], dl
mov dword [rsi + rax*8 + 4], ecx
cmp rbx, rax
je 0x140055128
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xc8]
inc rax
jmp 0x1400550bd
mov qword [rsp + 0xc0], rax
jmp 0x140055153
mov rdx, qword [rsp + 0x90]
cmp rdx, 5
mov eax, 0x30
mov ecx, 0x48
cmovae rax, rcx
cmp qword [rsp + rax + 0x60], rbp
jbe 0x14005514e
mov qword [rsp + rax + 0x60], rbp
movups xmmword [r13 + 0x30], xmm6
mov ecx, edi
call fcn.1400581f0
mov ebx, eax
mov ebp, dword [rsp + 0x108]
cmp ebp, 0x110000
jne 0x14005496b
test bl, bl
je 0x14005495f
mov ebp, edi
jmp 0x14005521d
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
cmp rcx, 5
jb 0x1400551ed
mov rcx, qword [rsp + 0x100]
cmp rax, rcx
jae 0x140055264
mov rbp, qword [rsp + 0xf8]
lea rdx, [rsp + 0x100]
test rbp, rbp
jne 0x140055202
jmp 0x14005526c
lea rdx, [rsp + 0xe8]
lea rbp, [rsp + 0xf4]
cmp rax, rcx
jae 0x140055406
mov ebp, dword [rbp + rax*4]
inc rax
mov qword [rsp + 0xd8], 1
jmp 0x140055215
lea rdx, [rsp + 0xe8]
lea rbp, [rsp + 0xf4]
cmp rax, rcx
jae 0x14005526c
mov ebp, dword [rbp + rax*4]
inc rax
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xe0], rax
mov rbx, qword [rsp + 0x290]
jmp 0x14005529b
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xe0], 0
mov ebp, dword [rsp + 0x108]
mov eax, 2
cmp ebp, 0x110000
je 0x140054902
mov dword [rsp + 0x108], 0x110000
jmp 0x14005521d
lea rdx, [rsp + 0x100]
test rcx, rcx
je 0x140055278
mov qword [rdx], 0
mov ebp, dword [rsp + 0x108]
mov eax, 0x110000
mov dword [rsp + 0x108], eax
cmp ebp, eax
mov rbx, qword [rsp + 0x290]
je 0x140055497
cmp ebp, 0x80
jae 0x1400552d9
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx + 8]
jne 0x1400552c6
mov rcx, qword [rsp + 0x290]
call fcn.140042200
mov rbx, qword [rsp + 0x290]
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx]
mov byte [rax + rdx], bpl
inc rdx
mov qword [rbx + 0x10], rdx
jmp 0x1400553b9
mov dword [rsp + 0x1c8], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x140055311
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x1c8], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x1c9], bpl
mov edi, 2
jmp 0x14005538d
cmp ebp, 0x10000
jae 0x14005534c
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x1c8], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1c9], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x1ca], bpl
mov edi, 3
jmp 0x14005538d
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x1c8], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1c9], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1ca], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x1cb], bpl
mov edi, 4
mov rcx, rbx
mov rdx, rdi
call fcn.140053d50
mov rsi, qword [rbx + 0x10]
mov rcx, qword [rbx]
add rcx, rsi
lea rdx, [rsp + 0x1c8]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rdi
mov qword [rbx + 0x10], rsi
mov rax, qword [rsp + 0xd8]
jmp 0x140054902
mov dword [rsp + 0x108], edi
mov byte [rsp + 0x10c], 0
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0xe0], 0
jmp 0x14005521d
mov dword [rsp + 0x108], edi
jmp 0x14005521d
lea rdx, [rsp + 0x100]
test rcx, rcx
je 0x140055412
mov qword [rdx], 0
mov qword [rsp + 0xd8], 0
jmp 0x140054900
mov rdx, r12
mov rsi, rcx
call fcn.140053d50
mov rdi, qword [rsi + 0x10]
mov rcx, qword [rsi]
add rcx, rdi
mov rdx, r14
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rdi, r12
mov qword [rsi + 0x10], rdi
mov rax, qword [rsp + 0x160]
mov qword [rax], 0
mov dword [rax + 8], 0
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x14006db60]
call fcn.14005abb0
lea r8, [0x14006db78]
mov rcx, rax
call fcn.14005abb0
mov rax, qword [rsp + 0x90]
cmp rax, 5
jb 0x1400554d8
mov ecx, 8
mul rcx
mov rbx, qword [rsp + 0x290]
test rax, rax
je 0x1400554d8
mov rcx, qword [rsp + 0xa0]
mov r8d, 4
mov rdx, rax
call fcn.14000cb60
mov rbx, qword [rsp + 0x290]
mov rax, qword [rsp + 0xe8]
cmp rax, 5
jb 0x140055519
mov ecx, 4
mul rcx
mov rbx, qword [rsp + 0x290]
test rax, rax
je 0x140055519
mov rcx, qword [rsp + 0xf8]
mov r8d, 4
mov rdx, rax
call fcn.14000cb60
mov rbx, qword [rsp + 0x290]
mov qword [rsp + 0x138], 8
xorps xmm6, xmm6
movups xmmword [rsp + 0x140], xmm6
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
xor ebp, ebp
lea rcx, [rsp + 0x1c8]
mov qword [rcx], rbp
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rdx
mov qword [rcx + 0x20], rbp
mov qword [rcx + 0x28], rdx
mov qword [rcx + 0x30], 1
movabs rax, 0x2e0000002e
mov qword [rcx + 0x38], rax
mov word [rcx + 0x40], 1
call fcn.140054340
test rax, rax
je 0x140056df9
mov r15, rax
mov r12, rdx
mov rax, qword [rsp + 0x128]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x190], rax
mov r13d, 0x20003
lea r14, [rsp + 0x40]
mov eax, 8
mov qword [rsp + 0x50], rax
mov eax, 8
mov qword [rsp + 0x30], rax
xor ebp, ebp
xor eax, eax
mov rcx, qword [rsp + 0x298]
test al, 1
je 0x1400555f6
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx + 8]
jne 0x1400555e8
call fcn.140042200
mov rcx, qword [rsp + 0x298]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rcx + 0x10], rdx
cmp r12, 4
jb 0x140055609
cmp dword [r15], 0x2d2d6e78
je 0x1400556d6
test bpl, 1
jne 0x14005576d
test r12, r12
je 0x14005576b
lea rdi, [r15 + r12]
lea rax, [r15 + 1]
mov rbx, r15
mov bl, byte [rbx]
movzx ecx, bl
test cl, cl
jns 0x14005568e
mov edx, ecx
and edx, 0x1f
movzx esi, byte [rax]
and esi, 0x3f
cmp cl, 0xdf
jbe 0x140055677
movzx ebp, byte [rax + 1]
shl esi, 6
and ebp, 0x3f
or ebp, esi
cmp bl, 0xf0
jb 0x140055683
movzx ecx, byte [rax + 2]
and edx, 7
shl edx, 0x12
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
or ecx, edx
cmp ecx, 0x110000
je 0x14005576b
add rax, 3
jmp 0x14005568e
inc rax
shl edx, 6
or edx, esi
mov ecx, edx
jmp 0x14005568e
add rax, 2
shl edx, 0xc
or ebp, edx
mov ecx, ebp
mov rbx, rax
lea eax, [rcx - 0x21]
cmp eax, 0x5d
ja 0x1400556bc
xor ebp, ebp
xor eax, eax
cmp rbx, rdi
setne cl
je 0x14005576d
mov al, cl
add rax, rbx
test rbx, rbx
jne 0x140055627
jmp 0x14005576d
call fcn.140064190
cmp al, 0x11
ja 0x140055699
movzx eax, al
bt r13, rax
jae 0x140055699
mov bpl, 1
jmp 0x14005576d
cmp r12, 5
jb 0x1400556e7
cmp byte [r15 + 4], 0xbf
jle 0x140057439
add r15, 4
lea rdi, [r12 - 4]
mov qword [rsp + 0x148], 0
mov r14, rdi
mov cl, 0x2d
mov rdx, r15
mov r8, r14
call fcn.140018360
cmp rax, 1
jne 0x140055732
mov r14, rdx
mov r8, rdx
inc r8
je 0x14005572d
cmp r8, rdi
ja 0x14005572d
cmp byte [r15 + r14], 0x2d
je 0x1400557dd
cmp r14, rdi
jbe 0x1400556ff
mov r12, r15
lea r15, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrarycore_src_strpattern.rs
xor r14d, r14d
mov rcx, qword [rsp + 0x298]
xor eax, eax
cmp r14, rax
je 0x1400558a0
mov rdx, r15
add rdx, rax
je 0x1400558a0
inc rax
cmp byte [rdx], 0
jns 0x140055749
jmp 0x140055be8
xor ebp, ebp
mov rcx, r15
mov rdx, r12
mov r8, qword [rsp + 0x128]
mov r9, r14
call fcn.140054570
mov rdi, qword [rsp + 0x298]
mov rcx, rdi
mov rdx, r12
call fcn.140053d50
mov rsi, qword [rdi + 0x10]
mov rcx, qword [rdi]
add rcx, rsi
mov rdx, r15
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rsi, r12
mov qword [rdi + 0x10], rsi
lea rcx, [rsp + 0x1c8]
call fcn.140054340
mov r15, rax
mov r12, rdx
mov al, 1
test r15, r15
mov rcx, qword [rsp + 0x298]
jne 0x1400555c9
jmp 0x140056deb
test r14, r14
je 0x140055809
cmp r14, rdi
jb 0x1400557f4
jne 0x1400574d2
add r12, 0xfffffffffffffffd
mov r8, r12
cmp r8, rdi
jae 0x140055814
cmp byte [r15 + r8], 0xbf
jle 0x14005749e
mov rax, r8
jmp 0x14005581d
xor r14d, r14d
mov r12, r15
jmp 0x14005573f
mov rax, rdi
jne 0x14005749e
lea r12, [r15 + rax]
sub rdi, rax
cmp r14, 8
jb 0x14005573f
lea rax, [r15 + 7]
and rax, 0xfffffffffffffff8
sub rax, r15
cmp rax, r14
mov rcx, qword [rsp + 0x298]
ja 0x140055747
test rax, rax
mov edx, 8
cmove rax, rdx
movabs rdx, 0x8080808080808080
test qword [r15], rdx
jne 0x140055be8
lea rdx, [r14 - 8]
cmp rax, rdx
jae 0x14005588c
movabs rbx, 0x8080808080808080
test qword [r15 + rax], rbx
jne 0x140055be8
add rax, 8
jmp 0x14005586d
movabs rax, 0x8080808080808080
test qword [r15 + rdx], rax
jne 0x140055be8
mov dword [rsp + 0x134], ebp
test rdi, rdi
je 0x140055bfa
add rdi, r12
xor r10d, r10d
mov r13d, 0x48
mov dword [rsp + 0x38], 0x80
mov eax, r14d
mov dword [rsp + 0x118], r14d
xor ebp, ebp
mov ecx, ebp
lea r8d, [r13 + 0x1a]
mov r9d, r13d
neg r9d
inc r12
mov esi, 0x24
mov ebp, 1
mov r11d, ecx
mov al, byte [r12 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x140055900
add al, 0xea
mov edx, eax
jmp 0x140055914
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x140055914
add al, 0x9f
mov edx, eax
cmp al, 0x1a
jae 0x140055be2
test ebp, ebp
je 0x1400573c4
movzx ebx, dl
mov eax, ecx
not eax
xor edx, edx
div ebp
cmp eax, ebx
jb 0x140055be2
mov eax, ebp
imul eax, ebx
add ecx, eax
lea eax, [r9 + rsi]
cmp esi, r8d
mov edx, 0x1a
cmovae eax, edx
cmp esi, r13d
mov edx, 1
cmovbe eax, edx
cmp eax, ebx
ja 0x140055985
mov ebx, 0x24
sub ebx, eax
mov eax, ebx
mul ebp
jo 0x140055be2
cmp r12, rdi
je 0x140055be2
test r12, r12
je 0x140055be2
add esi, 0x24
imul ebp, ebx
inc r12
jmp 0x1400558ed
mov eax, ecx
sub eax, r11d
test r11d, r11d
mov ebp, 2
mov edx, 0x2bc
cmove ebp, edx
xor edx, edx
div ebp
mov esi, dword [rsp + 0x118]
inc esi
je 0x140057429
mov ebx, eax
xor r13d, r13d
xor edx, edx
div esi
add eax, ebx
cmp eax, 0x1c8
mov ebx, 0xd41d41d5
jb 0x1400559eb
xor r13d, r13d
mov edx, eax
imul rdx, rbx
shr rdx, 0x20
mov ebp, eax
sub ebp, edx
shr ebp, 1
add ebp, edx
shr ebp, 5
add r13d, 0x24
cmp eax, 0x3e57
mov eax, ebp
ja 0x1400559c7
jmp 0x1400559ed
mov ebp, eax
lea eax, [rbp*4]
lea eax, [rax + rax*8]
add ebp, 0x26
xor edx, edx
div bp
mov r8d, eax
mov eax, ecx
xor edx, edx
div esi
add dword [rsp + 0x38], eax
jb 0x140055be2
mov eax, dword [rsp + 0x38]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x140055be2
cmp dword [rsp + 0x38], 0x110000
je 0x140055be2
mov ebp, edx
mov dword [rsp + 0x118], esi
test r10, r10
je 0x140055a8d
mov rax, r10
shl rax, 4
mov rbx, qword [rsp + 0x30]
add rax, rbx
mov rdx, rbx
add rdx, 0x10
mov esi, ebp
mov rcx, rdx
mov rdx, qword [rbx]
cmp rdx, rsi
jb 0x140055a70
inc rdx
mov qword [rbx], rdx
xor edx, edx
cmp rcx, rax
setne bl
je 0x140055a8f
mov dl, bl
shl rdx, 4
add rdx, rcx
mov rbx, rcx
test rcx, rcx
jne 0x140055a5f
jmp 0x140055a8f
mov esi, ebp
cmp r10, qword [rsp + 0x140]
jne 0x140055ac9
lea rcx, [rsp + 0x138]
mov rdx, r10
mov ebx, r8d
call fcn.140053e10
mov r8d, ebx
mov rbx, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x298]
jmp 0x140055ad9
mov rdx, r10
mov rcx, qword [rsp + 0x298]
mov rbx, qword [rsp + 0x50]
movzx eax, r8w
add r13d, eax
mov rax, rdx
shl rax, 4
mov qword [rbx + rax], rsi
mov esi, dword [rsp + 0x38]
mov dword [rbx + rax + 8], esi
lea r10, [rdx + 1]
mov qword [rsp + 0x148], r10
inc ebp
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x30], rbx
cmp r12, rdi
mov qword [rsp + 0x58], r10
jne 0x1400558d1
cmp r10, 0x15
jae 0x14005670a
cmp r10, 2
jb 0x140055bfd
mov r13, r10
mov r12, qword [rsp + 0x50]
lea r10, [r12 + rax]
add r10, 0x20
mov ebx, 1
mov rax, rdx
dec rdx
mov rbp, rdx
shl rbp, 4
shl rax, 4
mov r11, qword [r12 + rbp]
cmp qword [r12 + rax], r11
jae 0x140055bcd
lea r9, [r12 + rbp]
add rax, r12
mov rsi, r13
sub rsi, rdx
mov r8d, dword [r12 + rbp + 8]
movups xmm0, xmmword [rax]
movups xmmword [r9], xmm0
mov edi, 1
cmp rsi, 3
jb 0x140055bb8
cmp qword [r9 + 0x20], r11
jae 0x140055bb8
mov esi, 2
mov rax, r10
lea rbp, [rbx + rsi]
movups xmm0, xmmword [rax - 0x10]
movups xmmword [rax - 0x20], xmm0
cmp rbp, 2
je 0x140055bb5
lea rbp, [rax + 0x10]
mov rdi, rsi
inc rsi
cmp qword [rax], r11
mov rax, rbp
jb 0x140055b8f
jmp 0x140055bb8
mov rdi, rsi
shl rdi, 4
mov qword [r9 + rdi], r11
mov dword [r9 + rdi + 8], r8d
mov rcx, qword [rsp + 0x298]
add r10, 0xfffffffffffffff0
dec rbx
test rdx, rdx
jne 0x140055b42
mov r10, r13
jmp 0x140055bfd
mov r13d, 0x20003
mov byte [rsp + 0x40], 1
mov bpl, 1
lea r14, [rsp + 0x40]
jmp 0x1400557b2
xor r10d, r10d
mov qword [rsp + 0x58], r10
lea r12, [r15 + r14]
mov rdi, qword [rsp + 0x138]
add r14, r10
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x50], rax
mov rdx, r14
call fcn.140053d50
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x298]
xor r13d, r13d
xor r14d, r14d
mov qword [rsp + 0x30], rdi
mov rsi, r13
shl rsi, 4
add rsi, rdi
cmp r13, r9
mov eax, 0
cmovae rsi, rax
mov rax, r15
cmp r13, r9
jae 0x140055c61
cmp qword [rsi], r14
je 0x140055cf4
mov rdx, r12
cmp rax, r12
je 0x140055cbf
mov r8b, byte [rax]
movzx ebp, r8b
test bpl, bpl
jns 0x140055ccc
mov edx, ebp
and edx, 0x1f
movzx edi, byte [rax + 1]
and edi, 0x3f
cmp bpl, 0xdf
jbe 0x140055cd7
movzx ebx, byte [rax + 2]
shl edi, 6
and ebx, 0x3f
or ebx, edi
cmp r8b, 0xf0
jb 0x140055ce4
movzx ebp, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl ebx, 6
and ebp, 0x3f
or ebp, ebx
or ebp, edx
mov r15, rax
mov rdx, rax
cmp ebp, 0x110000
jne 0x140055cef
mov rax, rdx
cmp r13, r9
jb 0x140055c53
jmp 0x140055e20
inc rax
inc r14
mov r15, rax
jmp 0x140055d05
add rax, 2
shl edx, 6
or edx, edi
mov ebp, edx
jmp 0x140055cef
add rax, 3
shl edx, 0xc
or ebx, edx
mov ebp, ebx
mov r15, rax
jmp 0x140055cfa
inc r13
mov ebp, dword [rsi + 8]
inc r14
cmp ebp, 0x80
jae 0x140055d3d
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx + 8]
jne 0x140055d25
call fcn.140042200
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x298]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx]
mov byte [rax + rdx], bpl
inc rdx
mov qword [rcx + 0x10], rdx
mov rdi, qword [rsp + 0x30]
jmp 0x140055c3a
mov dword [rsp + 0x60], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x140055d6c
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x60], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x61], bpl
mov ebx, 2
jmp 0x140055dd3
cmp ebp, 0x10000
jae 0x140055d9e
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x60], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x62], bpl
mov ebx, 3
jmp 0x140055dd3
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x60], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x62], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x63], bpl
mov ebx, 4
mov rdx, rbx
call fcn.140053d50
mov rax, qword [rsp + 0x298]
mov rsi, qword [rax + 0x10]
mov rax, qword [rsp + 0x298]
mov rcx, qword [rax]
add rcx, rsi
lea rdx, [rsp + 0x60]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x298]
add rsi, rbx
mov qword [rcx + 0x10], rsi
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x58]
jmp 0x140055c3a
mov r14, qword [rcx]
mov r15, qword [rcx + 0x10]
mov r8, qword [rsp + 0x50]
test r8, r8
mov ebp, dword [rsp + 0x134]
mov r13d, 0x20003
je 0x140055e55
cmp r15, r8
jbe 0x140055e4f
cmp byte [r14 + r8], 0xbf
jg 0x140055e55
jmp 0x1400574b8
jne 0x1400574b8
lea rax, [r14 + r8]
mov qword [rsp + 0x58], rax
mov r12, r15
sub r12, r8
test bpl, 1
jne 0x140055f27
test r12, r12
je 0x140055f25
lea rdi, [r14 + r15]
mov rsi, qword [rsp + 0x58]
lea rax, [rsi + 1]
mov bl, byte [rsi]
movzx ecx, bl
test cl, cl
jns 0x140055ee7
mov edx, ecx
and edx, 0x1f
movzx esi, byte [rax]
and esi, 0x3f
cmp cl, 0xdf
jbe 0x140055ed0
movzx ebp, byte [rax + 1]
shl esi, 6
and ebp, 0x3f
or ebp, esi
cmp bl, 0xf0
jb 0x140055edc
movzx ecx, byte [rax + 2]
and edx, 7
shl edx, 0x12
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
or ecx, edx
cmp ecx, 0x110000
je 0x140055f25
add rax, 3
jmp 0x140055ee7
inc rax
shl edx, 6
or edx, esi
mov ecx, edx
jmp 0x140055ee7
add rax, 2
shl edx, 0xc
or ebp, edx
mov ecx, ebp
mov rsi, rax
lea eax, [rcx - 0x21]
cmp eax, 0x5d
ja 0x140055f0e
xor ebp, ebp
xor eax, eax
cmp rsi, rdi
setne cl
je 0x140055f27
mov al, cl
add rax, rsi
test rsi, rsi
jne 0x140055e84
jmp 0x140055f27
call fcn.140064190
cmp al, 0x11
ja 0x140055ef2
movzx eax, al
bt r13, rax
jae 0x140055ef2
mov bpl, 1
jmp 0x140055f27
xor ebp, ebp
mov al, byte [rsp + 0x43]
or al, byte [rsp + 0x42]
or al, byte [rsp + 0x44]
or al, byte [rsp + 0x45]
or al, byte [rsp + 0x46]
or al, byte [rsp + 0x47]
or al, byte [rsp + 0x48]
or al, byte [rsp + 0x49]
or al, byte [rsp + 0x4a]
jne 0x1400566fb
cmp byte [rsp + 0x40], 0
jne 0x1400566fb
cmp byte [rsp + 0x41], 0
jne 0x1400566fb
cmp byte [rsp + 0x4b], 0
jne 0x1400566fb
add r14, r15
xor ecx, ecx
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov r15d, ebp
mov r8d, ecx
mov r13d, eax
xor eax, eax
cmp rsi, r14
setne cl
je 0x140056546
test rsi, rsi
je 0x140056546
mov al, cl
add rax, rsi
mov bl, byte [rsi]
movzx edi, bl
test dil, dil
jns 0x14005600c
mov ecx, edi
and ecx, 0x1f
movzx ebp, byte [rax]
and ebp, 0x3f
cmp dil, 0xdf
jbe 0x140055ff5
movzx edx, byte [rax + 1]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x140056001
movzx edi, byte [rax + 2]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and edi, 0x3f
or edi, edx
or edi, ecx
cmp edi, 0x110000
je 0x140056546
add rax, 3
jmp 0x14005600c
inc rax
shl ecx, 6
or ecx, ebp
mov edi, ecx
jmp 0x14005600c
add rax, 2
shl ecx, 0xc
or edx, ecx
mov edi, edx
mov rsi, rax
xor eax, eax
cmp edi, 0x80
jb 0x140055f84
mov ecx, edi
mov ebx, r8d
call fcn.1400581f0
mov r8d, ebx
cmp r13b, al
mov ebp, r15d
mov r13d, 0x20003
jbe 0x140056040
test al, al
jne 0x1400566f6
lea ecx, [rdi - 0x340]
cmp ecx, 4
ja 0x140056054
cmp ecx, 2
jne 0x1400566f6
mov cl, 2
cmp edi, 0xd56
jg 0x1400560b7
cmp edi, 0x9de
jg 0x140056112
cmp edi, 0x93b
jg 0x14005621c
lea edx, [rdi - 0x30f]
cmp edx, 0x36
ja 0x140056095
movabs rbx, 0x48020000001005
bt rbx, rdx
jb 0x140055f7e
lea edx, [rdi - 0x374]
cmp edx, 0x13
ja 0x14005631a
mov ebx, 0x80401
bt ebx, edx
jb 0x1400566f6
jmp 0x14005631a
cmp edi, 0x11126
jg 0x140056173
cmp edi, 0xf92
jg 0x1400561b5
lea edx, [rdi - 0xdca]
cmp edx, 0x15
ja 0x1400560e8
mov ebx, 0x200021
bt ebx, edx
jb 0x140055f7e
cmp edi, 0xd57
je 0x140055f7e
lea edx, [rdi - 0xf43]
cmp edx, 0x3e
ja 0x14005631a
movabs rbx, 0x4021004002108401
jmp 0x1400562cd
cmp edi, 0xbd6
jg 0x1400561f7
cmp edi, 0xbbd
jg 0x1400562d9
lea edx, [rdi - 0xb3e]
cmp edx, 0x19
ja 0x140056143
mov ebx, 0x3000001
bt ebx, edx
jb 0x140055f7e
lea edx, [rdi - 0xa33]
cmp edx, 0x2b
ja 0x140056162
movabs rbx, 0x80000000009
bt rbx, rdx
jb 0x1400566f6
cmp edi, 0x9df
jne 0x14005631a
jmp 0x1400566f6
cmp edi, 0x114af
jle 0x140056245
lea edx, [rdi - 0x114b0]
cmp edx, 0xd
ja 0x140056198
mov ebx, 0x2401
bt ebx, edx
jb 0x140055f7e
cmp edi, 0x115af
je 0x140055f7e
cmp edi, 0x11930
je 0x140055f7e
jmp 0x14005631a
cmp edi, 0x1f70
jg 0x14005628b
cmp edi, 0x102e
je 0x140055f7e
cmp edi, 0x1b35
je 0x140055f7e
lea edx, [rdi - 0xf93]
cmp edx, 0x26
ja 0x14005631a
movabs rbx, 0x4002108401
jmp 0x1400562cd
cmp edi, 0xcc1
jg 0x14005626e
cmp edi, 0xbd7
je 0x140055f7e
cmp edi, 0xc56
je 0x140055f7e
jmp 0x14005631a
cmp edi, 0x93c
je 0x140055f7e
cmp edi, 0x9be
je 0x140055f7e
cmp edi, 0x9d7
je 0x140055f7e
jmp 0x14005631a
cmp edi, 0x11127
je 0x140055f7e
cmp edi, 0x1133e
je 0x140055f7e
cmp edi, 0x11357
je 0x140055f7e
jmp 0x14005631a
cmp edi, 0xcc2
je 0x140055f7e
cmp edi, 0xd3e
je 0x140055f7e
jmp 0x14005631a
cmp edi, 0xfa0f
jle 0x1400562e7
cmp edi, 0x110ba
je 0x140055f7e
lea edx, [rdi - 0xfa10]
cmp edx, 0x12
ja 0x1400562b8
mov ebx, 0x50005
bt ebx, edx
jb 0x1400566f6
lea edx, [rdi - 0xfb1d]
cmp edx, 0x21
ja 0x14005631a
movabs rbx, 0x200000005
bt rbx, rdx
jb 0x1400566f6
jmp 0x14005631a
cmp edi, 0xbbe
je 0x140055f7e
jmp 0x14005631a
cmp edi, 0x2125
jle 0x1400564fd
lea edx, [rdi - 0x2329]
cmp edx, 2
jb 0x1400566f6
cmp edi, 0x2126
je 0x1400566f6
cmp edi, 0x2adc
je 0x1400566f6
lea edx, [rdi - 0x2f800]
cmp edx, 0x21e
jb 0x1400566f6
lea edx, [rdi - 0x1d1bb]
cmp edx, 6
jb 0x1400566f6
lea edx, [rdi - 0x1d15e]
cmp edx, 7
jb 0x1400566f6
lea edx, [rdi - 0xfb46]
cmp edx, 9
jb 0x1400566f6
lea edx, [rdi - 0xfb43]
cmp edx, 2
jb 0x1400566f6
mov edx, edi
and edx, 0xfffffffe
cmp edx, 0xfb40
je 0x1400566f6
lea ebx, [rdi - 0xfb38]
cmp ebx, 5
jb 0x1400566f6
lea ebx, [rdi - 0xfb2a]
cmp ebx, 0xd
jb 0x1400566f6
lea ebx, [rdi - 0xfa70]
cmp ebx, 0x6a
jb 0x1400566f6
lea ebx, [rdi - 0xfa2a]
cmp ebx, 0x44
jb 0x1400566f6
lea ebx, [rdi - 0xfa25]
cmp ebx, 2
jb 0x1400566f6
lea ebx, [rdi - 0xfa15]
cmp ebx, 0xa
jb 0x1400566f6
lea ebx, [rdi - 0xf900]
cmp ebx, 0x10e
jb 0x1400566f6
cmp edx, 0x212a
je 0x1400566f6
cmp edx, 0x2000
je 0x1400566f6
cmp edx, 0x1fee
je 0x1400566f6
lea ebx, [rdi - 0xf75]
cmp ebx, 2
jb 0x1400566f6
cmp edx, 0xb5c
je 0x1400566f6
lea ebx, [rdi - 0xa59]
cmp ebx, 3
jb 0x1400566f6
mov ebx, edi
and ebx, 0xfffffff8
cmp ebx, 0x958
je 0x1400566f6
cmp edx, 0x9dc
je 0x1400566f6
lea ebx, [rdi - 0x11a8]
cmp ebx, 0x1b
jb 0x140055f7e
lea ebx, [rdi - 0x1161]
cmp ebx, 0x15
jb 0x140055f7e
lea ebx, [rdi - 0xcd5]
cmp ebx, 2
jb 0x140055f7e
lea ebx, [rdi - 0x653]
cmp ebx, 3
jb 0x140055f7e
cmp edx, 0x330
je 0x140055f7e
lea edx, [rdi - 0x32d]
cmp edx, 2
jb 0x140055f7e
lea edx, [rdi - 0x323]
cmp edx, 6
jb 0x140055f7e
lea edx, [rdi - 0x313]
cmp edx, 2
jb 0x140055f7e
lea edx, [rdi - 0x300]
cmp edx, 5
jb 0x140055f7e
lea edx, [rdi - 0x306]
cmp edx, 7
jb 0x140055f7e
add edi, 0xffffcf67
cmp edi, 2
movzx ecx, r8b
mov edx, 2
cmovb ecx, edx
jmp 0x140055f7e
lea edx, [rdi - 0x1fbe]
cmp edx, 0x3f
ja 0x14005651c
movabs rbx, 0xa800202020202801
bt rbx, rdx
jb 0x1400566f6
lea edx, [rdi - 0x1f71]
cmp edx, 0xc
ja 0x140056535
mov ebx, 0x1555
bt ebx, edx
jb 0x1400566f6
cmp edi, 0x1fbb
je 0x1400566f6
jmp 0x14005631a
test r8b, r8b
mov ebp, r15d
mov r13d, 0x20003
je 0x1400566ca
cmp r8b, 1
je 0x1400566f6
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], r14
xor eax, eax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], eax
lea rcx, [rsp + 0xa0]
mov byte [rcx + 0x10], al
movups xmmword [rcx], xmm6
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0xe8], 0x110000
mov byte [rsp + 0xec], al
lea r15, [rsp + 0x60]
xor eax, eax
cmp rsi, r14
setne cl
je 0x140056655
test rsi, rsi
je 0x140056655
mov al, cl
add rax, rsi
mov dl, byte [rsi]
movzx ebx, dl
test bl, bl
jns 0x140056637
mov ecx, ebx
and ecx, 0x1f
movzx edi, byte [rax]
and edi, 0x3f
cmp bl, 0xdf
jbe 0x140056620
movzx esi, byte [rax + 1]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp dl, 0xf0
jb 0x14005662c
movzx ebx, byte [rax + 2]
and ecx, 7
shl ecx, 0x12
shl esi, 6
and ebx, 0x3f
or ebx, esi
or ebx, ecx
cmp ebx, 0x110000
je 0x140056655
add rax, 3
jmp 0x140056637
inc rax
shl ecx, 6
or ecx, edi
mov ebx, ecx
jmp 0x140056637
add rax, 2
shl ecx, 0xc
or esi, ecx
mov ebx, esi
mov rsi, rax
mov rcx, r15
call fcn.140052780
xor edi, edi
cmp eax, 0x110000
je 0x140056666
cmp ebx, eax
je 0x1400565b8
jmp 0x140056666
mov rcx, r15
call fcn.140052780
cmp eax, 0x110000
sete dil
mov rax, qword [rsp + 0x70]
cmp rax, 5
jb 0x140056694
mov ecx, 8
mul rcx
test rax, rax
je 0x140056694
mov rcx, qword [rsp + 0x80]
mov r8d, 4
mov rdx, rax
call fcn.14000cb60
mov rax, qword [rsp + 0xc8]
cmp rax, 5
jb 0x1400566c5
mov ecx, 4
mul rcx
test rax, rax
je 0x1400566c5
mov rcx, qword [rsp + 0xd8]
mov r8d, 4
mov rdx, rax
call fcn.14000cb60
test dil, dil
je 0x1400566f6
mov rcx, qword [rsp + 0x58]
mov rdx, r12
mov r8, qword [rsp + 0x190]
lea r14, [rsp + 0x40]
mov r9, r14
call fcn.140054570
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
jmp 0x1400557b2
mov byte [rsp + 0x45], 1
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
jmp 0x140055bf0
mov rax, r10
shr rax, 1
xor edi, edi
mov ecx, 0x10
mul rcx
mov rcx, rax
setno al
mov r13, qword [rsp + 0x50]
jo 0x14005750c
mov dil, al
shl rdi, 3
test rcx, rcx
mov qword [rsp + 0x150], rcx
je 0x140056752
mov rdx, rdi
mov rsi, r10
call fcn.14000cad0
mov r10, rsi
mov rsi, rax
jmp 0x140056755
mov rsi, rdi
test rsi, rsi
je 0x140057511
mov qword [rsp + 0x60], 8
lea rax, [rsp + 0xa0]
movups xmmword [rax - 0x38], xmm6
lea rax, [r13 - 0x30]
mov qword [rsp + 0x180], rax
lea rax, [r13 - 0x10]
mov qword [rsp + 0x188], rax
lea rax, [r13 - 0x18]
mov qword [rsp + 0x178], rax
lea rax, [r13 - 8]
mov qword [rsp + 0x168], rax
lea rax, [r13 + 0x20]
mov qword [rsp + 0x170], rax
mov r12d, 8
xor r9d, r9d
mov rax, r10
mov qword [rsp + 0x30], rsi
mov rcx, rax
dec rcx
mov qword [rsp + 0x120], r12
je 0x1400568ce
mov rbp, rax
lea rdi, [rax - 2]
mov rax, rcx
shl rax, 4
mov rsi, rdi
shl rsi, 4
mov r11, qword [r13 + rsi]
cmp qword [r13 + rax], r11
mov qword [rsp + 0x38], rbp
jae 0x1400568da
mov r8, rbp
shl r8, 4
mov rax, qword [rsp + 0x178]
lea r10, [rax + r8]
mov esi, 2
mov rcx, rdi
mov rbp, r10
mov rbx, rsi
sub rdi, 1
jb 0x140056841
mov rax, rdi
shl rax, 4
mov rax, qword [r13 + rax]
lea r10, [rbp - 0x10]
lea rsi, [rbx + 1]
cmp r11, rax
mov r11, rax
jb 0x140056816
mov rdx, qword [rsp + 0x38]
mov rsi, rdx
sub rsi, rcx
jb 0x1400574ef
mov r10, qword [rsp + 0x58]
cmp rdx, r10
ja 0x1400574fb
cmp rsi, 2
jb 0x1400568c7
mov r10, rsi
shr r10, 1
add r8, qword [rsp + 0x168]
shr rbx, 1
dec rbx
mov edi, 1
cmp rbx, r10
jae 0x140057417
mov r12, qword [rbp - 8]
mov r11d, dword [rbp]
mov rax, qword [r8 - 8]
mov r13d, dword [r8]
mov qword [rbp - 8], rax
mov dword [rbp], r13d
mov qword [r8 - 8], r12
mov dword [r8], r11d
add rbp, 0x10
add r8, 0xfffffffffffffff0
dec rbx
lea rax, [rdi + 1]
cmp rdi, r10
mov rdi, rax
jb 0x14005687f
mov r13, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x38]
jmp 0x140056910
mov esi, 1
xor eax, eax
jmp 0x140056a0d
mov rax, rbp
shl rax, 4
add rax, qword [rsp + 0x180]
lea rdx, [rbp - 2]
xor esi, esi
cmp rdx, rsi
je 0x140056a03
mov rbx, qword [rax]
inc rsi
add rax, 0xfffffffffffffff0
cmp r11, rbx
mov r11, rbx
jae 0x1400568ef
sub rcx, rsi
inc rsi
test rcx, rcx
je 0x1400569fe
cmp rsi, 9
ja 0x1400569fe
mov r12, rcx
shl r12, 4
add r12, qword [rsp + 0x170]
lea rax, [rcx - 1]
mov rsi, rbp
sub rsi, rax
jb 0x14005747d
mov rdx, r10
cmp rbp, r10
ja 0x14005748f
cmp rsi, 2
jb 0x1400569e3
mov rbx, rax
shl rbx, 4
lea r10, [rbx + r13]
shl rcx, 4
mov r11, qword [r10]
cmp qword [r13 + rcx], r11
jae 0x1400569e3
mov qword [rsp + 0x110], rax
add rcx, r13
mov r8d, dword [r13 + rbx + 8]
movups xmm0, xmmword [rcx]
movups xmmword [r10], xmm0
mov ebp, 1
cmp rsi, 3
jb 0x1400569c9
cmp qword [r10 + 0x20], r11
jae 0x1400569c9
mov edi, 2
mov rbx, r12
lea rcx, [rdi + 1]
movups xmm0, xmmword [rbx - 0x10]
movups xmmword [rbx - 0x20], xmm0
cmp rcx, rsi
jae 0x1400569c6
lea rax, [rbx + 0x10]
mov rbp, rdi
mov rdi, rcx
cmp qword [rbx], r11
mov rbx, rax
jb 0x1400569a1
jmp 0x1400569c9
mov rbp, rdi
shl rbp, 4
mov qword [r10 + rbp], r11
mov dword [r10 + rbp + 8], r8d
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x38]
test rax, rax
je 0x140056a0a
add r12, 0xfffffffffffffff0
mov rcx, rax
cmp rsi, 0xa
mov r10, rdx
jb 0x140056932
jmp 0x140056a0d
mov rax, rcx
jmp 0x140056a0d
xor eax, eax
mov rsi, rbp
jmp 0x140056a0d
mov r10, rdx
mov qword [rsp + 0x110], rax
cmp r9, qword [rsp + 0x68]
jne 0x140056a3b
lea rcx, [rsp + 0x60]
mov rdx, r9
mov rdi, r10
call fcn.140053e10
mov r10, rdi
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x70]
jmp 0x140056a43
mov rcx, qword [rsp + 0x120]
mov rax, r9
shl rax, 4
mov rdx, qword [rsp + 0x110]
mov qword [rcx + rax], rdx
mov qword [rcx + rax + 8], rsi
inc r9
mov r12, qword [rsp + 0x60]
mov qword [rsp + 0x70], r9
mov rax, r9
cmp r9, 2
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x120], r12
jb 0x140056d67
mov r9, rax
lea r8, [rax - 1]
mov rcx, r8
shl rcx, 4
cmp qword [r12 + rcx], 0
je 0x140056aee
mov rbx, r9
shl rbx, 4
mov rdi, qword [rbx + r12 - 0x18]
mov rax, qword [r12 + rcx + 8]
cmp rdi, rax
jbe 0x140056aee
cmp r9, 3
jb 0x140056d59
lea rcx, [r9 - 3]
mov rbp, rcx
shl rbp, 4
mov rbp, qword [r12 + rbp + 8]
lea rsi, [rax + rdi]
cmp rbp, rsi
jbe 0x140056b09
cmp r9, 4
mov rsi, qword [rsp + 0x30]
jb 0x140056d61
add rdi, rbp
cmp qword [rbx + r12 - 0x38], rdi
jbe 0x140056b09
jmp 0x140056d67
cmp r9, 3
jb 0x140056b0e
mov rax, qword [r12 + rcx + 8]
lea rcx, [r9 - 3]
mov rbp, rcx
shl rbp, 4
mov rbp, qword [r12 + rbp + 8]
cmp rbp, rax
jb 0x140056b12
lea rcx, [r9 - 2]
lea rbx, [rcx + 1]
cmp r9, rbx
jbe 0x1400573fc
mov rax, r9
sub rax, rcx
jbe 0x140057408
shl rbx, 4
mov rdx, qword [r12 + rbx]
shl rcx, 4
mov rbp, qword [r12 + rcx + 8]
mov rsi, qword [r12 + rcx]
add rsi, rbp
cmp rsi, rdx
jb 0x140057459
cmp rsi, r10
ja 0x14005746b
mov qword [rsp + 0x1a8], rbp
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x118], r8
mov r8, qword [r12 + rbx + 8]
lea rax, [r12 + rcx]
mov qword [rsp + 0x38], rax
lea rax, [r12 + rcx]
add rax, 8
mov qword [rsp + 0x198], rax
mov rdi, rdx
shl rdi, 4
add rdi, r13
mov rbp, r8
shl rbp, 4
lea r12, [rdi + rbp]
mov r13, rsi
shl r13, 4
mov qword [rsp + 0x1b0], rdx
sub rsi, r8
sub rsi, rdx
cmp rsi, r8
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x1a0], r8
jae 0x140056c45
shl rsi, 4
mov rcx, qword [rsp + 0x30]
mov rdx, r12
mov rbx, r8
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rbp, rsi
mov rsi, qword [rsp + 0x30]
add rbp, rsi
test rbx, rbx
jle 0x140056cb9
cmp rbp, rsi
jbe 0x140056cb9
add r13, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbp - 0x10]
cmp rax, qword [r12 - 0x10]
jb 0x140056c1f
add rbp, 0xfffffffffffffff0
mov rax, rbp
jmp 0x140056c26
add r12, 0xfffffffffffffff0
mov rax, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
cmp rdi, r12
jae 0x140056d49
add r13, 0xfffffffffffffff0
mov rdx, rsi
cmp rbp, rsi
ja 0x140056c0b
jmp 0x140056cc1
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov rdx, rdi
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
add rbp, rsi
cmp rbp, rsi
jbe 0x140056cb6
add r13, qword [rsp + 0x50]
cmp r12, r13
jae 0x140056cb6
mov rdx, rsi
mov rbx, rdx
mov rcx, qword [r12]
xor edx, edx
xor eax, eax
cmp rcx, qword [rbx]
setae dl
setb cl
mov rsi, rbx
cmovb rsi, r12
shl rdx, 4
add rdx, rbx
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
add rdi, 0x10
cmp rdx, rbp
jae 0x140056cac
mov al, cl
shl rax, 4
add r12, rax
cmp r12, r13
jb 0x140056c6d
mov r12, rdi
mov rsi, qword [rsp + 0x30]
jmp 0x140056cbc
mov r12, rdi
mov rdx, rsi
mov rbx, qword [rsp + 0x38]
sub rbp, rdx
mov rcx, r12
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x1a8]
add rcx, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1b0]
mov qword [rbx], rax
mov rax, qword [rsp + 0x198]
mov qword [rax], rcx
mov r12, qword [rsp + 0x120]
mov rax, qword [rsp + 0x1c0]
lea rcx, [r12 + rax]
lea rdx, [r12 + rax]
add rdx, 0x10
mov r8, qword [rsp + 0x1b8]
shl r8, 4
add r8, 0xffffffffffffffe0
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x70], rax
cmp rax, 1
mov r13, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
ja 0x140056a82
jmp 0x140056d51
mov rdx, rsi
jmp 0x140056cc1
mov r9d, 1
jmp 0x140056d67
mov r9d, 2
jmp 0x140056d67
mov r9d, 3
mov rax, qword [rsp + 0x110]
test rax, rax
jne 0x1400567c0
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140056dab
mov ecx, 0x10
mul rcx
test rax, rax
je 0x140056dab
mov r8d, 8
mov rcx, r12
mov rdx, rax
mov rsi, r10
call fcn.14000cb60
mov r10, rsi
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x150]
test rdx, rdx
je 0x140056dcc
mov r8d, 8
mov rcx, rsi
mov rsi, r10
call fcn.14000cb60
mov r10, rsi
mov rcx, qword [rsp + 0x298]
jmp 0x140055bfd
lea r8, [0x14006db48]
mov rcx, rax
mov rdx, rbp
call fcn.14005abb0
mov rdx, qword [rcx + 0x10]
mov r8, qword [rsp + 0x158]
jmp 0x140056e0e
mov r8, qword [rsp + 0x158]
mov rdx, r8
xor ebp, ebp
mov rcx, qword [rsp + 0x298]
mov rcx, qword [rcx]
test r8, r8
je 0x140056e38
cmp rdx, r8
jbe 0x140056e36
cmp byte [rcx + r8], 0xbf
jg 0x140056e38
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.14005ae00
jne 0x140056e22
add rcx, r8
sub rdx, r8
xor ebx, ebx
lea rax, [rsp + 0x60]
mov qword [rax], rbx
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rdx
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], rdx
mov qword [rax + 0x30], 1
movabs rcx, 0x2e0000002e
mov qword [rax + 0x38], rcx
mov word [rax + 0x40], 1
mov rcx, rax
call fcn.140054340
test rax, rax
je 0x14005735f
mov rdi, rax
mov r15, rdx
lea rsi, [rsp + 0x60]
mov r12d, ebp
test bpl, 1
je 0x140056efd
xor ebp, ebp
test r15, r15
setne al
je 0x140056efd
mov bpl, al
add rbp, rdi
mov bl, byte [rdi]
movzx ecx, bl
test cl, cl
jns 0x140056f3a
mov eax, ecx
and eax, 0x1f
movzx esi, byte [rbp]
and esi, 0x3f
cmp cl, 0xdf
jbe 0x140056f18
movzx edx, byte [rbp + 1]
shl esi, 6
and edx, 0x3f
or edx, esi
cmp bl, 0xf0
jb 0x140056f24
movzx ecx, byte [rbp + 2]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
lea rsi, [rsp + 0x60]
jne 0x140056f36
mov rcx, rsi
call fcn.140054340
mov rdi, rax
mov r15, rdx
test rax, rax
mov ebp, r12d
jne 0x140056e94
jmp 0x14005735f
inc rbp
shl eax, 6
or eax, esi
mov ecx, eax
jmp 0x140056f2f
add rbp, 2
shl eax, 0xc
or edx, eax
mov ecx, edx
lea rsi, [rsp + 0x60]
jmp 0x140056f3a
add rbp, 3
add r15, rdi
call fcn.140064190
test al, al
je 0x140057028
cmp al, 0x11
je 0x140057028
cmp al, 9
jne 0x14005735a
cmp rbp, r15
je 0x140057126
test rbp, rbp
je 0x140057126
lea rax, [rbp + 1]
mov bl, byte [rbp]
movzx ecx, bl
test cl, cl
jns 0x140056fc4
mov edx, ecx
and edx, 0x1f
movzx esi, byte [rax]
and esi, 0x3f
cmp cl, 0xdf
jbe 0x140057007
movzx ebp, byte [rax + 1]
shl esi, 6
and ebp, 0x3f
or ebp, esi
cmp bl, 0xf0
jb 0x140057013
movzx ecx, byte [rax + 2]
and edx, 7
shl edx, 0x12
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
or ecx, edx
cmp ecx, 0x110000
lea rsi, [rsp + 0x60]
je 0x140057126
add rax, 3
mov rbp, rax
call fcn.140064190
cmp al, 0xe
ja 0x14005735a
movzx eax, al
mov ecx, 0x62f8
bt rcx, rax
jae 0x14005735a
xor eax, eax
cmp rbp, r15
setne cl
je 0x140057126
mov al, cl
add rax, rbp
test rbp, rbp
jne 0x140056f70
jmp 0x140057126
inc rax
shl edx, 6
or edx, esi
mov ecx, edx
jmp 0x14005701e
add rax, 2
shl edx, 0xc
or ebp, edx
mov ecx, ebp
mov rbp, rax
lea rsi, [rsp + 0x60]
jmp 0x140056fc7
xor r14d, r14d
cmp rbp, r15
je 0x140057139
mov r13d, 0
test rbp, rbp
je 0x14005713c
lea rax, [rbp + 1]
xor r14d, r14d
xor r13d, r13d
mov bl, byte [rbp]
movzx ecx, bl
test cl, cl
jns 0x1400570a9
mov edx, ecx
and edx, 0x1f
movzx esi, byte [rax]
and esi, 0x3f
cmp cl, 0xdf
jbe 0x140057105
movzx ebp, byte [rax + 1]
shl esi, 6
and ebp, 0x3f
or ebp, esi
cmp bl, 0xf0
jb 0x140057111
movzx ecx, byte [rax + 2]
and edx, 7
shl edx, 0x12
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
or ecx, edx
cmp ecx, 0x110000
lea rsi, [rsp + 0x60]
je 0x14005713c
add rax, 3
mov rbp, rax
call fcn.140064190
cmp al, 0x11
ja 0x14005735a
movzx ecx, al
mov edx, 0x260fb
bt rdx, rcx
jae 0x14005735a
cmp al, 1
movzx ecx, r14b
mov r14d, ecx
mov edx, 1
cmove r14d, edx
cmp al, 5
cmove r14d, ecx
movzx r13d, r13b
cmove r13d, edx
xor eax, eax
cmp rbp, r15
setne cl
je 0x14005713c
mov al, cl
add rax, rbp
test rbp, rbp
jne 0x14005704d
jmp 0x14005713c
inc rax
shl edx, 6
or edx, esi
mov ecx, edx
jmp 0x14005711c
add rax, 2
shl edx, 0xc
or ebp, edx
mov ecx, ebp
mov rbp, rax
lea rsi, [rsp + 0x60]
jmp 0x1400570ac
mov al, byte [r15 - 1]
dec r15
test al, al
js 0x140057181
movzx ebp, al
jmp 0x1400571ef
xor r13d, r13d
mov al, byte [r15 - 1]
dec r15
test al, al
js 0x14005714f
movzx ebp, al
jmp 0x1400572a3
movzx ecx, byte [r15 - 1]
cmp cl, 0xc0
jge 0x140057179
movzx edx, byte [r15 - 2]
cmp dl, 0xc0
jge 0x1400571ab
movzx ebp, byte [r15 - 3]
add r15, 0xfffffffffffffffd
and ebp, 7
shl ebp, 6
and edx, 0x3f
or edx, ebp
jmp 0x1400571b2
dec r15
and ecx, 0x1f
jmp 0x1400571ba
movzx ecx, byte [r15 - 1]
cmp cl, 0xc0
jge 0x1400571c9
movzx edx, byte [r15 - 2]
cmp dl, 0xc0
jge 0x1400571d1
movzx ebp, byte [r15 - 3]
add r15, 0xfffffffffffffffd
and ebp, 7
shl ebp, 6
and edx, 0x3f
or edx, ebp
jmp 0x1400571d8
add r15, 0xfffffffffffffffe
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx ebp, al
or ebp, ecx
jmp 0x14005731f
dec r15
and ecx, 0x1f
jmp 0x1400571e0
add r15, 0xfffffffffffffffe
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx ebp, al
or ebp, ecx
jmp 0x14005726f
mov ecx, ebp
call fcn.140064190
cmp al, 0xd
jne 0x140057280
lea rdx, [r15 - 1]
cmp rdi, r15
cmovne r15, rdx
je 0x140056efd
mov al, byte [rdx]
test al, al
js 0x14005721a
movzx ebp, al
jmp 0x14005726c
movzx ecx, byte [r15 - 1]
cmp cl, 0xc0
jge 0x140057245
movzx ebp, byte [r15 - 2]
cmp bpl, 0xc0
jge 0x140057250
movzx edx, byte [r15 - 3]
add r15, 0xfffffffffffffffd
and edx, 7
shl edx, 6
and ebp, 0x3f
or ebp, edx
jmp 0x140057257
dec r15
and ecx, 0x1f
mov rdx, r15
jmp 0x140057262
add r15, 0xfffffffffffffffe
and ebp, 0xf
mov rdx, r15
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
shl ecx, 6
and al, 0x3f
movzx ebp, al
or ebp, ecx
mov r15, rdx
cmp ebp, 0x110000
jne 0x1400571ef
jmp 0x140056efd
mov ecx, ebp
call fcn.140064190
cmp al, 9
je 0x140056efd
mov ecx, ebp
call fcn.140064190
cmp al, 5
je 0x140056efd
jmp 0x14005735a
mov ecx, ebp
call fcn.140064190
cmp al, 0xd
jne 0x14005732d
lea rdx, [r15 - 1]
cmp rdi, r15
cmovne r15, rdx
je 0x14005735a
mov al, byte [rdx]
test al, al
js 0x1400572ca
movzx ebp, al
jmp 0x14005731c
movzx ecx, byte [r15 - 1]
cmp cl, 0xc0
jge 0x1400572f5
movzx ebp, byte [r15 - 2]
cmp bpl, 0xc0
jge 0x140057300
movzx edx, byte [r15 - 3]
add r15, 0xfffffffffffffffd
and edx, 7
shl edx, 6
and ebp, 0x3f
or ebp, edx
jmp 0x140057307
dec r15
and ecx, 0x1f
mov rdx, r15
jmp 0x140057312
add r15, 0xfffffffffffffffe
and ebp, 0xf
mov rdx, r15
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
shl ecx, 6
and al, 0x3f
movzx ebp, al
or ebp, ecx
mov r15, rdx
cmp ebp, 0x110000
jne 0x1400572a3
jmp 0x14005735a
mov ecx, ebp
call fcn.140064190
cmp al, 0x11
ja 0x14005735a
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x14005735a
test r14b, 1
je 0x140056efd
and r13b, 1
je 0x140056efd
mov byte [rsp + 0x42], 1
mov eax, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x160]
mov dword [rsi + 8], eax
mov rax, qword [rsp + 0x40]
mov qword [rsi], rax
mov rax, qword [rsp + 0x140]
test rax, rax
je 0x1400573a6
mov ecx, 0x10
mul rcx
test rax, rax
je 0x1400573a6
mov rcx, qword [rsp + 0x138]
mov r8d, 8
mov rdx, rax
call fcn.14000cb60
mov rax, rsi
jmp 0x140055460
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.14005abb0
lea rcx, str.attempt_to_divide_by_zero
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_punycode.rs
mov edx, 0x19
call fcn.14005ab60
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14007988c]
mov edx, 0x321c
mov r8, r15
call fcn.14005ae00
lea r8, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrary_alloc_src_slice.rs
mov rcx, rbx
jmp 0x14005740f
lea r8, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrary_alloc_src_slice.rs
mov rdx, r9
call fcn.14005abb0
lea r8, [0x14006dc58]
mov rcx, rbx
mov rdx, r10
call fcn.14005abb0
lea rcx, str.attempt_to_divide_by_zero
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_punycode.rs
jmp 0x1400573d2
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov qword [rsp + 0x20], rax
mov r8d, 4
mov rcx, r15
mov rdx, r12
mov r9, r12
call fcn.14005ae00
lea r8, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrary_alloc_src_slice.rs
mov rcx, rdx
mov rdx, rsi
call fcn.14005ada0
lea r8, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrary_alloc_src_slice.rs
mov rcx, rsi
mov rdx, r10
call fcn.14005ad90
mov rdx, rbp
lea r8, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrary_alloc_src_slice.rs
mov rcx, rax
call fcn.14005ada0
mov rcx, rbp
lea r8, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrary_alloc_src_slice.rs
call fcn.14005ad90
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_punycode.rs
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, rdi
mov r9, rdi
call fcn.14005ae00
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r15
mov r9, r15
call fcn.14005ae00
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_punycode.rs
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
mov r9, r14
call fcn.14005ae00
lea r8, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrary_alloc_src_slice.rs
call fcn.14005ada0
lea r8, str._rustc_a8314ef7d0ec7b75c336af2c9857bfaf43002bfclibrary_alloc_src_slice.rs
mov rcx, qword [rsp + 0x38]
jmp 0x140057475
call fcn.14001c410
mov rcx, qword [rsp + 0x150]
mov rdx, rdi
call fcn.14005ae30
int3