Function at 0x140034ad0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
movdqa xmmword [rsp + 0x240], xmm15
movdqa xmmword [rsp + 0x230], xmm14
movdqa xmmword [rsp + 0x220], xmm13
movdqa xmmword [rsp + 0x210], xmm12
movdqa xmmword [rsp + 0x200], xmm11
movdqa xmmword [rsp + 0x1f0], xmm10
movdqa xmmword [rsp + 0x1e0], xmm9
movdqa xmmword [rsp + 0x1d0], xmm8
movdqa xmmword [rsp + 0x1c0], xmm7
movaps xmmword [rsp + 0x1b0], xmm6
mov qword [rsp + 0x190], rcx
mov rbx, qword [rsp + 0x2c0]
test r9, r9
je 0x140034caa
lea rax, [r8 + r9]
xor edi, edi
movdqa xmm0, xmmword [0x140132980]
mov rcx, r8
jmp 0x140034b7f
xor r11d, r11d
mov rdi, r11
cmp rcx, rax
je 0x140036247
movzx ebx, byte [rcx]
movzx r10d, bl
test r10b, r10b
js 0x140034bb0
inc rcx
mov rbx, qword [rsp + 0x2c0]
cmp r10d, 0x2e
je 0x140034b70
jmp 0x140034c50
mov r11d, r10d
and r11d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp r10b, 0xdf
jbe 0x140034c0c
movzx r10d, byte [rcx + 2]
shl esi, 6
and r10d, 0x3f
or r10d, esi
cmp bl, 0xf0
jb 0x140034c2d
movzx esi, byte [rcx + 3]
add rcx, 4
and r11d, 7
shl r11d, 0x12
shl r10d, 6
and esi, 0x3f
or esi, r10d
or esi, r11d
mov r10d, esi
mov rbx, qword [rsp + 0x2c0]
cmp r10d, 0x2e
je 0x140034b70
jmp 0x140034c50
add rcx, 2
shl r11d, 6
or r11d, esi
mov r10d, r11d
mov rbx, qword [rsp + 0x2c0]
cmp r10d, 0x2e
jne 0x140034c50
jmp 0x140034b70
add rcx, 3
shl r11d, 0xc
or r10d, r11d
mov rbx, qword [rsp + 0x2c0]
cmp r10d, 0x2e
je 0x140034b70
nop word [rax + rax]
test rdi, rdi
jne 0x140034c5b
cmp r10d, 0x2d
je 0x140034caa
mov r11d, 5
cmp rdi, 4
ja 0x140034c86
movdqa xmmword [rsp + 0x50], xmm0
je 0x14003899c
cmp r10d, dword [rsp + rdi*4 + 0x50]
jne 0x140034c86
inc rdi
mov r11, rdi
cmp rdi, 4
je 0x140034caa
lea esi, [r10 - 0x61]
cmp esi, 0x1a
setb sil
add r10d, 0xffffffd0
cmp r10d, 0xa
setb r10b
or r10b, sil
cmp r10b, 1
je 0x140034b73
mov eax, dword [rdx + 0x30]
movzx ecx, byte [rdx + 0x34]
add r9, r8
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov word [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov byte [rsp + 0x78], 0
mov dword [rsp + 0x7c], 0
mov byte [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x90], r9
lea r8, [rsp + 0xf8]
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xb4], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x48], rdx
mov qword [rdx + 0x10], 0
mov dword [rsp + 0x100], 0
mov qword [rsp + 0xf8], 0
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x188], rcx
xorps xmm6, xmm6
movups xmmword [rsp + 0x10b], xmm6
mov byte [rsp + 0x11b], 0
movups xmmword [rsp + 0x1a0], xmm6
lea r12, [rsp + 0x60]
mov dword [rsp + 0xb0], eax
movups xmm0, xmmword [rsp + 0x108]
movups xmmword [rsp + 0xb5], xmm0
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xc5], eax
mov dword [rsp + 0xd0], 0
mov word [rsp + 0xd4], 0
movzx eax, word [rsp + 0x1ae]
mov word [rsp + 0xe6], ax
movdqu xmm0, xmmword [rsp + 0x19e]
movdqu xmmword [rsp + 0xd6], xmm0
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], 0
xor r13d, r13d
lea rbx, [0x14014b270]
lea rdi, [0x14014ed40]
xor eax, eax
jmp 0x140034e34
mov rax, qword [r15 + 8]
mov byte [rax + rsi], r14b
inc rsi
mov qword [r15 + 0x10], rsi
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140034f21
cmp rax, 1
jne 0x14003613d
mov rax, qword [rsp + 0x58]
test byte [rsp + 0xd0], 1
je 0x140034e80
cmp rax, qword [rsp + 0xe8]
jb 0x14003619a
mov qword [rsp + 0xe8], 0
jmp 0x140034eaa
movzx ecx, word [rsp + 0xd4]
cmp rcx, 4
ja 0x14003894d
cmp rax, rcx
jb 0x1400361a4
test cx, cx
je 0x140034eaa
mov word [rsp + 0xd4], 0
mov qword [rsp + 0x50], 0
jmp 0x140034f21
movzx esi, bp
imul r14d, esi, 0x6f75
shr r14d, 0x18
lea edx, [r14 + 0x1100]
mov rcx, r12
call fcn.14003b720
imul eax, r14d, 0x24c
sub ebp, eax
movzx eax, bp
imul edx, eax, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r12
call fcn.14003b720
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 0x140034f21
add esi, 0x11a7
movzx edx, si
mov rcx, r12
call fcn.14003b720
mov r9, qword [rsp + 0xc0]
test r9, r9
jne 0x140035270
movzx r11d, byte [rsp + 0xb0]
cmp r11b, 2
je 0x140035392
mov r8, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov r10, qword [rsp + 0x98]
movzx r14d, byte [rsp + 0xb1]
mov rbp, qword [rsp + 0xa8]
nop word cs:[rax + rax]
test r8, r8
je 0x140034f9a
cmp r8, rbp
jne 0x140035632
mov qword [rsp + 0xa0], 0
cmp r15, rsi
je 0x14003538a
lea rax, [r15 + 1]
mov qword [rsp + 0x88], rax
movzx ecx, byte [r15]
movzx edx, cl
test dl, dl
js 0x140034fd0
mov r15, rax
lea eax, [rdx - 0x2d]
cmp eax, 2
jae 0x140035080
jmp case.0x1400351c0.0
mov eax, edx
and eax, 0x1f
lea r9, [r15 + 2]
mov qword [rsp + 0x88], r9
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x140035046
lea r9, [r15 + 3]
mov qword [rsp + 0x88], r9
movzx edx, byte [r15 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14003505e
lea rcx, [r15 + 4]
mov qword [rsp + 0x88], rcx
movzx r8d, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and r8d, 0x3f
or r8d, edx
or r8d, eax
mov r15, rcx
mov edx, r8d
lea eax, [rdx - 0x2d]
cmp eax, 2
jae 0x140035080
jmp case.0x1400351c0.0
shl eax, 6
or eax, r8d
mov r15, r9
mov edx, eax
lea eax, [rdx - 0x2d]
cmp eax, 2
jae 0x140035080
jmp case.0x1400351c0.0
shl eax, 0xc
or edx, eax
mov r15, r9
lea eax, [rdx - 0x2d]
cmp eax, 2
jb case.0x1400351c0.0
nop word cs:[rax + rax]
lea eax, [rdx - 0x61]
cmp eax, 0x1a
jb case.0x1400351c0.0
lea eax, [rdx - 0x30]
cmp eax, 0xa
jb case.0x1400351c0.0
cmp edx, 0xa9de
mov eax, 0x3ad
cmovb rax, r13
cmp dword [rbx + rax*8 + 0xeb0], edx
lea rcx, [rax + 0x1d6]
cmova rcx, rax
cmp dword [rbx + rcx*8 + 0x758], edx
lea rax, [rcx + 0xeb]
cmova rax, rcx
cmp dword [rbx + rax*8 + 0x3b0], edx
lea rcx, [rax + 0x76]
cmova rcx, rax
cmp dword [rbx + rcx*8 + 0x1d8], edx
lea rax, [rcx + 0x3b]
cmova rax, rcx
cmp dword [rbx + rax*8 + 0xe8], edx
lea rcx, [rax + 0x1d]
cmova rcx, rax
cmp dword [rbx + rcx*8 + 0x78], edx
lea rax, [rcx + 0xf]
cmova rax, rcx
cmp dword [rbx + rax*8 + 0x38], edx
lea rcx, [rax + 7]
cmova rcx, rax
cmp dword [rbx + rcx*8 + 0x20], edx
lea rax, [rcx + 4]
cmova rax, rcx
cmp dword [rbx + rax*8 + 0x10], edx
lea rcx, [rax + 2]
cmova rcx, rax
cmp dword [rbx + rcx*8 + 8], edx
lea rax, [rcx + 1]
cmova rax, rcx
xor ecx, ecx
cmp dword [rbx + rax*8], edx
setne cl
adc rax, 0
sub rax, rcx
cmp rax, 0x759
ja 0x1400362f8
movzx r9d, word [rbx + rax*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
movzx r8d, cx
test r9w, r9w
js 0x140035190
movzx eax, word [rbx + rax*8]
mov ecx, edx
sub cx, ax
add ecx, r8d
movzx ecx, cx
cmp ecx, 0x1f73
jb 0x14003519d
jmp 0x140036327
cmp r8d, 0x1f73
jae 0x140036488
movzx eax, byte [rdi + rcx*4]
mov r8d, 0
cmp eax, 1
je case.default.0x1400351c0
mov eax, eax
lea r8, [0x1401968c4]
movsxd rax, dword [r8 + rax*4]
add rax, r8
jmp rax
mov edx, dword [rsp + 0x60]
lea r10, [rsp + 0x68]
mov rcx, qword [rsp + 0xb8]
test dl, 1
je 0x1400352a0
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
jmp 0x1400352b2
movzx eax, word [rsp + 0x64]
cmp rax, 5
jae 0x140036504
mov r8, r10
cmp rcx, rax
jae 0x1400364d8
mov esi, dword [r8 + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x140035380
test dl, 1
je 0x1400353b5
mov r8, qword [rsp + 0x78]
sub r8, r9
je 0x1400353c4
xor ecx, ecx
jmp 0x140035313
movzx edx, byte [r9 + rax*8]
mov eax, dword [r9 + rax*8 + 4]
mov byte [r9 + rcx*8], dl
mov dword [r9 + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp r8, rax
je 0x1400353d7
mov rax, qword [rsp + 0xc0]
add rax, rcx
test byte [rsp + 0x60], 1
je 0x140035350
mov rdx, qword [rsp + 0x78]
cmp rax, rdx
jae 0x140036318
mov r9, qword [rsp + 0x70]
cmp rcx, rdx
jb 0x1400352f0
jmp 0x14003630c
movzx edx, word [rsp + 0x64]
cmp rdx, 5
jae 0x140036338
cmp rax, rdx
jae 0x140036318
mov r9, r10
cmp rcx, rdx
jb 0x1400352f0
jmp 0x14003630c
mov qword [rsp + 0xb8], rcx
jmp 0x1400353f6
mov byte [rsp + 0xb0], 2
test byte [rsp + 0x60], 1
je 0x140035712
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140035ff0
mov r8, qword [rsp + 0x70]
jmp 0x14003572f
movzx r8d, word [rsp + 0x64]
sub r8, r9
jne 0x1400352e3
test dl, 1
je 0x1400353e0
cmp qword [rsp + 0x78], r8
jb 0x1400353f0
mov qword [rsp + 0x78], r8
jmp 0x1400353f0
mov edx, dword [rsp + 0x60]
test dl, 1
jne 0x1400353c9
movzx eax, word [rsp + 0x64]
cmp r8, rax
jae 0x1400353f0
mov word [rsp + 0x64], r8w
movups xmmword [r12 + 0x58], xmm6
imul eax, esi, 0x9e3779b9
imul ecx, esi, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x140170350]
movzx eax, word [rdx + rax*2]
add eax, esi
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x140170a84]
mov r15d, dword [rcx + rax*4]
mov eax, r15d
shr eax, 8
cmp eax, esi
cmovne r15d, r13d
mov r14d, dword [rsp + 0xf0]
cmp r14d, 0x110000
jne 0x140035470
test r15b, r15b
jne 0x140035f80
mov dword [rsp + 0xf0], esi
jmp 0x140034f21
cmp byte [rsp + 0xf4], 0
je 0x1400354c9
cmp byte [rsp + 0xf5], r15b
jae 0x1400357d1
lea eax, [r14 - 0x1100]
cmp eax, 0x13
jae 0x140035a50
lea eax, [rsi - 0x1161]
cmp eax, 0x15
jae 0x140035a9c
imul eax, r14d, 0x24c
lea ecx, [rsi + rsi*8]
lea ecx, [rcx + rcx*2]
add ecx, esi
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
lea eax, [r14 - 0x1100]
cmp eax, 0x13
jae 0x1400357df
lea eax, [rsi - 0x1161]
cmp eax, 0x15
jae 0x14003582b
imul eax, r14d, 0x24c
lea ecx, [rsi + rsi*8]
lea ecx, [rcx + rcx*2]
add ecx, esi
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
cmp edx, 0x80
jb 0x140034f19
lea ebp, [rdx - 0xac00]
cmp ebp, 0x2ba4
jb 0x140034eb5
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x140173d2c]
movzx eax, word [r8 + rax*2]
add eax, edx
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea rcx, [0x140174d48]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x140034f19
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x140038910
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x140038901
test rsi, rsi
je 0x140034f21
lea rax, [0x140178db0]
lea r14, [rax + rcx*4]
shl esi, 2
xor r15d, r15d
nop word cs:[rax + rax]
mov edx, dword [r14 + r15]
mov rcx, r12
call fcn.14003b720
add r15, 4
cmp rsi, r15
jne 0x1400355e0
jmp 0x140034f21
lea rax, [r8 + 1]
mov qword [rsp + 0xa0], rax
movzx ecx, byte [r8]
movzx edx, cl
test dl, dl
js 0x14003597c
nop dword [rax]
cmp byte [rsp + 0xc8], 0
je 0x140035520
cmp edx, 0x80
jb 0x140034f19
lea ebp, [rdx - 0xac00]
cmp ebp, 0x2ba4
jb 0x140034eb5
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x14017c388]
movzx r8d, word [r9 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, eax
imul r8, r8, 0xee4
shr r8, 0x20
lea r9, [0x14017e150]
mov rsi, qword [r9 + r8*8]
cmp edx, esi
jne 0x1400358a4
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1667
ja 0x140038930
shr rsi, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rsi
jb 0x140038921
lea rax, [0x140185870]
lea r14, [rax + rcx*4]
test rsi, rsi
jne 0x140035924
jmp 0x140034f21
movzx eax, word [rsp + 0x64]
test rax, rax
lea r8, [rsp + 0x68]
je 0x140035ff0
cmp ax, 5
jae 0x1400388ed
mov rcx, qword [rsp + 0xc0]
mov rdx, rax
sub rdx, rcx
jb 0x1400388de
cmp rdx, 2
jb 0x14003594f
lea rcx, [r8 + rcx*8]
cmp rdx, 0x15
jae 0x14003594a
lea rax, [r8 + rax*8]
lea rdx, [rcx + 8]
xor r8d, r8d
jmp 0x14003578e
mov rsi, rcx
shl r10, 0x20
or r10, r9
mov qword [rsi], r10
add rdx, 8
add r8, 0xfffffffffffffff8
cmp rdx, rax
je 0x14003594f
movzx r11d, byte [rdx]
cmp r11b, byte [rdx - 8]
jae 0x14003577d
movzx r9d, r11b
mov r10d, dword [rdx + 4]
xor r14d, r14d
nop word cs:[rax + rax]
mov rsi, qword [rdx + r14 - 8]
mov qword [rdx + r14], rsi
cmp r8, r14
je 0x140035770
lea rsi, [r14 - 8]
cmp r11b, byte [rdx + r14 - 0x10]
mov r14, rsi
jb 0x1400357b0
add rsi, rdx
jmp 0x140035773
test r15b, r15b
jne 0x140035dc1
jmp 0x140036069
lea eax, [r14 - 0xac00]
cmp eax, 0x2ba3
ja 0x14003582b
lea ecx, [rsi - 0x11a8]
cmp ecx, 0x1a
ja 0x14003582b
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x14003582b
lea eax, [r14 + rsi]
add eax, 0xffffee59
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
mov eax, esi
or eax, r14d
cmp eax, 0x10000
jae 0x1400359f9
mov ecx, r14d
shl ecx, 0x10
or ecx, esi
imul eax, ecx, 0x9e3779b9
imul edx, ecx, 0x31415926
xor eax, edx
imul rax, rax, 0x3a0
shr rax, 0x20
lea r8, [0x1401718ec]
movzx eax, word [r8 + rax*2]
add eax, ecx
imul eax, eax, 0x9e3779b9
xor eax, edx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x14017202c]
cmp dword [rdx + rax*8], ecx
jne 0x140035db8
lea rcx, [0x14017202c]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x140173d2c]
movzx ecx, word [r8 + rcx*2]
add ecx, edx
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rax, rcx, 0x80d
shr rax, 0x20
lea rcx, [0x140174d48]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x140034f19
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x140038910
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x140038901
lea rax, [0x140178db0]
lea r14, [rax + rcx*4]
test rsi, rsi
je 0x140034f21
shl esi, 2
xor r15d, r15d
nop word [rax + rax]
mov edx, dword [r14 + r15]
mov rcx, r12
call fcn.14003b720
add r15, 4
cmp rsi, r15
jne 0x140035930
jmp 0x140034f21
call fcn.14003c9a0
mov edx, dword [rsp + 0x60]
test edx, edx
je 0x140035969
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0xc0], r9
jmp 0x140035274
movzx r9d, word [rsp + 0x64]
mov qword [rsp + 0xc0], r9
jmp 0x140035274
mov eax, edx
and eax, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0xa0], r9
movzx r9d, byte [r8 + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x140035b17
lea rdx, [r8 + 3]
mov qword [rsp + 0xa0], rdx
movzx edx, byte [r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp cl, 0xf0
jb 0x140035bcf
lea rcx, [r8 + 4]
mov qword [rsp + 0xa0], rcx
movzx ecx, byte [r8 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
mov edx, ecx
cmp byte [rsp + 0xc8], 0
jne 0x14003565e
jmp 0x140035520
cmp r14d, 0x11346
jg 0x140035b32
cmp r14d, 0x110a4
jle 0x140035c31
cmp r14d, 0x110a5
je 0x140035d6e
cmp r14d, 0x11131
je 0x140035d94
cmp r14d, 0x11132
jne 0x140035db8
mov eax, 0x1112f
cmp esi, 0x11127
je 0x1400354fe
jmp 0x140035db8
lea eax, [r14 - 0xac00]
cmp eax, 0x2ba3
ja 0x140035a9c
lea ecx, [rsi - 0x11a8]
cmp ecx, 0x1a
ja 0x140035a9c
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x140035a9c
lea eax, [r14 + rsi]
add eax, 0xffffee59
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
mov eax, esi
or eax, r14d
cmp eax, 0x10000
jae 0x140035b7c
shl r14d, 0x10
or r14d, esi
imul eax, r14d, 0x9e3779b9
imul ecx, r14d, 0x31415926
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x1401718ec]
movzx eax, word [rdx + rax*2]
add eax, r14d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rcx, [0x14017202c]
cmp dword [rcx + rax*8], r14d
jne 0x140035dc1
lea rcx, [0x14017202c]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
shl eax, 6
or eax, r9d
mov edx, eax
cmp byte [rsp + 0xc8], 0
je 0x140035520
jmp 0x14003565e
cmp r14d, 0x115b7
jle 0x140035c61
cmp r14d, 0x115b8
je 0x140035d81
cmp r14d, 0x115b9
je 0x140035da7
cmp r14d, 0x11935
jne 0x140035db8
mov eax, 0x11938
cmp esi, 0x11930
je 0x1400354fe
jmp 0x140035db8
cmp r14d, 0x11346
jg 0x140035be7
cmp r14d, 0x110a4
jle 0x140035cb0
cmp r14d, 0x110a5
je 0x140035ee3
cmp r14d, 0x11131
je 0x140035f0f
cmp r14d, 0x11132
jne 0x140035dc1
mov eax, 0x1112f
cmp esi, 0x11127
je 0x1400354bd
jmp 0x140035dc1
shl eax, 0xc
or edx, eax
cmp byte [rsp + 0xc8], 0
jne 0x14003565e
jmp 0x140035520
cmp r14d, 0x115b7
jle 0x140035ce0
cmp r14d, 0x115b8
je 0x140035ef9
cmp r14d, 0x115b9
je 0x140035f25
cmp r14d, 0x11935
jne 0x140035dc1
mov eax, 0x11938
cmp esi, 0x11930
je 0x1400354bd
jmp 0x140035dc1
cmp r14d, 0x11099
je 0x140035d2f
cmp r14d, 0x1109b
jne 0x140035db8
mov eax, 0x1109c
cmp esi, 0x110ba
je 0x1400354fe
jmp 0x140035db8
cmp r14d, 0x11347
je 0x140035d42
cmp r14d, 0x114b9
jne 0x140035db8
cmp esi, 0x114b0
je 0x140035f4c
cmp esi, 0x114ba
je 0x140035f3b
cmp esi, 0x114bd
jne 0x140035db8
mov eax, 0x114be
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
cmp r14d, 0x11099
je 0x140035e9e
cmp r14d, 0x1109b
jne 0x140035dc1
mov eax, 0x1109c
cmp esi, 0x110ba
je 0x1400354bd
jmp 0x140035dc1
cmp r14d, 0x11347
je 0x140035eb4
cmp r14d, 0x114b9
jne 0x140035dc1
cmp esi, 0x114b0
je 0x140035f6e
cmp esi, 0x114ba
je 0x140035f5d
cmp esi, 0x114bd
jne 0x140035dc1
mov eax, 0x114be
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
mov eax, 0x1109a
cmp esi, 0x110ba
je 0x1400354fe
jmp 0x140035db8
mov eax, 0x1134b
cmp esi, 0x1133e
je 0x1400354fe
mov eax, 0x110000
cmp esi, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x1400354fe
jmp 0x140035db8
mov eax, 0x110ab
cmp esi, 0x110ba
je 0x1400354fe
jmp 0x140035db8
mov eax, 0x115ba
cmp esi, 0x115af
je 0x1400354fe
jmp 0x140035db8
mov eax, 0x1112e
cmp esi, 0x11127
je 0x1400354fe
jmp 0x140035db8
mov eax, 0x115bb
cmp esi, 0x115af
je 0x1400354fe
test r15b, r15b
je 0x14003610e
test byte [rsp + 0xd0], 1
je 0x140035e03
mov r14, qword [rsp + 0xe8]
cmp r14, qword [rsp + 0xd8]
jne 0x140035dea
lea rcx, [rsp + 0xd8]
call fcn.14003c6a0
mov rax, qword [rsp + 0xe0]
mov dword [rax + r14*4], esi
inc r14
mov qword [rsp + 0xe8], r14
jmp 0x140035e22
movzx eax, word [rsp + 0xd4]
cmp rax, 3
ja 0x140035e37
mov dword [rsp + rax*4 + 0xd8], esi
inc eax
mov word [rsp + 0xd4], ax
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], r15b
jmp 0x140034f21
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0xd4]
mov r8d, esi
call fcn.140128560
cmp dword [rsp + 0xd0], 0
je 0x140035e7b
cmp qword [rsp + 0xd8], 0
je 0x140035e7b
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x1401a2270]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movdqu xmm0, xmmword [rsp + 0x138]
movups xmm1, xmmword [rsp + 0x148]
movups xmmword [r12 + 0x80], xmm1
movdqu xmmword [r12 + 0x70], xmm0
jmp 0x140035e22
mov eax, 0x1109a
cmp esi, 0x110ba
je 0x1400354bd
jmp 0x140035dc1
mov eax, 0x1134b
cmp esi, 0x1133e
je 0x1400354bd
mov eax, 0x110000
cmp esi, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x1400354bd
jmp 0x140035dc1
mov eax, 0x110ab
cmp esi, 0x110ba
je 0x1400354bd
jmp 0x140035dc1
mov eax, 0x115ba
cmp esi, 0x115af
je 0x1400354bd
jmp 0x140035dc1
mov eax, 0x1112e
cmp esi, 0x11127
je 0x1400354bd
jmp 0x140035dc1
mov eax, 0x115bb
cmp esi, 0x115af
je 0x1400354bd
jmp 0x140035dc1
mov eax, 0x114bb
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
mov eax, 0x114bc
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
mov eax, 0x114bb
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
mov eax, 0x114bc
mov dword [rsp + 0xf0], eax
jmp 0x140034f21
mov r14d, esi
cmp r14d, 0x80
jae 0x140035fb0
mov r15, qword [rsp + 0x48]
mov rsi, qword [r15 + 0x10]
cmp rsi, qword [r15]
jne 0x140034e20
mov rcx, r15
call fcn.1400150f0
jmp 0x140034e20
mov dword [rsp + 0x138], 0
mov eax, r14d
cmp r14d, 0x800
jae 0x14003602c
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x138], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x139], r14b
mov esi, 2
jmp 0x1400360d2
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], 0
mov r14d, dword [rsp + 0xf0]
mov eax, 2
cmp r14d, 0x110000
je 0x140034e34
mov dword [rsp + 0xf0], 0x110000
jmp 0x140035f83
cmp r14d, 0x10000
jae 0x14003608f
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x138], al
mov eax, r14d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x139], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x13a], r14b
mov esi, 3
jmp 0x1400360d2
mov dword [rsp + 0xf0], esi
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
jmp 0x140035f83
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x138], al
mov eax, r14d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x139], al
mov eax, r14d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x13a], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x13b], r14b
mov esi, 4
mov r14, qword [rsp + 0x48]
mov rax, qword [r14]
mov r15, qword [r14 + 0x10]
sub rax, r15
cmp rax, rsi
jb 0x14003611a
mov rcx, qword [r14 + 8]
add rcx, r15
lea rdx, [rsp + 0x138]
mov r8, rsi
call fcn.1401253f0
add r15, rsi
mov qword [r14 + 0x10], r15
mov rax, qword [rsp + 0x50]
jmp 0x140034e34
mov dword [rsp + 0xf0], esi
jmp 0x140035f83
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.14012d5c0
mov r15, qword [r14 + 0x10]
jmp 0x1400360e6
mov rdx, qword [rsp + 0x58]
mov eax, dword [rsp + 0xd0]
test eax, eax
je 0x140036161
cmp rdx, qword [rsp + 0xe8]
jae 0x1400361c6
mov r8, qword [rsp + 0xe0]
jmp 0x140036180
movzx ecx, word [rsp + 0xd4]
cmp rcx, 5
jae 0x14003894d
lea r8, [rsp + 0xd8]
cmp rdx, rcx
jae 0x1400361d4
mov r14d, dword [r8 + rdx*4]
inc rdx
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], rdx
jmp 0x140035f83
mov rcx, qword [rsp + 0xe0]
jmp 0x1400361ac
lea rcx, [rsp + 0xd8]
mov r14d, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
jmp 0x140035f83
mov qword [rsp + 0xe8], 0
jmp 0x1400361e3
test cx, cx
je 0x1400361e3
mov word [rsp + 0xd4], 0
mov r14d, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], 0x110000
cmp r14d, 0x110000
jne 0x140035f83
cmp dword [rsp + 0x60], 0
je 0x14003634c
cmp qword [rsp + 0x68], 0
mov rbx, qword [rsp + 0x2c0]
mov rsi, qword [rsp + 0x48]
je 0x140036359
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x1401a2270]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [rsp + 0xd0]
jmp 0x140036359
mov rax, qword [rbx]
mov rsi, qword [rbx + 0x10]
sub rax, rsi
cmp rax, r9
jb 0x140036499
mov rcx, qword [rbx + 8]
add rcx, rsi
mov rdx, r8
mov r8, r9
mov rdi, r9
call fcn.1401253f0
add rsi, rdi
mov qword [rbx + 0x10], rsi
mov rax, qword [rsp + 0x190]
mov qword [rax], 0
mov dword [rax + 8], 0
movaps xmm6, xmmword [rsp + 0x1b0]
movaps xmm7, xmmword [rsp + 0x1c0]
movaps xmm8, xmmword [rsp + 0x1d0]
movaps xmm9, xmmword [rsp + 0x1e0]
movaps xmm10, xmmword [rsp + 0x1f0]
movaps xmm11, xmmword [rsp + 0x200]
movaps xmm12, xmmword [rsp + 0x210]
movaps xmm13, xmmword [rsp + 0x220]
movaps xmm14, xmmword [rsp + 0x230]
movaps xmm15, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x14014b1e0]
mov edx, 0x75a
mov rcx, rax
call fcn.140126220
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
call fcn.140126220
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
mov rcx, rax
call fcn.140126220
lea r8, [0x14014b1f8]
mov edx, 0x1f73
call fcn.140126220
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov rcx, rdx
mov edx, 4
call fcn.1401262d0
mov rbx, qword [rsp + 0x2c0]
mov rsi, qword [rsp + 0x48]
test eax, eax
je 0x14003637f
cmp qword [rsp + 0xd8], 0
je 0x14003637f
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x1401a2270]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], 8
mov qword [rsp + 0x118], 0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x168], rax
mov byte [rsp + 0x170], 1
mov word [rsp + 0x178], 1
mov rax, qword [rsp + 0x130]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x180], rax
mov dil, 1
lea r14, [rsp + 0x138]
xorps xmm6, xmm6
movdqa xmm10, xmmword [0x1401329c0]
movdqa xmm11, xmmword [0x140132700]
movdqa xmm12, xmmword [0x1401329d0]
movdqa xmm13, xmmword [0x1401329e0]
movdqa xmm14, xmmword [0x1401329f0]
movdqa xmm15, xmmword [0x140132a00]
movdqa xmm7, xmmword [0x140132a10]
movdqa xmm8, xmmword [0x140132a20]
movdqa xmm9, xmmword [0x140132a30]
mov dword [rsp + 0x38], 0
jmp 0x140036550
lea r8, [0x14014b210]
mov edx, 0x1f73
call fcn.140126220
mov qword [rsp + 0x20], 1
mov rbx, r9
mov r9d, 1
mov rcx, qword [rsp + 0x2c0]
mov rdx, rsi
mov rsi, r8
mov r8, rbx
call fcn.14012d5c0
mov r8, rsi
mov r9, rbx
mov rbx, qword [rsp + 0x2c0]
mov rsi, qword [rbx + 0x10]
jmp 0x14003625a
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
mov rdx, rax
call fcn.140126220
lea rax, [0x14014b1c8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140156b0c]
mov edx, 0x321c
call fcn.140126890
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.1401262d0
test qword [rsi], rax
je 0x1400379ae
mov byte [rsp + 0xf8], 1
mov al, 1
mov dword [rsp + 0x38], eax
xor edi, edi
mov rbx, qword [rsp + 0x2c0]
lea r14, [rsp + 0x138]
nop word cs:[rax + rax]
mov rcx, r14
call fcn.140038a60
test rax, rax
je 0x140037a22
mov r12, rax
mov r15, rdx
test dil, 1
jne 0x14003658d
mov rsi, qword [rbx + 0x10]
cmp rsi, qword [rbx]
jne 0x14003657e
mov rcx, rbx
call fcn.1400150f0
mov rax, qword [rbx + 8]
mov byte [rax + rsi], 0x2e
inc rsi
mov qword [rbx + 0x10], rsi
cmp r15, 4
jb 0x1400365a1
cmp dword [r12], 0x2d2d6e78
je 0x1400366f6
test byte [rsp + 0x38], 1
jne 0x1400366a8
test r15, r15
je 0x1400366a0
mov rsi, r12
add rsi, r15
mov rdi, r12
jmp 0x1400365c9
cmp rdi, rsi
je 0x1400366a0
movzx edx, byte [rdi]
movzx ecx, dl
test cl, cl
js 0x1400365f0
inc rdi
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1400365c0
jmp 0x140036670
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14003663a
movzx ecx, byte [rdi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x140036653
movzx edx, byte [rdi + 3]
add rdi, 4
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1400365c0
jmp 0x140036670
add rdi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
lea eax, [rcx - 0x21]
cmp eax, 0x5d
ja 0x140036670
jmp 0x1400365c0
add rdi, 3
shl eax, 0xc
or ecx, eax
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1400365c0
nop dword [rax + rax]
call fcn.140101fe0
cmp al, 0x11
ja 0x1400365c0
movzx eax, al
mov ecx, 0x20003
bt ecx, eax
jae 0x1400365c0
mov al, 1
mov dword [rsp + 0x38], eax
jmp 0x1400366a8
mov dword [rsp + 0x38], 0
mov rcx, r12
mov rdx, r15
mov r8, qword [rsp + 0x130]
lea r9, [rsp + 0xf8]
call fcn.140038cb0
mov rax, qword [rbx]
mov rsi, qword [rbx + 0x10]
sub rax, rsi
cmp rax, r15
jb 0x140036dff
mov rcx, qword [rbx + 8]
add rcx, rsi
mov rdx, r12
mov r8, r15
call fcn.1401253f0
add r15, rsi
mov qword [rbx + 0x10], r15
xor edi, edi
jmp 0x140036550
lea rsi, [r12 + 4]
add r15, 0xfffffffffffffffc
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], r15
mov byte [rsp + 0x78], 1
movabs rax, 0x2d0000002d
mov qword [rsp + 0x70], rax
lea rdx, [r12 + 0xb]
and rdx, 0xfffffffffffffff8
sub rdx, rsi
mov r8, r12
add r8, 3
mov rbp, r15
jmp 0x14003675e
mov qword [rsp + 0x68], rbp
cmp rbp, r15
ja 0x140036886
mov rcx, rbp
sub rcx, rdx
and ecx, 0xf
cmp rbp, rdx
mov eax, 0
mov r9, rbp
cmova r9, rdx
cmovae rax, rcx
mov rcx, rbp
sub rcx, rax
jb 0x1400389b2
lea r10, [r8 + rbp]
movabs r14, 0x8080808080808080
nop word cs:[rax + rax]
test rax, rax
je 0x1400367c0
dec rax
cmp byte [r10], 0x2d
lea r10, [r10 - 1]
jne 0x1400367a0
add rax, rcx
mov rbp, rax
jmp 0x140036830
mov rax, rcx
cmp rcx, r9
jbe 0x14003680d
lea rcx, [rax - 0x10]
mov r10, qword [r12 + rax - 0xc]
mov r11, qword [r12 + rax - 4]
mov rdi, r10
movabs r13, 0xd2d2d2d2d2d2d2d2
xor rdi, r13
mov rbx, r11
xor rbx, r13
movabs r13, 0x101010101010101
add rbx, r13
or rbx, r11
add rdi, r13
or rdi, r10
and rdi, rbx
not rdi
test rdi, r14
je 0x1400367c0
cmp rax, rbp
ja 0x1400389c1
mov rbp, rax
nop dword [rax]
sub rbp, 1
jb 0x140036886
cmp byte [r8 + rax], 0x2d
mov rax, rbp
jne 0x140036820
cmp rbp, r15
jae 0x140036750
mov al, 0x2d
cmp byte [rsi + rbp], al
jne 0x140036750
test rbp, rbp
je 0x140037825
cmp rbp, r15
jae 0x14003685c
cmp byte [rsi + rbp], 0xbf
jle 0x140038a36
lea r8, [rbp + 1]
cmp r8, r15
jae 0x14003782f
cmp byte [rsi + r8], 0xbf
movabs rax, 0x8080808080808080
jle 0x140038a1c
mov rbx, r8
jmp 0x140037842
mov rbx, rsi
xor ebp, ebp
mov esi, 1
test r15, r15
je 0x140036b3d
add r15, rbx
xor r14d, r14d
mov edi, 0x48
mov r12d, 0x80
xor r13d, r13d
mov dword [rsp + 0x30], ebp
xor r8d, r8d
mov qword [rsp + 0x128], r13
lea r9d, [rdi + 0x1a]
inc rbx
mov r10d, edi
neg r10d
mov r11d, 1
mov r13d, 0x24
mov dword [rsp + 0x40], r8d
mov ecx, r8d
movzx eax, byte [rbx - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jb 0x140036910
nop dword [rax]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x140036914
add al, 0x9f
mov edx, eax
cmp al, 0x19
jbe 0x140036914
jmp 0x140036521
add al, 0xea
mov edx, eax
test r11d, r11d
je 0x140038990
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x140036521
mov eax, r11d
imul eax, r8d
add ecx, eax
lea eax, [r10 + r13]
cmp r13d, r9d
mov edx, 0x1a
cmovae eax, edx
cmp r13d, edi
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x140036999
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x140036521
cmp rbx, r15
je 0x140036521
add r13d, 0x24
imul r11d, r8d
inc rbx
movzx eax, byte [rbx - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x1400368f0
jmp 0x140036910
mov r10d, dword [rsp + 0x30]
inc r10d
je 0x140038984
mov eax, ecx
mov edx, dword [rsp + 0x40]
sub eax, edx
test edx, edx
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
mov r9d, 0xd41d41d5
jb 0x140036a19
xor edi, edi
nop word cs:[rax + rax]
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 0x1400369f0
jmp 0x140036a1c
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 + 0x30], r10d
div r10d
mov dword [rsp + 0x40], edx
add r12d, eax
jb 0x140036521
mov eax, r12d
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x140036521
mov dword [rsp + 0x104], r12d
mov rcx, qword [rsp + 0x110]
mov r8d, dword [rsp + 0x40]
mov r12d, r8d
mov r13, qword [rsp + 0x128]
test r13, r13
je 0x140036aab
xor eax, eax
jmp 0x140036a99
add rax, 0x10
cmp r14, rax
je 0x140036aab
mov rdx, qword [rcx + rax]
cmp rdx, r12
jb 0x140036a90
inc rdx
mov qword [rcx + rax], rdx
jmp 0x140036a90
cmp r13, qword [rsp + 0x108]
jne 0x140036ae1
lea rcx, [rsp + 0x108]
mov word [rsp + 0x120], r9w
call fcn.14003c5e0
movzx r9d, word [rsp + 0x120]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x110]
movzx eax, r9w
add edi, eax
mov rax, r13
shl rax, 4
mov qword [rcx + rax], r12
mov r12d, dword [rsp + 0x104]
mov dword [rcx + rax + 8], r12d
inc r13
mov qword [rsp + 0x118], r13
inc r8d
add r14, 0x10
cmp rbx, r15
jne 0x1400368b4
cmp r13, 2
jb 0x140036b45
cmp r13, 0x15
jae 0x140037a01
shl r13, 4
add r13, rcx
lea rax, [rcx + 0x10]
xor r11d, r11d
jmp 0x1400377f0
mov rcx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x118]
lea r8, [rbx + rbp]
mov rdx, qword [rsp + 0x2c0]
mov rax, qword [rdx]
mov rdi, qword [rdx + 0x10]
sub rax, rdi
cmp rax, r8
mov qword [rsp + 0x40], rcx
jb 0x1400377ac
mov qword [rsp + 0x30], rdi
add rbp, rsi
xor edi, edi
xor r14d, r14d
cmp rdi, rbx
jb 0x140036ba0
nop word cs:[rax + rax]
cmp rsi, rbp
jne 0x140036c09
jmp 0x140036e25
mov rax, rdi
shl rax, 4
cmp r14, qword [rcx + rax]
jne 0x140036c00
add rax, rcx
inc rdi
mov r15d, dword [rax + 8]
cmp r15d, 0x80
jb 0x140036c22
mov dword [rsp + 0x50], 0
mov eax, r15d
cmp r15d, 0x800
jae 0x140036cd0
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x50], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x51], r15b
mov r15d, 2
jmp 0x140036d68
cmp rsi, rbp
je 0x140037a20
movzx r8d, byte [rsi]
movzx r15d, r8b
test r15b, r15b
js 0x140036c70
inc rsi
cmp r15d, 0x80
jae 0x140036bc0
mov r13, qword [rsp + 0x2c0]
mov r12, qword [r13 + 0x10]
cmp r12, qword [r13]
jne 0x140036c41
mov rcx, r13
call fcn.1400150f0
mov rcx, qword [rsp + 0x40]
mov rax, qword [r13 + 8]
mov byte [rax + r12], r15b
inc r12
mov qword [r13 + 0x10], r12
inc r14
cmp rdi, rbx
jb 0x140036ba0
jmp 0x140036b90
mov eax, r15d
and eax, 0x1f
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp r15b, 0xdf
jbe 0x140036d10
movzx r15d, byte [rsi + 2]
shl edx, 6
and r15d, 0x3f
or r15d, edx
cmp r8b, 0xf0
jb 0x140036db8
movzx edx, byte [rsi + 3]
add rsi, 4
and eax, 7
shl eax, 0x12
shl r15d, 6
and edx, 0x3f
or edx, r15d
or edx, eax
mov r15d, edx
cmp r15d, 0x80
jb 0x140036c22
jmp 0x140036bc0
cmp r15d, 0x10000
jae 0x140036d30
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x50], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x52], r15b
mov r15d, 3
jmp 0x140036d68
add rsi, 2
shl eax, 6
or eax, edx
mov r15d, eax
cmp r15d, 0x80
jae 0x140036bc0
jmp 0x140036c22
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x50], al
mov eax, r15d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x52], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x53], r15b
mov r15d, 4
mov rcx, qword [rsp + 0x2c0]
mov rax, qword [rcx]
mov r12, qword [rcx + 0x10]
sub rax, r12
cmp rax, r15
jb 0x140036dd4
mov r13, qword [rsp + 0x2c0]
mov rcx, qword [r13 + 8]
add rcx, r12
lea rdx, [rsp + 0x50]
mov r8, r15
call fcn.1401253f0
add r12, r15
mov qword [r13 + 0x10], r12
inc r14
mov rcx, qword [rsp + 0x40]
cmp rdi, rbx
jae 0x140036b90
jmp 0x140036ba0
add rsi, 3
shl eax, 0xc
or r15d, eax
cmp r15d, 0x80
jb 0x140036c22
jmp 0x140036bc0
mov qword [rsp + 0x20], 1
mov r9d, 1
mov r13, qword [rsp + 0x2c0]
mov rcx, r13
mov rdx, r12
mov r8, r15
call fcn.14012d5c0
mov r12, qword [r13 + 0x10]
jmp 0x140036d7f
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rbx
mov rdx, rsi
mov r8, r15
call fcn.14012d5c0
mov rsi, qword [rbx + 0x10]
jmp 0x1400366d6
mov rbx, qword [rsp + 0x2c0]
mov rbp, qword [rbx + 8]
mov rsi, qword [rbx + 0x10]
mov r8, qword [rsp + 0x30]
test r8, r8
lea r14, [rsp + 0x138]
je 0x140036e5f
cmp rsi, r8
jbe 0x140036e59
cmp byte [rbp + r8], 0xbf
jg 0x140036e5f
jmp 0x1400389f5
jne 0x1400389f5
lea r12, [r8 + rbp]
test byte [rsp + 0x38], 1
jne 0x140036f5b
cmp rsi, r8
jne 0x140036e80
mov dword [rsp + 0x38], 0
jmp 0x140036f5b
lea rdi, [rsi + rbp]
mov rbx, r12
jmp 0x140036e99
cmp rbx, rdi
je 0x140036f4b
movzx edx, byte [rbx]
movzx ecx, dl
test cl, cl
js 0x140036eb0
inc rbx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x140036e90
jmp 0x140036f25
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140036efa
movzx ecx, byte [rbx + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x140036f10
movzx edx, byte [rbx + 3]
add rbx, 4
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x140036e90
jmp 0x140036f25
add rbx, 2
shl eax, 6
or eax, r8d
mov ecx, eax
lea eax, [rcx - 0x21]
cmp eax, 0x5d
ja 0x140036f25
jmp 0x140036e90
add rbx, 3
shl eax, 0xc
or ecx, eax
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x140036e90
call fcn.140101fe0
cmp al, 0x11
ja 0x140036e90
movzx eax, al
mov ecx, 0x20003
bt ecx, eax
jae 0x140036e90
mov al, 1
mov dword [rsp + 0x38], eax
jmp 0x140036f53
mov dword [rsp + 0x38], 0
mov rbx, qword [rsp + 0x2c0]
movq xmm0, qword [rsp + 0xf8]
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd eax, xmm1
or al, byte [rsp + 0x100]
movzx ecx, byte [rsp + 0x101]
or cl, byte [rsp + 0x102]
or cl, al
xor edi, edi
test cl, 1
jne 0x140036550
test byte [rsp + 0x103], 1
jne 0x140036550
mov rdi, qword [rsp + 0x30]
cmp rsi, rdi
je 0x14003797a
add rbp, rsi
xor edx, edx
xor ecx, ecx
mov rax, r12
movzx r8d, byte [rax]
test r8b, r8b
js 0x140036fe5
inc rax
jmp 0x140037080
movzx r9d, r8b
and r9d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r8b, 0xe0
jb 0x140037040
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x140037050
movzx r8d, byte [rax + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
je 0x140037630
add rax, 4
jmp 0x14003705e
add rax, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x14003705e
add rax, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0x7f
jbe 0x140037080
jmp 0x140037113
inc rax
cmp r8d, 0x80
jae 0x140037111
cmp rax, rbp
je 0x140037630
movzx r10d, byte [rax]
movzx r8d, r10b
test r8b, r8b
jns 0x140037070
mov edx, r8d
and edx, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x1400370ed
movzx r9d, byte [rax + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400370ff
movzx r8d, byte [rax + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, edx
cmp r8d, 0x110000
je 0x140037630
add rax, 4
jmp 0x140037073
add rax, 2
shl edx, 6
or edx, r11d
mov r8d, edx
jmp 0x140037073
add rax, 3
shl edx, 0xc
or r9d, edx
mov r8d, r9d
jmp 0x140037073
xor edx, edx
mov r9d, edx
imul edx, r8d, 0x9e3779b9
imul r10d, r8d, 0x31415926
xor edx, r10d
imul rdx, rdx, 0x39a
shr rdx, 0x20
lea r11, [0x140170350]
movzx edx, word [r11 + rdx*2]
add edx, r8d
imul edx, edx, 0x9e3779b9
xor edx, r10d
imul rdx, rdx, 0x39a
shr rdx, 0x20
lea r10, [0x140170a84]
mov edx, dword [r10 + rdx*4]
mov r10d, edx
shr r10d, 8
cmp r10d, r8d
mov r10d, 0
cmovne edx, r10d
cmp r9b, dl
seta r9b
test dl, dl
setne r10b
test r9b, r10b
jne case.0x14003736e.3907
mov r10d, r8d
and r10d, 0xfffffffe
cmp r10d, 0x340
je case.0x14003736e.3907
lea r9d, [r8 - 0x343]
cmp r9d, 2
jb case.0x14003736e.3907
mov r9b, 2
cmp r8d, 0xd56
jg 0x140037220
cmp r8d, 0x9de
jg 0x140037266
cmp r8d, 0x93b
jg 0x14003739d
lea r11d, [r8 - 0x30f]
cmp r11d, 0x36
ja 0x1400371fb
movabs rdi, 0x48020000001005
bt rdi, r11
mov rdi, qword [rsp + 0x30]
jb 0x140037622
lea r11d, [r8 - 0x374]
cmp r11d, 0x13
ja case.0x14003736e.3908
mov edi, 0x80401
bt edi, r11d
jb case.0x14003736e.3907
jmp case.0x14003736e.3908
cmp r8d, 0x11126
jg 0x1400372d4
cmp r8d, 0x102d
jle 0x140037321
cmp r8d, 0x1f70
jg 0x1400373f5
cmp r8d, 0x102e
je 0x140037622
cmp r8d, 0x1b35
je 0x140037622
jmp case.0x14003736e.3908
cmp r8d, 0xbd6
jg 0x140037371
cmp r8d, 0xbbd
jg 0x140037497
lea r11d, [r8 - 0xb3e]
cmp r11d, 0x19
ja 0x1400372a1
mov edi, 0x3000001
bt edi, r11d
mov rdi, qword [rsp + 0x30]
jb 0x140037622
lea r11d, [r8 - 0xa33]
cmp r11d, 0x2b
ja 0x1400372c2
movabs rdi, 0x80000000009
bt rdi, r11
jb case.0x14003736e.3907
cmp r8d, 0x9df
jne case.0x14003736e.3908
jmp case.0x14003736e.3907
cmp r8d, 0x114af
jle 0x1400373c9
lea r11d, [r8 - 0x114b0]
cmp r11d, 0xd
ja 0x140037302
mov edi, 0x2401
bt edi, r11d
mov rdi, qword [rsp + 0x30]
jb 0x140037622
cmp r8d, 0x115af
je 0x140037622
cmp r8d, 0x11930
je 0x140037622
jmp case.0x14003736e.3908
lea r11d, [r8 - 0xdca]
cmp r11d, 0x15
ja 0x140037342
mov edi, 0x200021
bt edi, r11d
mov rdi, qword [rsp + 0x30]
jb 0x140037622
cmp r8d, 0xd57
je 0x140037622
lea r11d, [r8 - 0xf43]
cmp r11d, 0x76
ja case.0x14003736e.3908
lea rdi, [0x1401964b4]
movsxd r11, dword [rdi + r11*4]
add r11, rdi
jmp r11
cmp r8d, 0xcc1
jg 0x140037451
cmp r8d, 0xbd7
je 0x140037622
cmp r8d, 0xc56
je 0x140037622
jmp case.0x14003736e.3908
cmp r8d, 0x93c
je 0x140037622
cmp r8d, 0x9be
je 0x140037622
cmp r8d, 0x9d7
je 0x140037622
jmp case.0x14003736e.3908
cmp r8d, 0x11127
je 0x140037622
cmp r8d, 0x1133e
je 0x140037622
cmp r8d, 0x11357
je 0x140037622
jmp case.0x14003736e.3908
cmp r8d, 0xfa0f
jle 0x14003746d
cmp r8d, 0x110ba
je 0x140037622
lea r11d, [r8 - 0xfa10]
cmp r11d, 0x12
ja 0x140037427
mov edi, 0x50005
bt edi, r11d
jb case.0x14003736e.3907
lea r11d, [r8 - 0xfb1d]
cmp r11d, 0x21
ja case.0x14003736e.3908
movabs rdi, 0x200000005
bt rdi, r11
jb case.0x14003736e.3907
jmp case.0x14003736e.3908
cmp r8d, 0xcc2
je 0x140037622
cmp r8d, 0xd3e
je 0x140037622
jmp case.0x14003736e.3908
cmp r8d, 0x2125
jg 0x1400374a6
lea r11d, [r8 - 0x1f71]
cmp r11d, 0x8c
ja case.0x14003736e.3908
lea rdi, [0x140196690]
movsxd r11, dword [rdi + r11*4]
add r11, rdi
jmp r11
cmp r8d, 0xbbe
je 0x140037622
jmp case.0x14003736e.3908
lea r11d, [r8 - 0x2329]
cmp r11d, 2
jb case.0x14003736e.3907
cmp r8d, 0x2126
je case.0x14003736e.3907
cmp r8d, 0x2adc
je case.0x14003736e.3907
mov r11d, r8d
and r11d, 0x1ffff8
cmp r11d, 0x958
sete r11b
movd xmm0, r10d
pshufd xmm1, xmm0, 0
pcmpeqd xmm1, xmmword [0x140132990]
movd xmm0, r8d
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x1401329a0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x1401329b0]
movdqa xmm4, xmm0
paddd xmm4, xmm10
pxor xmm4, xmm11
movdqa xmm5, xmm12
pcmpgtd xmm5, xmm4
por xmm5, xmm1
lea edi, [r8 - 0x1d1bb]
cmp edi, 6
setb bl
lea edi, [r8 - 0x2f800]
cmp edi, 0x21e
setb dil
pxor xmm3, xmm11
pcmpgtd xmm3, xmm13
pxor xmm2, xmm11
pcmpgtd xmm2, xmm14
packssdw xmm2, xmm3
packsswb xmm2, xmm2
pmovmskb r14d, xmm2
not r14d
movmskps r15d, xmm5
or r15b, r14b
setne r14b
or dil, r11b
or dil, bl
mov rbx, qword [rsp + 0x2c0]
or dil, r14b
mov rdi, qword [rsp + 0x30]
lea r14, [rsp + 0x138]
jne case.0x14003736e.3907
cmp r10d, 0x212a
je case.0x14003736e.3907
cmp r10d, 0xfb40
je case.0x14003736e.3907
movdqa xmm1, xmm0
paddd xmm1, xmm15
paddd xmm0, xmm7
pxor xmm0, xmm11
pcmpgtd xmm0, xmm8
pxor xmm1, xmm11
pcmpgtd xmm1, xmm9
packssdw xmm0, xmm1
packsswb xmm0, xmm0
pmovmskb r11d, xmm0
xor r11b, 0xff
jne 0x140037622
lea r11d, [r8 - 0x11a8]
cmp r11d, 0x1b
jb 0x140037622
cmp r10d, 0x330
je 0x140037622
add r8d, 0xffffcf67
cmp r8d, 2
movzx r9d, cl
mov ecx, 2
cmovb r9d, ecx
mov ecx, r9d
cmp rax, rbp
jne 0x140036fd4
jmp 0x140037633
mov r9d, ecx
test r9b, r9b
je 0x14003797a
movzx eax, r9b
cmp eax, 1
je case.0x14003736e.3907
lea rcx, [rsp + 0x98]
movups xmmword [rcx], xmm6
mov byte [rcx + 0x10], 0
lea rax, [rsp + 0x1a0]
movups xmmword [rax], xmm6
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov word [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov byte [rsp + 0x78], 0
mov dword [rsp + 0x7c], 0
mov byte [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], rbp
mov dword [rsp + 0xb0], 0
mov word [rsp + 0xb4], 0
movzx eax, word [rsp + 0x1ae]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0x19e]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xd0], 0x110000
mov byte [rsp + 0xd4], 0
mov rdi, r12
cmp rdi, rbp
je 0x1400378fe
movzx edx, byte [rdi]
movzx ebx, dl
test bl, bl
js 0x140037722
inc rdi
jmp 0x140037787
mov eax, ebx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp bl, 0xdf
jbe 0x14003776e
movzx ecx, byte [rdi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14003777c
movzx ebx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x1400378fe
add rdi, 4
jmp 0x140037787
add rdi, 2
shl eax, 6
or eax, r8d
mov ebx, eax
jmp 0x140037787
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
lea rcx, [rsp + 0x50]
call fcn.14003b9c0
xor r14d, r14d
cmp eax, 0x110000
je 0x140037911
cmp eax, ebx
je 0x14003770a
jmp 0x140037911
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, qword [rsp + 0x2c0]
mov rdx, rdi
call fcn.14012d5c0
mov rcx, qword [rsp + 0x40]
jmp 0x140036b71
mov r9, rcx
mov qword [r9], rdx
mov dword [r9 + 8], r8d
add rax, 0x10
add r11, 0xfffffffffffffff0
cmp rax, r13
je 0x140036b45
mov rdx, qword [rax]
cmp rdx, qword [rax - 0x10]
jae 0x1400377df
mov r8d, dword [rax + 8]
xor r10d, r10d
movdqu xmm0, xmmword [rax + r10 - 0x10]
movdqu xmmword [rax + r10], xmm0
cmp r11, r10
je 0x1400377d5
lea r9, [r10 - 0x10]
cmp rdx, qword [rax + r10 - 0x20]
mov r10, r9
jb 0x140037800
add r9, rax
jmp 0x1400377d8
mov rbx, rsi
xor ebp, ebp
jmp 0x140036890
mov rbx, r15
movabs rax, 0x8080808080808080
jne 0x140038a1c
sub r15, rbx
add rbx, rsi
cmp rbp, 8
jae 0x140036518
cmp byte [rsi + rbp - 1], 0
js 0x140036521
mov rax, rbp
dec rax
je 0x140036890
cmp byte [rsi + rbp - 2], 0
js 0x140036521
mov rax, rbp
add rax, 0xfffffffffffffffe
je 0x140036890
cmp byte [rsi + rbp - 3], 0
js 0x140036521
mov rax, rbp
add rax, 0xfffffffffffffffd
je 0x140036890
cmp byte [rsi + rbp - 4], 0
js 0x140036521
mov rax, rbp
add rax, 0xfffffffffffffffc
je 0x140036890
cmp byte [rsi + rbp - 5], 0
js 0x140036521
mov rax, rbp
add rax, 0xfffffffffffffffb
je 0x140036890
cmp byte [rsi + rbp - 6], 0
js 0x140036521
mov rax, rbp
add rax, 0xfffffffffffffffa
je 0x140036890
cmp byte [rsi + rbp - 7], 0
js 0x140036521
mov rax, rbp
add rax, 0xfffffffffffffff9
je 0x140036890
jmp 0x140036521
lea rcx, [rsp + 0x50]
call fcn.14003b9c0
cmp eax, 0x110000
sete r14b
cmp dword [rsp + 0x60], 0
je 0x140037934
cmp qword [rsp + 0x68], 0
je 0x140037934
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x1401a2270]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rsp + 0xb0], 0
mov rbx, qword [rsp + 0x2c0]
mov rdi, qword [rsp + 0x30]
je 0x14003796d
cmp qword [rsp + 0xb8], 0
je 0x14003796d
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x1401a2270]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test r14b, r14b
lea r14, [rsp + 0x138]
je case.0x14003736e.3907
sub rsi, rdi
mov rcx, r12
mov rdx, rsi
mov r8, qword [rsp + 0x180]
lea r9, [rsp + 0xf8]
call fcn.140038cb0
xor edi, edi
jmp 0x140036550
mov byte [rsp + 0xfd], 1
xor edi, edi
jmp 0x140036550
lea rax, [rsi + 7]
and rax, 0xfffffffffffffff8
sub rax, rsi
mov ecx, 8
cmove rax, rcx
lea rcx, [rbp - 8]
cmp rax, rcx
jae 0x1400379e8
movabs rdx, 0x8080808080808080
test qword [rsi + rax], rdx
jne 0x140036521
add rax, 8
cmp rax, rcx
jb 0x1400379cb
movabs rax, 0x8080808080808080
test qword [rsi + rcx], rax
jne 0x140036521
jmp 0x140036890
mov rdx, r13
mov rdi, rcx
call fcn.14003ca90
mov rcx, rdi
jmp 0x140036b45
jmp 0x140037a20
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x140037a59
cmp rdx, r8
jbe 0x140037a57
cmp byte [rcx + r8], 0xbf
jg 0x140037a59
lea rax, [0x14014b240]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.140126890
jne 0x140037a43
sub rdx, r8
add rcx, r8
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rdx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov word [rsp + 0x90], 1
test byte [rsp + 0x38], 1
je 0x140037ef8
lea rsi, [rsp + 0x50]
mov ebx, 0x260d9
mov r12d, 0x62f8
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.140038a60
test rax, rax
je 0x140037f0d
mov r15, rdx
test rdx, rdx
je 0x140037ad0
mov r14, rax
movzx r8d, byte [rax]
movzx ecx, r8b
test cl, cl
js 0x140037afe
lea rbp, [r14 + 1]
jmp 0x140037b62
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [r14 + 1]
and r9d, 0x3f
cmp cl, 0xe0
jb 0x140037b49
movzx edx, byte [r14 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140037b57
movzx ecx, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140037ad0
lea rbp, [r14 + 4]
jmp 0x140037b62
lea rbp, [r14 + 2]
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x140037b62
lea rbp, [r14 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r15, r14
call fcn.140101fe0
test al, al
je 0x140037cec
movzx eax, al
cmp eax, 0x11
je 0x140037cec
cmp eax, 9
je 0x140037bad
jmp 0x140037eee
inc rbp
call fcn.140101fe0
cmp al, 0xe
ja 0x140037eee
movzx eax, al
bt r12d, eax
jae 0x140037eee
cmp rbp, r15
je 0x140037c60
movzx r8d, byte [rbp]
movzx ecx, r8b
test cl, cl
jns 0x140037b90
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rbp + 1]
and r9d, 0x3f
cmp cl, 0xe0
jb 0x140037c18
movzx edx, byte [rbp + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140037c36
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140037c60
add rbp, 4
call fcn.140101fe0
cmp al, 0xe
jbe 0x140037ba0
jmp 0x140037eee
add rbp, 2
shl eax, 6
or eax, r9d
mov ecx, eax
call fcn.140101fe0
cmp al, 0xe
jbe 0x140037ba0
jmp 0x140037eee
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.140101fe0
cmp al, 0xe
jbe 0x140037ba0
jmp 0x140037eee
movzx eax, byte [r15 - 1]
movzx ebp, al
test bpl, bpl
js 0x140037c7a
dec r15
cmp r15, r14
jne 0x140037ccc
jmp 0x140037eb5
movzx eax, byte [r15 - 2]
cmp al, 0xbf
jg 0x140037ca3
movzx ecx, byte [r15 - 3]
cmp cl, 0xbf
jg 0x140037cac
movzx edx, byte [r15 - 4]
add r15, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x140037cb3
add r15, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140037cbb
add r15, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp r15, r14
je 0x140037eb5
cmp ebp, 0x110000
je 0x140037ad0
mov ecx, ebp
call fcn.140101fe0
cmp al, 0xd
je 0x140037c60
jmp 0x140037ed0
cmp rbp, r15
je 0x140037de6
xor r13d, r13d
xor edi, edi
jmp 0x140037d09
mov r13b, 1
nop
cmp rbp, r15
je 0x140037df0
movzx r8d, byte [rbp]
movzx ecx, r8b
test cl, cl
js 0x140037d30
inc rbp
call fcn.140101fe0
cmp al, 0x11
jbe 0x140037dc0
jmp 0x140037eee
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rbp + 1]
and r9d, 0x3f
cmp cl, 0xe0
jb 0x140037d85
movzx edx, byte [rbp + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140037d9f
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140037df0
add rbp, 4
call fcn.140101fe0
cmp al, 0x11
jbe 0x140037dc0
jmp 0x140037eee
add rbp, 2
shl eax, 6
or eax, r9d
mov ecx, eax
call fcn.140101fe0
cmp al, 0x11
jbe 0x140037dc0
jmp 0x140037eee
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.140101fe0
cmp al, 0x11
ja 0x140037eee
nop word [rax + rax]
movzx eax, al
bt ebx, eax
jb 0x140037d00
cmp eax, 1
je 0x140037cfc
cmp eax, 5
jne 0x140037eee
mov dil, 1
jmp 0x140037d00
xor edi, edi
xor r13d, r13d
nop dword [rax + rax]
movzx eax, byte [r15 - 1]
movzx ebp, al
test bpl, bpl
js 0x140037e10
dec r15
cmp r15, r14
jne 0x140037e5e
jmp 0x140037e7b
movzx eax, byte [r15 - 2]
cmp al, 0xbf
jg 0x140037e39
movzx ecx, byte [r15 - 3]
cmp cl, 0xbf
jg 0x140037e42
movzx edx, byte [r15 - 4]
add r15, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x140037e49
add r15, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140037e51
add r15, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp r15, r14
je 0x140037e7b
cmp ebp, 0x110000
je 0x140037eee
mov ecx, ebp
call fcn.140101fe0
cmp al, 0xd
je 0x140037df0
jmp 0x140037e8e
cmp ebp, 0x110000
je 0x140037eee
mov ecx, ebp
call fcn.140101fe0
cmp al, 0xd
je 0x140037eee
mov ecx, ebp
call fcn.140101fe0
cmp al, 0x11
ja 0x140037eee
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x140037eee
and r13b, dil
test r13b, 1
je 0x140037ad0
jmp 0x140037eee
cmp ebp, 0x110000
je 0x140037ad0
mov ecx, ebp
call fcn.140101fe0
cmp al, 0xd
je 0x140037ad0
mov ecx, ebp
call fcn.140101fe0
cmp al, 9
je 0x140037ad0
mov ecx, ebp
call fcn.140101fe0
cmp al, 5
je 0x140037ad0
mov byte [rsp + 0xfa], 1
jmp 0x140037f0d
lea rsi, [rsp + 0x50]
nop dword [rax]
mov rcx, rsi
call fcn.140038a60
test rax, rax
jne 0x140037f00
movzx edx, byte [rsp + 0xf8]
lea rcx, [rsp + 0xf9]
mov rax, qword [rcx]
mov qword [rsp + 0x138], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x13f], eax
cmp qword [rsp + 0x108], 0
mov ebp, edx
je 0x140037f58
mov r8, qword [rsp + 0x110]
mov rcx, qword [0x1401a2270]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov edx, ebp
mov rbx, qword [rsp + 0x2c0]
mov rsi, qword [rbx + 0x10]
test rsi, rsi
mov rdi, qword [rsp + 0x48]
js 0x1400389eb
je 0x140037f92
movzx eax, byte [0x1401a2308]
xor ecx, ecx
mov rdx, rsi
call fcn.1400ea350
test rax, rax
je 0x140038a0f
mov edx, ebp
jmp 0x140037f99
mov eax, 1
xor esi, esi
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x50], xmm0
mov qword [rbx], rsi
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 0
lea rsi, [rdi + 0x18]
cmp qword [rdi + 0x18], 0
je 0x140037fd9
mov r8, qword [rdi + 0x20]
mov rcx, qword [0x1401a2270]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov edx, ebp
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x50]
movdqu xmmword [rsi], xmm0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov word [rsp + 0x90], 1
mov sil, 1
jmp 0x140038086
mov rax, qword [rbx]
mov r14, qword [rbx + 0x10]
sub rax, r14
mov r15, rdx
cmp rax, rdx
jb 0x14003888b
mov rcx, qword [rbx + 8]
add rcx, r14
mov rdx, r13
mov r8, r15
call fcn.1401253f0
add r15, r14
movzx edx, byte [rsp + 0x104]
nop word cs:[rax + rax]
mov qword [rbx + 0x10], r15
xor esi, esi
mov byte [rsp + 0x104], dl
lea rcx, [rsp + 0x50]
call fcn.140038a60
test rax, rax
je 0x1400388b1
mov r13, rax
test sil, 1
movabs r14, 0x8080808080808080
jne 0x1400380d9
mov rsi, qword [rbx + 0x10]
cmp rsi, qword [rbx]
jne 0x1400380ca
mov rcx, rbx
mov rdi, rdx
call fcn.1400150f0
mov rdx, rdi
mov rax, qword [rbx + 8]
mov byte [rax + rsi], 0x2e
inc rsi
mov qword [rbx + 0x10], rsi
cmp rdx, 8
jae 0x1400381a0
test rdx, rdx
je 0x140038043
cmp byte [r13 + rdx - 1], 0
js 0x1400381f0
mov rax, rdx
dec rax
je 0x140038043
cmp byte [r13 + rdx - 2], 0
js 0x1400381f0
mov rax, rdx
add rax, 0xfffffffffffffffe
je 0x140038043
cmp byte [r13 + rdx - 3], 0
js 0x1400381f0
mov rax, rdx
add rax, 0xfffffffffffffffd
je 0x140038043
cmp byte [r13 + rdx - 4], 0
js 0x1400381f0
mov rax, rdx
add rax, 0xfffffffffffffffc
je 0x140038043
cmp byte [r13 + rdx - 5], 0
js 0x1400381f0
mov rax, rdx
add rax, 0xfffffffffffffffb
je 0x140038043
cmp byte [r13 + rdx - 6], 0
js 0x1400381f0
mov rax, rdx
add rax, 0xfffffffffffffffa
je 0x140038043
lea rax, [rdx - 7]
cmp byte [r13 + rdx - 7], 0
setns cl
test rax, rax
sete al
test cl, al
je 0x1400381f0
jmp 0x140038043
test qword [r13], r14
jne 0x1400381f0
lea rax, [r13 + 7]
and rax, 0xfffffffffffffff8
sub rax, r13
mov ecx, 8
cmove rax, rcx
lea rcx, [rdx - 8]
cmp rax, rcx
jae 0x1400381e0
nop word cs:[rax + rax]
test qword [r13 + rax], r14
jne 0x1400381f0
add rax, 8
cmp rax, rcx
jb 0x1400381d0
test qword [r13 + rcx], r14
je 0x140038043
nop dword [rax + rax]
mov rax, qword [rbx]
mov r15, qword [rbx + 0x10]
sub rax, r15
mov r14, r15
cmp rax, 3
jbe 0x140038814
mov rax, qword [rbx + 8]
mov dword [rax + r14], 0x2d2d6e78
add r14, 4
mov qword [rbx + 0x10], r14
xor ebp, ebp
mov esi, 0
test rdx, rdx
je 0x14003808d
mov rax, r13
add rax, rdx
mov qword [rsp + 0x40], rax
xor r12d, r12d
mov rdi, r13
jmp 0x14003825f
mov rax, qword [rbx + 8]
mov byte [rax + r14], sil
inc r14
mov qword [rbx + 0x10], r14
inc r12d
inc ebp
cmp rdi, qword [rsp + 0x40]
je 0x140038330
movzx edx, byte [rdi]
movzx esi, dl
test sil, sil
js 0x140038280
inc rdi
cmp ebp, 0xffffffff
jne 0x140038300
jmp 0x140038858
mov eax, esi
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp sil, 0xdf
jbe 0x1400382d1
movzx ecx, byte [rdi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400382e7
movzx esi, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and esi, 0x3f
or esi, ecx
or esi, eax
cmp esi, 0x110000
je 0x140038330
add rdi, 4
cmp ebp, 0xffffffff
jne 0x140038300
jmp 0x140038858
add rdi, 2
shl eax, 6
or eax, r8d
mov esi, eax
cmp ebp, 0xffffffff
jne 0x140038300
jmp 0x140038858
add rdi, 3
shl eax, 0xc
or ecx, eax
mov esi, ecx
cmp ebp, 0xffffffff
je 0x140038858
nop dword [rax + rax]
cmp esi, 0x80
jae 0x140038252
cmp r14, qword [rbx]
jne 0x140038240
mov rcx, rbx
call fcn.1400150f0
jmp 0x140038240
test r12d, r12d
je 0x140038365
cmp r14, qword [rbx]
jne 0x140038342
mov rcx, rbx
call fcn.1400150f0
mov rax, qword [rbx + 8]
mov byte [rax + r14], 0x2d
inc r14
mov qword [rbx + 0x10], r14
xor r8d, r8d
mov esi, 0
cmp r12d, ebp
jae 0x14003808d
jmp 0x140038379
xor r12d, r12d
xor r8d, r8d
mov esi, 0
cmp r12d, ebp
jae 0x14003808d
mov eax, 0x48
mov qword [rsp + 0x48], rax
mov eax, 0x80
mov edi, r12d
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x120], r15
mov dword [rsp + 0x180], ebp
mov r12, qword [rsp + 0x40]
jmp 0x1400383bb
inc r13
cmp eax, ebp
jbe 0x140038462
cmp r13, r12
je 0x140038976
movzx r10d, byte [r13]
movzx ebp, r10b
test bpl, bpl
jns 0x1400383b0
mov edx, ebp
and edx, 0x1f
movzx r11d, byte [r13 + 1]
and r11d, 0x3f
cmp bpl, 0xdf
jbe 0x140038425
movzx r9d, byte [r13 + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x140038433
movzx ebp, byte [r13 + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebp, 0x3f
or ebp, r9d
or ebp, edx
cmp ebp, 0x110000
je 0x140038976
add r13, 4
jmp 0x1400383b3
add r13, 2
shl edx, 6
or edx, r11d
mov ebp, edx
jmp 0x1400383b3
add r13, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
jmp 0x1400383b3
inc r13
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp eax, edx
cmovbe ebp, r9d
cmp r13, r12
je 0x1400384f0
movzx r11d, byte [r13]
movzx edx, r11b
test dl, dl
jns 0x140038450
mov r9d, edx
and r9d, 0x1f
movzx esi, byte [r13 + 1]
and esi, 0x3f
cmp dl, 0xdf
jbe 0x1400384c9
movzx r10d, byte [r13 + 2]
shl esi, 6
and r10d, 0x3f
or r10d, esi
cmp r11b, 0xf0
jb 0x1400384dc
movzx edx, byte [r13 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
je 0x1400384f0
add r13, 4
jmp 0x140038453
add r13, 2
shl r9d, 6
or r9d, esi
mov edx, r9d
jmp 0x140038453
add r13, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
jmp 0x140038453
mov r10d, ebp
sub r10d, eax
lea ecx, [rdi + 1]
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r10d, eax
ja 0x140038850
imul r10d, ecx
add r10d, r8d
mov r11, qword [rsp + 0x128]
jmp 0x14003852f
mov r9d, edi
mov r8d, r10d
cmp r11, r12
je 0x1400387e3
movzx r8d, byte [r11]
movzx eax, r8b
test al, al
mov r9, qword [rsp + 0x48]
js 0x140038550
inc r11
cmp eax, ebp
jb 0x1400385e0
jmp 0x1400385e9
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [r11 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400385a6
movzx edx, byte [r11 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400385bd
movzx eax, byte [r11 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
mov r9, qword [rsp + 0x48]
je 0x14003880c
add r11, 4
cmp eax, ebp
jb 0x1400385e0
jmp 0x1400385e9
add r11, 2
shl ecx, 6
or ecx, r9d
mov eax, ecx
mov r9, qword [rsp + 0x48]
cmp eax, ebp
jb 0x1400385e0
jmp 0x1400385e9
add r11, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov r9, qword [rsp + 0x48]
cmp eax, ebp
jae 0x1400385e9
nop word cs:[rax + rax]
inc r10d
je 0x140038850
cmp eax, ebp
jne 0x140038520
mov qword [rsp + 0x130], r11
lea esi, [r9 + 0x1a]
lea ecx, [r9 - 0x24]
neg ecx
cmp esi, 0x25
mov eax, 0x1a
cmovb ecx, eax
cmp r9d, 0x24
mov eax, 1
cmovae ecx, eax
cmp r10d, ecx
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x188], r10d
mov eax, r10d
jae 0x140038700
mov esi, 0x61
cmp eax, 0x1a
mov r13, qword [rsp + 0x38]
jb 0x140038650
mov esi, 0x16
cmp eax, 0x24
jae 0x14003895e
cmp r14, qword [rbx]
mov r15d, 0xd41d41d5
mov r12, qword [rsp + 0x40]
jne 0x14003866c
mov rcx, rbx
mov edi, eax
call fcn.1400150f0
mov eax, edi
add eax, esi
mov rcx, qword [rbx + 8]
mov byte [rcx + r14], al
inc r14
mov qword [rbx + 0x10], r14
mov r9d, r13d
inc r9d
je 0x140038984
cmp r13d, dword [rsp + 0x30]
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x188]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
cmp eax, 0x1c8
mov r11, qword [rsp + 0x130]
jb 0x1400387b0
xor ecx, ecx
nop word [rax + rax]
mov edx, eax
imul rdx, r15
shr rdx, 0x20
mov r10d, eax
sub r10d, edx
shr r10d, 1
add r10d, edx
shr r10d, 5
add ecx, 0x24
cmp eax, 0x3e57
mov eax, r10d
ja 0x1400386d0
jmp 0x1400387b5
mov r13d, r9d
neg r13d
mov r12d, 0x48
jmp 0x140038748
add r15d, edi
mov rcx, qword [rbx + 8]
mov byte [rcx + r14], r15b
inc r14
lea ecx, [r12 + r13]
cmp r12d, esi
mov edx, 0x1a
cmovae ecx, edx
cmp r12d, r9d
mov edx, 1
cmovbe ecx, edx
mov qword [rbx + 0x10], r14
add r12d, 0x24
cmp eax, ecx
jb 0x140038633
mov r8d, ecx
sub r8d, 0x24
je 0x140038941
sub eax, ecx
neg r8d
xor edx, edx
div r8d
mov r15d, edx
add r15d, ecx
mov edi, 0x61
cmp r15d, 0x1a
jb 0x14003877f
mov edi, 0x16
cmp r15d, 0x24
jae 0x14003895e
cmp r14, qword [rbx]
jne 0x140038710
mov rcx, rbx
mov ebx, eax
call fcn.1400150f0
mov r9, qword [rsp + 0x48]
mov eax, ebx
mov rbx, qword [rsp + 0x2c0]
jmp 0x140038710
xor ecx, ecx
mov r10d, eax
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx eax, ax
add eax, ecx
mov qword [rsp + 0x48], rax
mov r10d, r8d
mov edi, r9d
cmp r11, r12
jne 0x14003852f
inc r8d
inc ebp
xor esi, esi
mov eax, ebp
mov edi, r9d
mov ebp, dword [rsp + 0x180]
cmp r9d, ebp
mov r13, qword [rsp + 0x128]
jb 0x1400383a7
jmp 0x14003808d
mov r9d, edi
mov r8d, r10d
jmp 0x1400387e3
mov qword [rsp + 0x20], 1
mov r8d, 4
mov r9d, 1
mov rcx, rbx
mov rsi, rdx
mov rdx, r15
call fcn.14012d5c0
mov rdx, rsi
mov r14, qword [rbx + 0x10]
jmp 0x140038207
mov r15, qword [rsp + 0x120]
mov dl, 1
xor esi, esi
cmp r14, r15
jb 0x140038086
test r15, r15
je 0x140038080
cmp r14, r15
jbe 0x140038080
mov rax, qword [rbx + 8]
cmp byte [rax + r15], 0xbf
jg 0x140038080
jmp 0x1400389d3
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.14012d5c0
mov r14, qword [rbx + 0x10]
jmp 0x140038059
mov rcx, qword [rsp + 0x190]
movzx eax, byte [rsp + 0x104]
mov byte [rcx], al
mov rax, qword [rsp + 0x138]
mov qword [rcx + 1], rax
mov eax, dword [rsp + 0x13f]
mov dword [rcx + 8], eax
jmp 0x14003628c
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
mov rdx, rax
call fcn.1401261b0
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.1401262d0
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rsi
call fcn.1401262d0
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0xd4e
call fcn.1401261b0
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rsi
call fcn.1401262d0
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0x1667
call fcn.1401261b0
lea rcx, [0x140159e00]
call fcn.140126930
lea r8, str.C:Usersz0mbj.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.1401262d0
lea rcx, str.explicit_panic
lea r8, [0x140159e28]
mov edx, 0xe
call fcn.140126340
lea rcx, [0x140159de8]
call fcn.1401266e0
ud2
lea rcx, [0x140159d88]
call fcn.1401264e0
lea rcx, [0x140159dd0]
call fcn.1401264e0
lea r8, [0x14014b228]
mov ecx, 4
mov edx, 4
call fcn.140126220
lea r8, str.core_src_slicememchr.rs
mov rdx, rbp
call fcn.1401261b0
lea r8, str.core_src_slicememchr.rs
mov rcx, rax
mov rdx, rbp
call fcn.1401262d0
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_b
lea r8, [0x140190e68]
mov edx, 0x30
call fcn.140126340
xor ecx, ecx
mov rdx, rsi
call fcn.140125f00
lea rax, [0x14014b258]
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rsi
mov r9, rsi
call fcn.140126890
mov ecx, 1
mov rdx, rsi
call fcn.140125f00
lea rax, [0x140159db8]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r15
mov r9, r15
call fcn.140126890
lea rax, [0x140159da0]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r15
xor r8d, r8d
mov r9, rbp
call fcn.140126890
int3