Function at 0x1400522d0
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 r12, r9
mov rsi, rdx
mov r14, rcx
mov r15, qword [rsp + 0x298]
lea rbx, [rdx + r8]
test r8, r8
je 0x14005245c
mov rdi, r8
lea r8, [rsi + 1]
xor eax, eax
movaps xmm0, xmmword [str.xn__]
mov rdx, rsi
mov r9b, byte [rdx]
movzx ecx, r9b
test cl, cl
jns 0x140052385
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [r8]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x14005236f
movzx ecx, byte [r8 + 1]
shl r10d, 6
and ecx, 0x3f
or ecx, r10d
cmp r9b, 0xf0
jb 0x14005237c
movzx r9d, byte [r8 + 2]
add r8, 3
and edx, 7
shl edx, 0x12
shl ecx, 6
and r9d, 0x3f
or r9d, ecx
or r9d, edx
mov ecx, r9d
jmp 0x140052385
inc r8
shl edx, 6
or edx, r10d
mov ecx, edx
jmp 0x140052385
add r8, 2
shl edx, 0xc
or ecx, edx
mov rdx, r8
cmp ecx, 0x2e
je 0x1400523e6
cmp ecx, 0x110000
je 0x140052406
test rax, rax
jne 0x1400523a3
cmp ecx, 0x2d
je 0x14005245c
mov r9d, 5
cmp rax, 5
jae 0x1400523d4
movups xmmword [rsp + 0x58], xmm0
cmp rax, 4
je 0x140054fba
cmp ecx, dword [rsp + rax*4 + 0x58]
jne 0x1400523d4
inc rax
mov r9, rax
cmp rax, 4
je 0x14005245c
lea eax, [rcx - 0x7b]
cmp eax, 0xffffffe5
ja 0x1400523e9
add ecx, 0xffffffc6
cmp ecx, 0xfffffff6
jae 0x1400523e9
jmp 0x14005245c
xor r9d, r9d
xor r8d, r8d
cmp rdx, rbx
setne al
je 0x140052406
mov r8b, al
add r8, rdx
mov rax, r9
test rdx, rdx
jne 0x14005231c
mov rcx, r15
mov rdx, rdi
call fcn.1400483f0
mov rbx, qword [r15 + 0x10]
mov rcx, qword [r15 + 8]
add rcx, rbx
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rbx, rdi
mov qword [r15 + 0x10], rbx
mov qword [r14], 0
mov dword [r14 + 8], 0
mov rax, r14
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
mov qword [rsp + 0x1b8], r14
mov rcx, qword [rsp + 0x290]
xor edi, edi
mov qword [rcx + 0x10], rdi
lea r14, [rsp + 0x30]
mov dword [r14 + 8], edi
mov qword [r14], rdi
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x1c0], rax
xor edx, edx
call fcn.1400483f0
lea rcx, [rsp + 0x64]
mov qword [rcx - 0xc], rdi
mov dword [rcx - 4], edi
mov qword [rcx + 0x14], rdi
mov qword [rcx + 0x3c], rdi
xorps xmm6, xmm6
movups xmmword [rcx + 0x24], xmm6
mov qword [rcx + 0x44], rbx
mov qword [rcx + 0x4c], rsi
mov qword [rcx + 0x54], r14
mov rax, r12
shr rax, 0x20
mov byte [rcx + 0x60], al
mov qword [rsp + 0x118], r12
mov dword [rcx + 0x5c], r12d
lea r13, [rsp + 0xc8]
mov qword [r13], rdi
mov dword [r13 + 8], edi
lea r15, [rsp + 0xd4]
mov byte [r15 + 0x24], dil
mov dword [r15 + 0x2c], 0x110000
mov byte [r15 + 0x30], dil
xor eax, eax
cmp rax, 2
je 0x140052eb9
cmp rax, 1
jne 0x14005274f
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x80]
cmp rcx, 5
jb 0x140052ee2
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
lea rdx, [rsp + 0x70]
test r8, r8
jne 0x140052eec
jmp 0x1400530ed
mov dword [rsp + 0x100], edi
jmp 0x14005274f
cmp byte [rsp + 0x104], 0
je 0x140052571
cmp byte [rsp + 0x105], bl
jae 0x140052596
mov ecx, esi
mov edx, edi
call fcn.140056930
cmp eax, 0x110000
je 0x14005259e
jmp 0x14005258a
mov ecx, esi
mov edx, edi
call fcn.140056930
cmp eax, 0x110000
jne 0x14005258a
test bl, bl
jne 0x14005259e
jmp 0x140052fbb
mov dword [rsp + 0x100], eax
jmp 0x14005274f
test bl, bl
je 0x140052f95
lea rcx, [rsp + 0x58]
mov edx, edi
call fcn.140051ad0
mov byte [rsp + 0x104], 1
mov byte [rsp + 0x105], bl
jmp 0x14005274f
mov rdi, rax
test rdx, rdx
je 0x14005274f
lea rbx, [rdi + rdx*4]
lea rax, [rdi + 4]
mov esi, dword [rdi]
mov rdi, rax
mov ecx, esi
call fcn.140056720
test al, al
je 0x1400525f1
mov rcx, r13
mov edx, eax
mov r8d, esi
call fcn.140051d30
jmp 0x140052660
cmp qword [rsp + 0xc8], 5
mov rax, r13
mov r8, r15
jb 0x140052612
mov r8, qword [rsp + 0xd8]
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rax]
mov rax, rdx
sub rax, rcx
jb 0x140054fe8
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400512e0
mov rcx, r13
xor edx, edx
mov r8d, esi
call fcn.140051d30
mov rax, qword [rsp + 0xc8]
cmp rax, 5
jb 0x140052658
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
xor eax, eax
cmp rdi, rbx
setne cl
je 0x14005274f
mov al, cl
lea rax, [rdi + rax*4]
test rdi, rdi
jne 0x1400525d2
jmp 0x14005274f
mov rcx, r13
mov edx, eax
mov r8d, esi
call fcn.140051d30
jmp 0x14005274f
test rdx, rdx
je 0x14005274f
mov rdi, rax
lea rbx, [rax + rdx*4]
add rax, 4
mov esi, dword [rdi]
mov rdi, rax
mov ecx, esi
call fcn.140056720
test al, al
je 0x1400526c7
mov rcx, r13
mov edx, eax
mov r8d, esi
call fcn.140051d30
jmp 0x140052736
cmp qword [rsp + 0xc8], 5
mov rax, r13
mov r8, r15
jb 0x1400526e8
mov r8, qword [rsp + 0xd8]
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rax]
mov rax, rdx
sub rax, rcx
jb 0x140054fe8
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400512e0
mov rcx, r13
xor edx, edx
mov r8d, esi
call fcn.140051d30
mov rax, qword [rsp + 0xc8]
cmp rax, 5
jb 0x14005272e
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
xor eax, eax
cmp rdi, rbx
setne cl
je 0x14005274f
mov al, cl
lea rax, [rdi + rax*4]
test rdi, rdi
jne 0x1400526a8
mov rax, qword [rsp + 0x90]
test rax, rax
jne 0x140052d94
mov bl, byte [rsp + 0xc0]
cmp bl, 2
je 0x140052d19
mov r12, r15
mov r14, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb8]
mov al, byte [rsp + 0xc1]
mov byte [rsp + 0x28], al
mov rbp, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xb0]
test r8, r8
je 0x140052854
cmp r8, rbp
je 0x140052848
lea rax, [r8 + 1]
mov qword [rsp + 0xa0], rax
mov dl, byte [r8]
movzx esi, dl
test sil, sil
jns 0x140052a19
mov eax, esi
and eax, 0x1f
lea rcx, [r8 + 2]
mov qword [rsp + 0xa0], rcx
movzx r9d, byte [r8 + 1]
and r9d, 0x3f
cmp sil, 0xdf
jbe 0x140052ce3
lea rcx, [r8 + 3]
mov qword [rsp + 0xa0], rcx
movzx ecx, byte [r8 + 2]
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
cmp dl, 0xf0
jb 0x140052cf0
lea rdx, [r8 + 4]
mov qword [rsp + 0xa0], rdx
movzx esi, byte [r8 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and esi, 0x3f
or esi, ecx
or esi, eax
cmp esi, 0x110000
jne case.0x14005294b.0
mov qword [rsp + 0xa0], 0
cmp r15, r14
je 0x140052d0e
lea rax, [r15 + 1]
mov qword [rsp + 0xb0], rax
mov cl, byte [r15]
movzx esi, cl
test sil, sil
js 0x140052879
mov r15, rax
jmp 0x1400528f2
mov eax, esi
and eax, 0x1f
lea r8, [r15 + 2]
mov qword [rsp + 0xb0], r8
movzx edx, byte [r15 + 1]
and edx, 0x3f
cmp sil, 0xdf
jbe 0x1400528de
lea r8, [r15 + 3]
mov qword [rsp + 0xb0], r8
movzx esi, byte [r15 + 2]
shl edx, 6
and esi, 0x3f
or esi, edx
cmp cl, 0xf0
jb 0x1400528ea
lea rcx, [r15 + 4]
mov qword [rsp + 0xb0], rcx
movzx edx, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl esi, 6
and edx, 0x3f
or edx, esi
or edx, eax
mov r15, rcx
mov esi, edx
jmp 0x1400528f2
shl eax, 6
or eax, edx
mov r15, r8
mov esi, eax
jmp 0x1400528f2
shl eax, 0xc
or esi, eax
mov r15, r8
lea eax, [rsi - 0x2d]
cmp eax, 2
jb 0x140052a19
cmp esi, 0x110000
je 0x140052d0e
lea eax, [rsi - 0x61]
cmp eax, 0x1a
jb 0x140052a19
lea eax, [rsi - 0x30]
cmp eax, 0xa
jb 0x140052a19
mov ecx, esi
call fcn.140052020
movzx ecx, byte [rax]
mov r8d, 0
cmp ecx, 1
je case.default.0x14005294b
mov ecx, ecx
lea rdx, [0x1400551c4]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp esi, 0x110000
je 0x140052d0e
cmp byte [rsp + 0xf8], 0
je 0x140052a62
cmp esi, 0x80
mov r15, r12
jb 0x140052a6d
lea ebx, [rsi - 0xac00]
cmp ebx, 0x2ba4
jb 0x140052adb
mov ecx, esi
call fcn.140056830
test rax, rax
jne 0x1400525be
mov ecx, esi
call fcn.140056780
test rax, rax
jne 0x1400525be
jmp 0x140052a6d
cmp esi, 0x80
mov r15, r12
jae 0x140052acd
mov ecx, esi
call fcn.140056720
test al, al
jne 0x140052cfc
cmp qword [rsp + 0xc8], 5
mov rax, r13
mov r8, r15
jb 0x140052a9d
mov r8, qword [rsp + 0xd8]
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rax]
mov rax, rdx
sub rax, rcx
jb 0x140054fe8
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400512e0
mov rcx, r13
xor edx, edx
mov r8d, esi
jmp 0x140052cbb
lea ebx, [rsi - 0xac00]
cmp ebx, 0x2ba4
jae 0x140052b0d
movzx edi, bx
imul r14d, edi, 0x6f75
shr r14d, 0x18
lea esi, [r14 + 0x1100]
mov ecx, esi
call fcn.140056720
test al, al
je 0x140052b22
mov rcx, r13
mov edx, eax
mov r8d, esi
call fcn.140051d30
jmp 0x140052b91
mov ecx, esi
call fcn.140056780
test rax, rax
jne 0x140052694
jmp 0x140052a6d
cmp qword [rsp + 0xc8], 5
mov rax, r13
mov r8, r15
jb 0x140052b43
mov r8, qword [rsp + 0xd8]
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rax]
mov rax, rdx
sub rax, rcx
jb 0x140054fe8
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400512e0
mov rcx, r13
xor edx, edx
mov r8d, esi
call fcn.140051d30
mov rax, qword [rsp + 0xc8]
cmp rax, 5
jb 0x140052b89
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
imul eax, r14d, 0x24c
sub ebx, eax
movzx eax, bx
shr eax, 2
imul esi, eax, 0x4925
shr esi, 0x11
add esi, 0x1161
mov ecx, esi
call fcn.140056720
test al, al
je 0x140052bc9
mov rcx, r13
mov edx, eax
mov r8d, esi
call fcn.140051d30
jmp 0x140052c38
cmp qword [rsp + 0xc8], 5
mov rax, r13
mov r8, r15
jb 0x140052bea
mov r8, qword [rsp + 0xd8]
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rax]
mov rax, rdx
sub rax, rcx
jb 0x140054fe8
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400512e0
mov rcx, r13
xor edx, edx
mov r8d, esi
call fcn.140051d30
mov rax, qword [rsp + 0xc8]
cmp rax, 5
jb 0x140052c30
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
mov eax, edi
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub di, cx
je 0x14005274f
add edi, 0x11a7
movzx esi, di
mov ecx, esi
call fcn.140056720
test al, al
jne 0x140052682
cmp qword [rsp + 0xc8], 5
mov rax, r13
mov r8, r15
jb 0x140052c90
mov r8, qword [rsp + 0xd8]
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rax]
mov rax, rdx
sub rax, rcx
jb 0x140054fe8
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400512e0
mov rcx, r13
xor edx, edx
mov r8d, esi
call fcn.140051d30
mov rax, qword [rsp + 0xc8]
cmp rax, 5
jb 0x140052cd6
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
jmp 0x140052757
shl eax, 6
or eax, r9d
mov esi, eax
jmp 0x140052a19
shl eax, 0xc
or ecx, eax
mov esi, ecx
jmp 0x140052a19
mov rcx, r13
mov edx, eax
mov r8d, esi
call fcn.140051d30
jmp 0x14005274f
mov byte [rsp + 0xc0], 2
mov r15, r12
mov rdx, qword [rsp + 0xc8]
cmp rdx, 5
jb 0x140052d4a
mov rdx, qword [rsp + 0xe0]
test rdx, rdx
je 0x140052f5b
mov rcx, qword [rsp + 0x90]
mov r8, qword [rsp + 0xd8]
jmp 0x140052d5e
test rdx, rdx
je 0x140052f5b
mov rcx, qword [rsp + 0x90]
mov r8, r15
mov rax, rdx
sub rax, rcx
jb 0x140054fe8
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400512e0
mov rax, qword [rsp + 0xc8]
cmp rax, 5
jb 0x140052d8c
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x88]
mov r9, qword [rsp + 0xc8]
mov rdx, r9
mov r8, r15
cmp r9, 5
jb 0x140052dc0
mov r8, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
cmp rdx, rcx
jbe 0x140054a2d
mov edi, dword [r8 + rcx*8 + 4]
inc rcx
cmp rcx, rax
jne 0x140052e86
mov r8, r9
cmp r9, 5
jb 0x140052deb
mov r8, qword [rsp + 0xe0]
sub r8, rax
je 0x140052e5d
xor ecx, ecx
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x90]
add rax, rcx
cmp rdx, 5
jb 0x140052e26
mov rdx, qword [rsp + 0xe0]
cmp rdx, rax
jbe 0x140053107
mov r9, qword [rsp + 0xd8]
jmp 0x140052e32
mov r9, r15
cmp rdx, rax
jbe 0x140053107
cmp rdx, rcx
jbe 0x140053116
mov dl, byte [r9 + rax*8]
mov eax, dword [r9 + rax*8 + 4]
mov byte [r9 + rcx*8], dl
mov dword [r9 + rcx*8 + 4], eax
inc rcx
cmp rcx, r8
jb 0x140052df2
mov r9, qword [rsp + 0xc8]
cmp r9, 5
mov eax, 0x70
mov ecx, 0x88
cmovae rax, rcx
cmp qword [rsp + rax + 0x58], r8
jbe 0x140052e7b
mov qword [rsp + rax + 0x58], r8
lea rax, [rsp + 0x64]
movups xmmword [rax + 0x24], xmm6
jmp 0x140052e8e
mov qword [rsp + 0x88], rcx
mov ecx, edi
call fcn.140056720
mov ebx, eax
mov esi, dword [rsp + 0x100]
cmp esi, 0x110000
jne 0x14005254c
test bl, bl
je 0x140052540
mov esi, edi
jmp 0x140052fc2
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x80]
cmp rcx, 5
jb 0x140052f07
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
lea rdx, [rsp + 0x70]
test r8, r8
jne 0x140052f11
jmp 0x140052f33
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x64]
cmp rax, rcx
jae 0x1400530ed
mov esi, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x78], 1
jmp 0x140052f26
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x64]
cmp rax, rcx
jae 0x140052f33
mov esi, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x78], 2
mov qword [rsp + 0x80], rax
jmp 0x140052fc2
test rcx, rcx
je 0x140052f3f
mov qword [rdx], 0
mov esi, dword [rsp + 0x100]
mov eax, 0x110000
mov dword [rsp + 0x100], eax
cmp esi, eax
jne 0x140052fc2
jmp 0x140053122
mov qword [rsp + 0x78], 2
mov qword [rsp + 0x80], 0
mov esi, dword [rsp + 0x100]
mov eax, 2
cmp esi, 0x110000
je 0x1400524f8
mov dword [rsp + 0x100], 0x110000
jmp 0x140052fc2
mov dword [rsp + 0x100], edi
mov byte [rsp + 0x104], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
jmp 0x140052fc2
mov dword [rsp + 0x100], edi
cmp esi, 0x7f
ja 0x140052ff8
mov rdi, qword [rsp + 0x290]
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x140052fe4
mov rcx, rdi
call fcn.1400413a0
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], sil
inc rdx
mov qword [rdi + 0x10], rdx
jmp 0x1400530e3
mov dword [rsp + 0x1c8], 0
mov eax, esi
cmp esi, 0x800
jae 0x140053030
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x1c8], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x1c9], sil
mov esi, 2
jmp 0x1400530ae
cmp esi, 0x10000
jae 0x14005306b
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x1c8], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1c9], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x1ca], sil
mov esi, 3
jmp 0x1400530ae
shr eax, 0x12
and al, 7
or al, 0xf0
mov byte [rsp + 0x1c8], al
mov eax, esi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1c9], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1ca], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x1cb], sil
mov esi, 4
mov rbx, qword [rsp + 0x290]
mov rcx, rbx
mov rdx, rsi
call fcn.1400483f0
mov rdi, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
add rcx, rdi
lea rdx, [rsp + 0x1c8]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rsi
mov qword [rbx + 0x10], rdi
mov rax, qword [rsp + 0x78]
jmp 0x1400524f8
test rcx, rcx
je 0x1400530f9
mov qword [rdx], 0
mov qword [rsp + 0x78], 0
jmp 0x1400524f6
lea r8, [0x14006f650]
mov rcx, rax
call fcn.140058980
lea r8, [0x14006f668]
call fcn.140058980
mov rdx, qword [rsp + 0xc8]
cmp rdx, 5
jb 0x140053147
mov rcx, qword [rsp + 0xd8]
shl rdx, 3
mov r8d, 4
call fcn.140018300
mov rdx, qword [rsp + 0x58]
cmp rdx, 5
mov rbx, qword [rsp + 0x298]
mov r15, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x290]
jb 0x14005317e
mov rcx, qword [rsp + 0x68]
shl rdx, 2
mov r8d, 4
call fcn.140018300
xor r13d, r13d
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x130], 8
mov qword [rsp + 0x138], r13
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
lea rcx, [rsp + 0x1c8]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], rdx
mov qword [rcx + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], r13
mov qword [rcx + 0x38], rdx
mov word [rcx + 0x40], 1
call fcn.140051020
test rax, rax
je 0x1400549f8
mov rbp, rax
mov r14, rdx
mov rax, r15
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x178], rax
lea r12, [rsp + 0x30]
xorps xmm6, xmm6
xor r13d, r13d
xor eax, eax
test al, 1
je 0x14005323a
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx]
jne 0x14005322b
mov rcx, rbx
call fcn.1400413a0
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rbx + 0x10], rdx
cmp r14, 4
jb 0x14005324d
cmp dword [rbp], 0x2d2d6e78
je 0x140053335
test r13b, 1
jne 0x1400533db
test r14, r14
je 0x1400533d8
lea rsi, [r14 + rbp]
lea rax, [rbp + 1]
mov rdi, rbp
mov r9b, byte [rdi]
movzx ecx, r9b
test cl, cl
js 0x14005327b
mov rdi, rax
jmp 0x1400532eb
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [rax]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400532cb
movzx r8d, byte [rax + 1]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x1400532db
movzx ecx, byte [rax + 2]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
je 0x1400533d8
add rax, 3
jmp 0x140053276
inc rax
shl edx, 6
or edx, r10d
mov rdi, rax
mov ecx, edx
jmp 0x1400532eb
add rax, 2
shl edx, 0xc
or r8d, edx
mov rdi, rax
mov ecx, r8d
lea eax, [rcx - 0x21]
cmp eax, 0x5d
ja 0x140053317
xor r13d, r13d
xor eax, eax
cmp rdi, rsi
setne cl
je 0x1400533db
mov al, cl
add rax, rdi
test rdi, rdi
jne 0x14005326b
jmp 0x1400533db
call fcn.140065620
cmp al, 0x11
ja 0x1400532f3
movzx eax, al
mov ecx, 0x20003
bt ecx, eax
jae 0x1400532f3
mov r13b, 1
jmp 0x1400533db
cmp r14, 5
jb 0x140053345
cmp byte [rbp + 4], 0xbf
jle 0x14005502d
add rbp, 4
add r14, 0xfffffffffffffffc
mov qword [rsp + 0x138], 0
mov r12, r14
mov cl, 0x2d
mov rdx, rbp
mov r8, r12
call fcn.14000d3f0
cmp rax, 1
jne 0x140053390
mov r12, rdx
mov rsi, rdx
inc rsi
je 0x14005338b
cmp r14, rsi
jb 0x14005338b
cmp byte [rbp + r12], 0x2d
je 0x1400536e0
cmp r12, r14
jbe 0x14005335c
lea rax, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_strpattern.rs
xor r12d, r12d
xor ecx, ecx
cmp r12, rcx
je 0x140053437
mov rdx, rax
add rdx, rcx
je 0x140053437
inc rcx
cmp byte [rdx], 0
jns 0x14005339c
mov byte [rsp + 0x30], 1
mov r13b, 1
mov rbx, qword [rsp + 0x298]
mov r15, qword [rsp + 0x118]
lea r12, [rsp + 0x30]
jmp 0x140053414
xor r13d, r13d
mov rcx, rbp
mov rdx, r14
mov r8, r15
mov r9, r12
call fcn.140052110
mov rcx, rbx
mov rdx, r14
call fcn.1400483f0
mov rsi, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
add rcx, rsi
mov rdx, rbp
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add rsi, r14
mov qword [rbx + 0x10], rsi
lea rcx, [rsp + 0x1c8]
call fcn.140051020
mov rbp, rax
mov r14, rdx
mov al, 1
test rbp, rbp
jne 0x140053212
jmp 0x1400549f8
mov rbx, r14
mov rsi, rbp
mov rbp, rax
test rbx, rbx
je 0x14005370e
add rbx, rsi
xor r15d, r15d
mov edi, 0x48
mov dword [rsp + 0x28], 0x80
mov eax, r12d
mov dword [rsp + 0x40], r12d
xor r14d, r14d
mov qword [rsp + 0x50], r15
lea r9d, [rdi + 0x1a]
mov r10d, edi
neg r10d
inc rsi
mov r11d, 0x24
mov r15d, 1
mov ecx, r14d
mov al, byte [rsi - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x140053499
add al, 0xea
mov edx, eax
jmp 0x1400534ad
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x1400534ad
add al, 0x9f
mov edx, eax
cmp al, 0x1a
jae 0x1400533b9
test r15d, r15d
je 0x140054fd0
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r15d
cmp eax, r8d
jb 0x1400533b9
mov eax, r15d
imul eax, r8d
add ecx, eax
lea eax, [r10 + r11]
cmp r11d, r9d
mov edx, 0x1a
cmovae eax, edx
cmp r11d, edi
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x14005352b
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r15d
jo 0x1400533b9
cmp rsi, rbx
je 0x1400533b9
test rsi, rsi
je 0x1400533b9
add r11d, 0x24
imul r15d, r8d
inc rsi
jmp 0x140053488
mov r10d, dword [rsp + 0x40]
inc r10d
je 0x14005501d
mov eax, ecx
sub eax, r14d
test r14d, r14d
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor edi, edi
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r10d
add eax, r8d
cmp eax, 0x1c8
jb 0x14005359a
xor edi, edi
mov r9d, 0xd41d41d5
mov edx, eax
imul rdx, r9
shr rdx, 0x20
mov r8d, eax
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 5
add edi, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x140053571
jmp 0x14005359d
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov r9d, eax
mov eax, ecx
xor edx, edx
mov dword [rsp + 0x40], r10d
div r10d
add dword [rsp + 0x28], eax
jb 0x1400533b9
mov eax, dword [rsp + 0x28]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x1400533b9
cmp dword [rsp + 0x28], 0x110000
je 0x1400533b9
mov r14d, edx
mov r15d, edx
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140053643
mov r8, qword [rsp + 0x130]
shl rax, 4
add rax, r8
lea rdx, [r8 + 0x10]
mov rcx, rdx
mov rdx, qword [r8]
cmp rdx, r15
jb 0x140053626
inc rdx
mov qword [r8], rdx
xor edx, edx
cmp rcx, rax
setne r8b
je 0x140053643
mov dl, r8b
shl rdx, 4
add rdx, rcx
mov r8, rcx
test rcx, rcx
jne 0x140053615
mov rdx, qword [rsp + 0x50]
cmp rdx, qword [rsp + 0x128]
jne 0x140053675
lea rcx, [rsp + 0x128]
mov word [rsp + 0x50], r9w
call fcn.140051a00
movzx r9d, word [rsp + 0x50]
mov r8, qword [rsp + 0x138]
jmp 0x140053678
mov r8, rdx
movzx eax, r9w
add edi, eax
mov rcx, qword [rsp + 0x130]
mov rax, r8
shl rax, 4
mov qword [rcx + rax], r15
mov edx, dword [rsp + 0x28]
mov dword [rcx + rax + 8], edx
lea r15, [r8 + 1]
mov qword [rsp + 0x138], r15
inc r14d
cmp rsi, rbx
mov qword [rsp + 0x50], r15
jne 0x140053467
mov qword [rsp + 0x28], rcx
cmp r15, 0x15
jae 0x140054354
cmp r15, 2
jb 0x14005371e
mov r8d, 1
mov rcx, qword [rsp + 0x28]
mov rdx, r15
call fcn.140051210
jmp 0x14005371e
test r12, r12
je 0x14005395b
cmp r12, r14
ja case.0x14005294b.1
mov rbx, r14
sub rbx, rsi
jbe 0x140053963
cmp byte [rbp + rsi], 0xbf
jg 0x140053969
jmp 0x1400550fd
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x28], rax
xor r15d, r15d
lea rdi, [r12 + rbp]
add r12, r15
mov rcx, qword [rsp + 0x298]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x40], rax
mov rdx, r12
mov r12, rcx
call fcn.1400483f0
xor ebx, ebx
xor r14d, r14d
mov qword [rsp + 0x50], r15
mov r8, qword [rsp + 0x28]
test r8, r8
sete al
cmp rbx, r15
setae dl
or dl, al
mov rcx, rbx
shl rcx, 4
add r8, rcx
mov rax, rbp
test dl, dl
jne 0x140053778
cmp qword [r8], r14
je 0x14005381b
mov r9, rdi
cmp rax, rdi
je 0x1400537e0
mov r11b, byte [rax]
movzx esi, r11b
test sil, sil
jns 0x1400537ed
mov r9d, esi
and r9d, 0x1f
movzx ebp, byte [rax + 1]
and ebp, 0x3f
cmp sil, 0xdf
jbe 0x1400537f8
movzx r10d, byte [rax + 2]
shl ebp, 6
and r10d, 0x3f
or r10d, ebp
cmp r11b, 0xf0
jb 0x140053808
movzx esi, byte [rax + 3]
add rax, 4
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and esi, 0x3f
or esi, r10d
or esi, r9d
mov rbp, rax
mov r9, rax
cmp esi, 0x110000
jne 0x140053816
mov rax, r9
cmp rbx, r15
jb 0x14005376b
jmp 0x14005392a
inc rax
inc r14
mov rbp, rax
jmp 0x14005382f
add rax, 2
shl r9d, 6
or r9d, ebp
mov esi, r9d
jmp 0x140053816
add rax, 3
shl r9d, 0xc
or r10d, r9d
mov esi, r10d
mov rbp, rax
jmp 0x140053827
inc rbx
mov rax, qword [rsp + 0x28]
mov esi, dword [rax + rcx + 8]
inc r14
cmp esi, 0x7f
ja 0x14005385d
mov rdx, qword [r12 + 0x10]
cmp rdx, qword [r12]
jne 0x140053847
mov rcx, r12
call fcn.1400413a0
mov rdx, qword [r12 + 0x10]
mov rax, qword [r12 + 8]
mov byte [rax + rdx], sil
inc rdx
mov qword [r12 + 0x10], rdx
jmp 0x14005374b
mov dword [rsp + 0x58], 0
mov eax, esi
cmp esi, 0x800
jae 0x14005388c
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x58], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x59], sil
mov esi, 2
jmp 0x1400538f3
cmp esi, 0x10000
jae 0x1400538be
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x58], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x59], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x5a], sil
mov esi, 3
jmp 0x1400538f3
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x58], al
mov eax, esi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x59], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x5a], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x5b], sil
mov esi, 4
mov rcx, r12
mov rdx, rsi
call fcn.1400483f0
mov r15, qword [r12 + 0x10]
mov rcx, qword [r12 + 8]
add rcx, r15
lea rdx, [rsp + 0x58]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add r15, rsi
mov qword [r12 + 0x10], r15
mov r15, qword [rsp + 0x50]
jmp 0x14005374b
mov rbp, qword [r12 + 8]
mov r15, qword [r12 + 0x10]
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1400539e4
cmp r15, rbx
jbe 0x1400539de
cmp byte [rbp + rbx], 0xbf
jg 0x1400539e4
jmp 0x140055117
mov rax, rbp
jmp 0x140053397
jne 0x1400550fd
add rsi, rbp
cmp r12, 8
jb 0x1400539d0
lea rcx, [rbp + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, rbp
cmp rax, r12
ja 0x1400539d0
movabs rdx, 0x8080808080808080
test qword [rbp], rdx
jne 0x1400533b9
cmp rcx, rbp
mov ecx, 8
cmove rax, rcx
mov rcx, r12
add rcx, 0xfffffffffffffff8
cmp rax, rcx
jae 0x1400542a1
movabs rdx, 0x8080808080808080
test qword [rbp + rax], rdx
jne 0x1400533b9
add rax, 8
jmp 0x1400539ac
mov rax, rbp
mov rbp, rsi
mov r14, rbx
jmp 0x14005339a
jne 0x140055117
lea r12, [rbx + rbp]
test r13b, 1
jne 0x1400539fa
cmp r15, rbx
jne 0x1400540b6
xor r13d, r13d
mov al, byte [rsp + 0x32]
or al, byte [rsp + 0x30]
or al, byte [rsp + 0x33]
or al, byte [rsp + 0x34]
or al, byte [rsp + 0x35]
or al, byte [rsp + 0x36]
or al, byte [rsp + 0x37]
or al, byte [rsp + 0x38]
or al, byte [rsp + 0x39]
or al, byte [rsp + 0x3a]
jne 0x1400533c1
cmp byte [rsp + 0x31], 0
jne 0x1400533c1
cmp byte [rsp + 0x3b], 0
jne 0x1400533c1
add rbp, r15
cmp r15, rbx
je 0x14005418c
setne al
movzx edx, al
add rdx, r12
xor r14d, r14d
xor edi, edi
mov rbx, r12
mov r8b, byte [rbx]
test r8b, r8b
jns 0x140053ad6
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rdx]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x140053ab2
movzx ecx, byte [rdx + 1]
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
cmp r8b, 0xf0
jb 0x140053abf
movzx esi, byte [rdx + 2]
and eax, 7
shl eax, 0x12
shl ecx, 6
and esi, 0x3f
or esi, ecx
or esi, eax
cmp esi, 0x110000
je 0x140054190
add rdx, 3
jmp 0x140053aca
inc rdx
shl eax, 6
or eax, r9d
mov esi, eax
jmp 0x140053aca
add rdx, 2
shl eax, 0xc
or ecx, eax
mov esi, ecx
mov rbx, rdx
cmp esi, 0x7f
ja 0x140053b78
mov rbx, rdx
xor eax, eax
cmp rbx, rbp
setne cl
je 0x140054190
test rbx, rbx
je 0x140054190
mov al, cl
add rax, rbx
mov r8b, byte [rbx]
movzx esi, r8b
test sil, sil
jns 0x140053b66
mov ecx, esi
and ecx, 0x1f
movzx r9d, byte [rax]
and r9d, 0x3f
cmp sil, 0xdf
jbe 0x140053b4e
movzx edx, byte [rax + 1]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140053b5b
movzx esi, byte [rax + 2]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, ecx
cmp esi, 0x110000
je 0x140054190
add rax, 3
jmp 0x140053b66
inc rax
shl ecx, 6
or ecx, r9d
mov esi, ecx
jmp 0x140053b66
add rax, 2
shl ecx, 0xc
or edx, ecx
mov esi, edx
mov rbx, rax
cmp esi, 0x80
jb 0x140053ad9
xor r14d, r14d
mov ecx, esi
call fcn.140056720
cmp r14b, al
jbe 0x140053b8c
test al, al
jne 0x140054315
lea ecx, [rsi - 0x340]
cmp ecx, 4
ja 0x140053ba0
cmp ecx, 2
jne 0x140054315
mov cl, 2
cmp esi, 0xd56
jg 0x140053c05
cmp esi, 0x9de
jg 0x140053c62
cmp esi, 0x93b
jg 0x140053d70
lea edx, [rsi - 0x30f]
cmp edx, 0x36
ja 0x140053be1
movabs r8, 0x48020000001005
bt r8, rdx
jb 0x140054043
lea edx, [rsi - 0x374]
cmp edx, 0x13
ja 0x140053e70
mov r8d, 0x80401
bt r8d, edx
jb 0x140054315
jmp 0x140053e70
cmp esi, 0x11126
jg 0x140053cc5
cmp esi, 0xf92
jg 0x140053d09
lea edx, [rsi - 0xdca]
cmp edx, 0x15
ja 0x140053c38
mov r8d, 0x200021
bt r8d, edx
jb 0x140054043
cmp esi, 0xd57
je 0x140054043
lea edx, [rsi - 0xf43]
cmp edx, 0x3e
ja 0x140053e70
movabs r8, 0x4021004002108401
jmp 0x140053e23
cmp esi, 0xbd6
jg 0x140053d4b
cmp esi, 0xbbd
jg 0x140053e2f
lea edx, [rsi - 0xb3e]
cmp edx, 0x19
ja 0x140053c95
mov r8d, 0x3000001
bt r8d, edx
jb 0x140054043
lea edx, [rsi - 0xa33]
cmp edx, 0x2b
ja 0x140053cb4
movabs r8, 0x80000000009
bt r8, rdx
jb 0x140054315
cmp esi, 0x9df
jne 0x140053e70
jmp 0x140054315
cmp esi, 0x114af
jle 0x140053d99
lea edx, [rsi - 0x114b0]
cmp edx, 0xd
ja 0x140053cec
mov r8d, 0x2401
bt r8d, edx
jb 0x140054043
cmp esi, 0x115af
je 0x140054043
cmp esi, 0x11930
je 0x140054043
jmp 0x140053e70
cmp esi, 0x1f70
jg 0x140053ddf
cmp esi, 0x102e
je 0x140054043
cmp esi, 0x1b35
je 0x140054043
lea edx, [rsi - 0xf93]
cmp edx, 0x26
ja 0x140053e70
movabs r8, 0x4002108401
jmp 0x140053e23
cmp esi, 0xcc1
jg 0x140053dc2
cmp esi, 0xbd7
je 0x140054043
cmp esi, 0xc56
je 0x140054043
jmp 0x140053e70
cmp esi, 0x93c
je 0x140054043
cmp esi, 0x9be
je 0x140054043
cmp esi, 0x9d7
je 0x140054043
jmp 0x140053e70
cmp esi, 0x11127
je 0x140054043
cmp esi, 0x1133e
je 0x140054043
cmp esi, 0x11357
je 0x140054043
jmp 0x140053e70
cmp esi, 0xcc2
je 0x140054043
cmp esi, 0xd3e
je 0x140054043
jmp 0x140053e70
cmp esi, 0xfa0f
jle 0x140053e3d
cmp esi, 0x110ba
je 0x140054043
lea edx, [rsi - 0xfa10]
cmp edx, 0x12
ja 0x140053e0e
mov r8d, 0x50005
bt r8d, edx
jb 0x140054315
lea edx, [rsi - 0xfb1d]
cmp edx, 0x21
ja 0x140053e70
movabs r8, 0x200000005
bt r8, rdx
jb 0x140054315
jmp 0x140053e70
cmp esi, 0xbbe
je 0x140054043
jmp 0x140053e70
cmp esi, 0x2125
jle 0x14005406b
lea edx, [rsi - 0x2329]
cmp edx, 2
jb 0x140054315
cmp esi, 0x2126
je 0x140054315
cmp esi, 0x2adc
je 0x140054315
lea edx, [rsi - 0x2f800]
cmp edx, 0x21e
jb 0x140054315
lea edx, [rsi - 0x1d1bb]
cmp edx, 6
jb 0x140054315
lea edx, [rsi - 0x1d15e]
cmp edx, 7
jb 0x140054315
lea edx, [rsi - 0xfb46]
cmp edx, 9
jb 0x140054315
lea edx, [rsi - 0xfb43]
cmp edx, 2
jb 0x140054315
mov edx, esi
and edx, 0xfffffffe
cmp edx, 0xfb40
je 0x140054315
lea r8d, [rsi - 0xfb38]
cmp r8d, 5
jb 0x140054315
lea r8d, [rsi - 0xfb2a]
cmp r8d, 0xd
jb 0x140054315
lea r8d, [rsi - 0xfa70]
cmp r8d, 0x6a
jb 0x140054315
lea r8d, [rsi - 0xfa2a]
cmp r8d, 0x44
jb 0x140054315
lea r8d, [rsi - 0xfa25]
cmp r8d, 2
jb 0x140054315
lea r8d, [rsi - 0xfa15]
cmp r8d, 0xa
jb 0x140054315
lea r8d, [rsi - 0xf900]
cmp r8d, 0x10e
jb 0x140054315
cmp edx, 0x212a
je 0x140054315
cmp edx, 0x2000
je 0x140054315
cmp edx, 0x1fee
je 0x140054315
lea r8d, [rsi - 0xf75]
cmp r8d, 2
jb 0x140054315
cmp edx, 0xb5c
je 0x140054315
lea r8d, [rsi - 0xa59]
cmp r8d, 3
jb 0x140054315
mov r8d, esi
and r8d, 0xfffffff8
cmp r8d, 0x958
je 0x140054315
cmp edx, 0x9dc
je 0x140054315
lea r8d, [rsi - 0x11a8]
cmp r8d, 0x1b
jb 0x140054043
lea r8d, [rsi - 0x1161]
cmp r8d, 0x15
jb 0x140054043
lea r8d, [rsi - 0xcd5]
cmp r8d, 2
jb 0x140054043
lea r8d, [rsi - 0x653]
cmp r8d, 3
jb 0x140054043
cmp edx, 0x330
je 0x140054043
lea edx, [rsi - 0x32d]
cmp edx, 2
jb 0x140054043
lea edx, [rsi - 0x323]
cmp edx, 6
jb 0x140054043
lea edx, [rsi - 0x313]
cmp edx, 2
jb 0x140054043
lea edx, [rsi - 0x300]
cmp edx, 5
jb 0x140054043
lea edx, [rsi - 0x306]
cmp edx, 7
jb 0x140054043
add esi, 0xffffcf67
cmp esi, 2
movzx ecx, dil
mov edx, 2
cmovb ecx, edx
xor edx, edx
cmp rbx, rbp
setne r8b
je 0x140054192
mov dl, r8b
add rdx, rbx
mov r14d, eax
mov edi, ecx
test rbx, rbx
jne 0x140053a5b
jmp 0x140054192
lea edx, [rsi - 0x1fbe]
cmp edx, 0x3f
ja 0x14005408a
movabs r8, 0xa800202020202801
bt r8, rdx
jb 0x140054315
lea edx, [rsi - 0x1f71]
cmp edx, 0xc
ja 0x1400540a5
mov r8d, 0x1555
bt r8d, edx
jb 0x140054315
cmp esi, 0x1fbb
je 0x140054315
jmp 0x140053e70
lea rsi, [r15 + rbp]
lea rax, [r12 + 1]
mov rdi, r12
mov r9b, byte [rdi]
movzx ecx, r9b
test cl, cl
js 0x1400540d2
mov rdi, rax
jmp 0x140054142
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [rax]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x140054122
movzx r8d, byte [rax + 1]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x140054132
movzx ecx, byte [rax + 2]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
je 0x1400539f7
add rax, 3
jmp 0x1400540cd
inc rax
shl edx, 6
or edx, r10d
mov rdi, rax
mov ecx, edx
jmp 0x140054142
add rax, 2
shl edx, 0xc
or r8d, edx
mov rdi, rax
mov ecx, r8d
lea eax, [rcx - 0x21]
cmp eax, 0x5d
ja 0x14005416e
xor r13d, r13d
xor eax, eax
cmp rdi, rsi
setne cl
je 0x1400539fa
mov al, cl
add rax, rdi
test rdi, rdi
jne 0x1400540c2
jmp 0x1400539fa
call fcn.140065620
cmp al, 0x11
ja 0x14005414a
movzx eax, al
mov ecx, 0x20003
bt ecx, eax
jae 0x14005414a
mov r13b, 1
jmp 0x1400539fa
xor ecx, ecx
jmp 0x140054192
mov ecx, edi
test cl, cl
je 0x14005431f
movzx eax, cl
cmp eax, 1
je 0x140054315
xor ecx, ecx
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], r12
lea rax, [rsp + 0x98]
movups xmmword [rax + 0xc], xmm6
movups xmmword [rax], xmm6
mov byte [rsp + 0xd8], cl
mov dword [rsp + 0xe0], 0x110000
mov byte [rsp + 0xe4], cl
mov rdi, r12
lea r14, [rsp + 0x58]
xor eax, eax
cmp rdi, rbp
setne cl
je 0x1400542bb
test rdi, rdi
je 0x1400542bb
mov al, cl
add rax, rdi
mov r8b, byte [rdi]
movzx esi, r8b
test sil, sil
jns 0x140054283
mov ecx, esi
and ecx, 0x1f
movzx r9d, byte [rax]
and r9d, 0x3f
cmp sil, 0xdf
jbe 0x14005426b
movzx edx, byte [rax + 1]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140054278
movzx esi, byte [rax + 2]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, ecx
cmp esi, 0x110000
je 0x1400542bb
add rax, 3
jmp 0x140054283
inc rax
shl ecx, 6
or ecx, r9d
mov esi, ecx
jmp 0x140054283
add rax, 2
shl ecx, 0xc
or edx, ecx
mov esi, edx
mov rdi, rax
mov rcx, r14
call fcn.1400507c0
mov bl, 1
cmp eax, 0x110000
je 0x1400542cd
cmp eax, esi
je 0x1400541fa
jmp 0x1400542cd
movabs rax, 0x8080808080808080
test qword [rbp + rcx], rax
jne 0x1400533b9
jmp 0x140053440
mov rcx, r14
call fcn.1400507c0
cmp eax, 0x110000
setne bl
neg bl
mov rdx, qword [rsp + 0xa8]
cmp rdx, 5
jb 0x1400542f2
mov rcx, qword [rsp + 0xb8]
shl rdx, 3
mov r8d, 4
call fcn.140018300
mov rdx, qword [rsp + 0x58]
cmp rdx, 5
jb 0x140054311
mov rcx, qword [rsp + 0x68]
shl rdx, 2
mov r8d, 4
call fcn.140018300
test bl, bl
je 0x14005431f
mov byte [rsp + 0x35], 1
jmp 0x1400533c1
sub r15, qword [rsp + 0x40]
mov rcx, r12
mov rdx, r15
mov r8, qword [rsp + 0x178]
lea r12, [rsp + 0x30]
mov r9, r12
call fcn.140052110
mov rbx, qword [rsp + 0x298]
mov r15, qword [rsp + 0x118]
jmp 0x140053414
mov rdi, r8
lea rcx, [r15*8]
movabs rax, 0x7ffffffffffffff0
and rcx, rax
mov edx, 8
mov qword [rsp + 0x158], rcx
call fcn.140018270
test rax, rax
mov rsi, qword [rsp + 0x28]
je 0x1400551a1
mov r14, rax
mov ecx, 0x100
mov edx, 8
call fcn.140018270
test rax, rax
je 0x1400551b1
mov rbx, rax
mov eax, 1
sub rax, rdi
mov qword [rsp + 0x150], rax
lea rax, [rsi + 0x20]
mov qword [rsp + 0x148], rax
lea rax, [rsi + 8]
mov qword [rsp + 0x168], rax
lea rax, [rsi - 8]
mov qword [rsp + 0x160], rax
lea rax, [rsi - 0x10]
mov qword [rsp + 0x170], rax
mov eax, 0x10
mov qword [rsp + 0x140], rax
xor r11d, r11d
xor r10d, r10d
mov qword [rsp + 0x110], r14
mov qword [rsp + 0x180], r13
mov r9, r11
shl r9, 4
lea rcx, [rsi + r9]
mov r8, r15
sub r8, r11
cmp r8, 2
mov qword [rsp + 0x108], r11
mov qword [rsp + 0x40], r10
jae 0x140054439
mov rdx, r15
jmp 0x1400545dd
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
cmp rdx, rax
jae 0x14005445a
cmp r8, 2
jne 0x14005446f
lea rdx, [r11 + 2]
mov r8d, 2
jmp 0x140054529
cmp r8, 2
jne 0x1400544b5
lea rdx, [r11 + 2]
mov r8d, 2
jmp 0x1400545dd
mov qword [rsp + 0x48], rbx
mov r10, qword [rsp + 0x150]
add r11, r10
mov r10, qword [rsp + 0x148]
lea rsi, [r10 + r9]
mov r10d, 2
mov rdi, rdx
mov rbx, rdi
mov rdi, qword [rsi]
cmp rdi, rbx
jae 0x1400544fc
lea rbx, [r11 + r10]
inc rbx
inc r10
add rsi, 0x10
cmp rbx, 2
jne 0x140054494
jmp 0x1400544f9
mov qword [rsp + 0x48], rbx
mov r10, qword [rsp + 0x150]
add r11, r10
mov r10, qword [rsp + 0x148]
lea rsi, [r10 + r9]
mov r10d, 2
mov rdi, rdx
mov rbx, rdi
mov rdi, qword [rsi]
cmp rdi, rbx
jb 0x1400544fc
lea rbx, [r11 + r10]
inc rbx
inc r10
add rsi, 0x10
cmp rbx, 2
jne 0x1400544da
mov r10, r8
mov rsi, qword [rsp + 0x108]
lea r11, [r10 + rsi]
mov r8, r10
cmp rdx, rax
mov rdx, r11
mov r11, rsi
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
jae 0x1400545dd
cmp rdx, r11
jb 0x140055180
cmp rdx, r15
ja 0x14005518f
cmp r8, 2
jb 0x1400545dd
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x48], rbx
mov rdx, r8
shr rdx, 1
cmp rdx, 2
mov r10d, 1
cmovae r10, rdx
add r9, qword [rsp + 0x168]
lea rax, [rdx - 1]
add r11, r8
shl r11, 4
add r11, qword [rsp + 0x160]
cmp rax, rdx
jae 0x140055011
mov rsi, qword [r9 - 8]
mov edi, dword [r9]
mov rbx, qword [r11 - 8]
mov r14d, dword [r11]
mov qword [r9 - 8], rbx
mov dword [r9], r14d
mov qword [r11 - 8], rsi
mov dword [r11], edi
add r9, 0x10
dec rax
add r11, 0xfffffffffffffff0
dec r10
jne 0x140054581
mov rsi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x120]
mov r11, qword [rsp + 0x108]
mov rdi, rdx
sub rdi, r11
jb 0x140055134
cmp rdx, r15
ja 0x140055134
jae 0x14005463a
cmp r8, 0xa
jae 0x14005463a
lea rdi, [r11 + 0xa]
cmp rdi, r15
cmovae rdi, r15
mov qword [rsp + 0x120], rdi
sub rdi, r11
jb 0x14005514c
cmp r8, 2
mov eax, 1
cmovb r8, rax
mov rdx, rdi
call fcn.140051210
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x108]
jmp 0x140054642
mov qword [rsp + 0x120], rdx
cmp r10, qword [rsp + 0x140]
jne 0x1400546b9
mov qword [rsp + 0x48], rbx
mov rcx, r10
shl rcx, 5
mov edx, 8
mov rbx, r10
call fcn.140018270
test rax, rax
je 0x140055168
mov rsi, rax
lea rax, [rbx + rbx]
mov qword [rsp + 0x140], rax
shl rbx, 4
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 8
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
call fcn.140018300
mov rbx, rsi
mov rsi, qword [rsp + 0x28]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x108]
mov rax, r10
shl rax, 4
mov qword [rbx + rax], rdi
mov qword [rbx + rax + 8], r11
inc r10
mov rax, r10
cmp r10, 2
mov qword [rsp + 0x48], rbx
jb 0x1400549b2
mov r10, rax
lea r11, [rax - 1]
mov rcx, r11
shl rcx, 4
mov rax, qword [rbx + rcx]
mov rcx, qword [rbx + rcx + 8]
add rcx, rax
cmp rcx, r15
je 0x140054749
mov rdx, r10
shl rdx, 4
mov r8, qword [rdx + rbx - 0x20]
cmp r8, rax
jbe 0x140054749
cmp r10, 3
jb 0x1400549a4
lea rdi, [r10 - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [rbx + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x14005475e
cmp r10, 4
jb 0x1400549ac
add r8, rcx
cmp qword [rdx + rbx - 0x40], r8
jbe 0x14005475e
jmp 0x1400549b2
cmp r10, 3
jb 0x140054763
lea rdi, [r10 - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [rbx + rcx]
cmp rcx, rax
jb 0x140054767
lea rdi, [r10 - 2]
cmp r10, rdi
jbe 0x14005504d
lea rax, [rdi + 1]
cmp r10, rax
jbe 0x140055085
mov rdx, rdi
shl rdx, 4
mov rcx, qword [rbx + rdx + 8]
shl rax, 4
mov r8, qword [rbx + rax]
mov r14, qword [rbx + rax + 8]
add r14, r8
cmp r14, rcx
jb 0x1400550bd
mov qword [rsp + 0x108], rdi
cmp r14, r15
ja 0x1400550cc
mov qword [rsp + 0x1a0], r8
mov qword [rsp + 0x1b0], r11
mov qword [rsp + 0x40], r10
lea r8, [rbx + rdx]
mov qword [rsp + 0x198], r8
mov r13, qword [rbx + rdx]
lea rdx, [rbx + rax]
mov qword [rsp + 0x190], rdx
add rax, rbx
add rax, 8
mov qword [rsp + 0x188], rax
mov r15, rcx
shl r15, 4
add r15, rsi
mov rdi, r13
shl rdi, 4
lea rbx, [r15 + rdi]
mov rsi, r14
shl rsi, 4
mov qword [rsp + 0x1a8], rcx
sub r14, rcx
sub r14, r13
cmp r14, r13
jae 0x140054899
mov rdi, r14
shl rdi, 4
mov rcx, qword [rsp + 0x110]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, qword [rsp + 0x110]
test r13, r13
jle 0x140054906
test r14, r14
jle 0x140054906
add rsi, qword [rsp + 0x170]
mov r14, qword [rsp + 0x110]
mov rax, qword [rdi - 0x10]
cmp rax, qword [rbx - 0x10]
jb 0x140054879
add rdi, 0xfffffffffffffff0
mov rax, rdi
jmp 0x140054880
add rbx, 0xfffffffffffffff0
mov rax, rbx
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
cmp rbx, r15
jbe 0x140054894
add rsi, 0xfffffffffffffff0
cmp rdi, r14
ja 0x140054866
mov r15, rbx
jmp 0x140054911
mov r14, qword [rsp + 0x110]
mov rcx, r14
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
test r13, r13
jle 0x140054911
add rsi, qword [rsp + 0x28]
cmp rbx, rsi
jae 0x140054911
mov rdx, r14
mov r8, rdx
mov rcx, qword [rbx]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, rbx
shl rdx, 4
add rdx, r8
movups xmm0, xmmword [r9]
movups xmmword [r15], xmm0
add r15, 0x10
cmp rdx, rdi
jae 0x140054914
mov al, cl
shl rax, 4
add rbx, rax
cmp rbx, rsi
jb 0x1400548c4
jmp 0x140054914
mov r15, rbx
mov r14, qword [rsp + 0x110]
mov rdx, r14
sub rdi, rdx
mov rcx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x1a0]
add rax, r13
mov rcx, qword [rsp + 0x190]
mov qword [rcx], rax
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x188]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x198]
lea rdx, [rcx + 0x10]
mov rax, qword [rsp + 0x108]
not rax
mov r8, qword [rsp + 0x40]
add r8, rax
shl r8, 4
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rsp + 0x1b0]
cmp rax, 1
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x180]
ja 0x1400546de
mov r10d, 1
jmp 0x1400549b2
mov r10d, 2
jmp 0x1400549b2
mov r10d, 3
mov r11, qword [rsp + 0x120]
cmp r11, r15
jb 0x14005440d
mov rdx, qword [rsp + 0x140]
shl rdx, 4
mov r8d, 8
mov rcx, rbx
call fcn.140018300
mov r8d, 8
mov rcx, r14
mov rdx, qword [rsp + 0x158]
call fcn.140018300
jmp 0x14005371e
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
mov r8, qword [rsp + 0x1c0]
test r8, r8
je 0x140054a3b
cmp rdx, r8
jbe 0x140054a39
cmp byte [rcx + r8], 0xbf
jg 0x140054a3b
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.140058da0
lea r8, [0x14006f610]
call fcn.140058980
jne 0x140054a19
add rcx, r8
sub rdx, r8
lea rax, [rsp + 0x58]
mov qword [rax], rcx
mov qword [rax + 8], rdx
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rdx
mov qword [rax + 0x20], 1
movabs r8, 0x2e0000002e
mov qword [rax + 0x28], r8
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rdx
mov word [rax + 0x40], 1
mov rcx, rax
call fcn.140051020
test rax, rax
je 0x140054f6e
mov rbx, rax
mov r14, rdx
lea rdi, [rsp + 0x58]
test r13b, 1
je 0x140054afe
xor esi, esi
test r14, r14
setne al
je 0x140054afe
mov sil, al
add rsi, rbx
mov r8b, byte [rbx]
movzx ecx, r8b
test cl, cl
jns 0x140054b2c
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rsi]
inc rsi
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x140054b16
movzx edx, byte [rsi]
inc rsi
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140054b20
movzx ecx, byte [rsi]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x140054b29
mov rcx, rdi
call fcn.140051020
mov rbx, rax
mov r14, rdx
test rax, rax
jne 0x140054a97
jmp 0x140054f6e
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x140054b2c
shl eax, 0xc
or edx, eax
mov ecx, edx
jmp 0x140054b2c
inc rsi
add r14, rbx
call fcn.140065620
test al, al
je 0x140054c24
movzx eax, al
cmp eax, 0x11
je 0x140054c24
cmp eax, 9
jne 0x140054f69
cmp rsi, r14
je 0x140054d1e
test rsi, rsi
je 0x140054d1e
lea rax, [rsi + 1]
mov r9b, byte [rsi]
movzx ecx, r9b
test cl, cl
jns 0x140054bc0
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [rax]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x140054c02
movzx r8d, byte [rax + 1]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x140054c12
movzx ecx, byte [rax + 2]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
je 0x140054d1e
add rax, 3
mov rsi, rax
call fcn.140065620
cmp al, 0xe
ja 0x140054f69
movzx eax, al
mov ecx, 0x62f8
bt ecx, eax
jae 0x140054f69
xor eax, eax
cmp rsi, r14
setne cl
je 0x140054d1e
mov al, cl
add rax, rsi
test rsi, rsi
jne 0x140054b67
jmp 0x140054d1e
inc rax
shl edx, 6
or edx, r10d
mov rsi, rax
mov ecx, edx
jmp 0x140054bc3
add rax, 2
shl edx, 0xc
or r8d, edx
mov rsi, rax
mov ecx, r8d
jmp 0x140054bc3
xor r15d, r15d
cmp rsi, r14
je 0x140054d36
mov ebp, 0
test rsi, rsi
je 0x140054d38
lea rax, [rsi + 1]
xor r12d, r12d
xor ebp, ebp
mov r9b, byte [rsi]
movzx ecx, r9b
test cl, cl
jns 0x140054ca8
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [rax]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x140054cfc
movzx r8d, byte [rax + 1]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x140054d0c
movzx ecx, byte [rax + 2]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
je 0x140054d31
add rax, 3
mov rsi, rax
call fcn.140065620
cmp al, 0x11
ja 0x140054f69
movzx r15d, al
mov eax, 0x260d9
bt eax, r15d
jae 0x140054ce7
mov r15d, r12d
xor eax, eax
cmp rsi, r14
setne cl
je 0x140054d38
mov al, cl
add rax, rsi
mov r12d, r15d
test rsi, rsi
jne 0x140054c47
jmp 0x140054d38
cmp r15d, 1
je 0x140054cca
cmp r15d, 5
jne 0x140054f69
mov bpl, 1
jmp 0x140054cc7
inc rax
shl edx, 6
or edx, r10d
mov rsi, rax
mov ecx, edx
jmp 0x140054cab
add rax, 2
shl edx, 0xc
or r8d, edx
mov rsi, rax
mov ecx, r8d
jmp 0x140054cab
mov al, byte [r14 - 1]
dec r14
test al, al
js 0x140054d80
movzx esi, al
jmp 0x140054df1
mov r15d, r12d
jmp 0x140054d38
xor ebp, ebp
mov al, byte [r14 - 1]
dec r14
test al, al
js 0x140054d4b
movzx esi, al
jmp 0x140054eaa
movzx ecx, byte [r14 - 1]
cmp cl, 0xc0
jge 0x140054d78
movzx edx, byte [r14 - 2]
cmp dl, 0xc0
jge 0x140054dad
movzx r8d, byte [r14 - 3]
add r14, 0xfffffffffffffffd
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x140054db4
dec r14
and ecx, 0x1f
jmp 0x140054dbc
movzx ecx, byte [r14 - 1]
cmp cl, 0xc0
jge 0x140054dcb
movzx edx, byte [r14 - 2]
cmp dl, 0xc0
jge 0x140054dd3
movzx r8d, byte [r14 - 3]
add r14, 0xfffffffffffffffd
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x140054dda
add r14, 0xfffffffffffffffe
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
jmp 0x140054f2f
dec r14
and ecx, 0x1f
jmp 0x140054de2
add r14, 0xfffffffffffffffe
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
jmp 0x140054e76
mov ecx, esi
call fcn.140065620
cmp al, 0xd
jne 0x140054e87
lea rdx, [r14 - 1]
cmp r14, rbx
cmovne r14, rdx
je 0x140054afe
mov al, byte [rdx]
test al, al
js 0x140054e1c
movzx esi, al
jmp 0x140054e73
movzx ecx, byte [r14 - 1]
cmp cl, 0xc0
jge 0x140054e49
movzx r8d, byte [r14 - 2]
cmp r8b, 0xc0
jge 0x140054e54
movzx edx, byte [r14 - 3]
add r14, 0xfffffffffffffffd
and edx, 7
shl edx, 6
and r8d, 0x3f
or r8d, edx
jmp 0x140054e5c
dec r14
and ecx, 0x1f
mov rdx, r14
jmp 0x140054e69
add r14, 0xfffffffffffffffe
and r8d, 0xf
mov rdx, r14
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
mov r14, rdx
cmp esi, 0x110000
jne 0x140054df1
jmp 0x140054afe
mov ecx, esi
call fcn.140065620
cmp al, 9
je 0x140054afe
mov ecx, esi
call fcn.140065620
cmp al, 5
je 0x140054afe
jmp 0x140054f69
mov ecx, esi
call fcn.140065620
cmp al, 0xd
jne 0x140054f3d
lea rdx, [r14 - 1]
cmp r14, rbx
cmovne r14, rdx
je 0x140054f69
mov al, byte [rdx]
test al, al
js 0x140054ed5
movzx esi, al
jmp 0x140054f2c
movzx ecx, byte [r14 - 1]
cmp cl, 0xc0
jge 0x140054f02
movzx r8d, byte [r14 - 2]
cmp r8b, 0xc0
jge 0x140054f0d
movzx edx, byte [r14 - 3]
add r14, 0xfffffffffffffffd
and edx, 7
shl edx, 6
and r8d, 0x3f
or r8d, edx
jmp 0x140054f15
dec r14
and ecx, 0x1f
mov rdx, r14
jmp 0x140054f22
add r14, 0xfffffffffffffffe
and r8d, 0xf
mov rdx, r14
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
mov r14, rdx
cmp esi, 0x110000
jne 0x140054eaa
jmp 0x140054f69
mov ecx, esi
call fcn.140065620
cmp al, 0x11
ja 0x140054f69
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x140054f69
test r15b, 1
je 0x140054afe
and bpl, 1
je 0x140054afe
mov byte [rsp + 0x32], 1
mov eax, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x1b8]
mov dword [rsi + 8], eax
mov rax, qword [rsp + 0x30]
mov qword [rsi], rax
mov rdx, qword [rsp + 0x128]
xor r8d, r8d
test rdx, rdx
setne al
je 0x140054fb2
shl rdx, 4
je 0x140054fb2
mov rcx, qword [rsp + 0x130]
mov r8b, al
shl r8, 3
call fcn.140018300
mov rax, rsi
jmp 0x140052440
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.140058980
lea rcx, str.attempt_to_divide_by_zero_rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slicemod.rs
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_punycode.rs
mov edx, 0x19
call fcn.1400588d0
lea r8, [0x14006f5f8]
call fcn.140058d20
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14007b4d4]
mov edx, 0x321c
call fcn.140058da0
lea r8, [0x14006f718]
jmp 0x14005310e
lea rcx, str.attempt_to_divide_by_zero_rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slicemod.rs
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_punycode.rs
jmp 0x140054fde
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov qword [rsp + 0x20], rax
mov r8d, 4
mov rcx, rbp
mov rdx, r14
mov r9, r14
call fcn.140058da0
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x58]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
xor eax, eax
mov qword [rcx], rax
lea rdx, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_strpattern.rs
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
lea rdx, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
call fcn.140058830
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x58]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
xor eax, eax
mov qword [rcx], rax
lea rdx, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_strpattern.rs
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
lea rdx, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
call fcn.140058830
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
mov rdx, r14
call fcn.140058d40
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
mov rcx, r14
mov rdx, qword [rsp + 0x50]
call fcn.140058d30
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_punycode.rs
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, r14
xor r8d, r8d
mov r9, r12
call fcn.140058da0
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_punycode.rs
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, r14
mov r8, rsi
jmp 0x140055045
lea rax, str._builds_worker_checkouts_gecko_third_party_rust_idna_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, r15
mov r8, rbx
mov r9, r15
call fcn.140058da0
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.1400588d0
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x120]
call fcn.140058d40
lea rcx, str.called__Option::unwrap____on_a__None__valueassertion_failed:_idx___CAPACITY_rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrary_alloc_srccollections_btree_node.rs
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
mov edx, 0x2b
call fcn.1400588d0
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
mov rcx, r11
call fcn.140058d40
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
mov rcx, rdx
mov rdx, r15
call fcn.140058d30
lea rcx, str.called__Option::unwrap____on_a__None__valueassertion_failed:_idx___CAPACITY_rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrary_alloc_srccollections_btree_node.rs
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
jmp 0x140055176
lea rcx, str.called__Option::unwrap____on_a__None__valueassertion_failed:_idx___CAPACITY_rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrary_alloc_srccollections_btree_node.rs
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_slice_sort.rs
jmp 0x140055176