Function at 0x140018fc0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x40
mov rsi, rdx
movzx eax, byte [rcx]
lea rdx, [0x14005e1a8]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
mov rax, qword [rax + 0x18]
lea rdx, [0x140060a4f]
mov r8d, 5
add rsp, 0x40
pop rsi
jmp rax
add rcx, 8
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a86]
mov r8d, 6
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140004350]
jmp 0x14000681b
add rcx, 8
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a7a]
mov r8d, 5
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x1400036d0]
jmp 0x14000681b
add rcx, 2
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a71]
mov r8d, 3
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140003d40]
jmp 0x14000681b
add rcx, 2
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a60]
mov r8d, 2
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140004110]
jmp 0x14000681b
add rcx, 4
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a74]
mov r8d, 3
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140002ea0]
jmp 0x14000681b
inc rcx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a6a]
mov r8d, 4
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140003d00]
jmp 0x14000681b
add rcx, 8
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a58]
mov r8d, 6
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140004330]
jmp 0x14000681b
add rcx, 8
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a7f]
mov r8d, 7
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140004410]
jmp 0x14000681b
inc rcx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a5e]
mov r8d, 2
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x1400030c0]
jmp 0x14000681b
add rcx, 4
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a66]
mov r8d, 2
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x1400044d0]
jmp 0x14000681b
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
mov rax, qword [rax + 0x18]
lea rdx, [0x140060a54]
mov r8d, 4
add rsp, 0x40
pop rsi
jmp rax
add rcx, 4
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a62]
mov r8d, 2
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140003920]
jmp 0x14000681b
add rcx, 8
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a77]
mov r8d, 3
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x1400034b0]
jmp 0x14000681b
add rcx, 8
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a64]
mov r8d, 2
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140003270]
jmp 0x14000681b
inc rcx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a6e]
mov r8d, 3
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140003b60]
jmp 0x14000681b
add rcx, 8
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x140060a68]
mov r8d, 2
call qword [rax + 0x18]
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x31], 0
lea r8, [0x140002e10]
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0x38]
call fcn.14001e200
mov rcx, qword [rsp + 0x20]
movzx edx, byte [rsp + 0x30]
test rcx, rcx
je 0x14000687a
mov al, 1
test dl, 1
jne 0x14000689b
cmp rcx, 1
jne 0x14000687e
mov rsi, qword [rsp + 0x28]
cmp byte [rsp + 0x31], 0
je 0x140006883
test byte [rsi + 0x34], 4
jne 0x140006883
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x14247cdbe]
mov r8d, 1
call qword [rax + 0x18]
mov ecx, eax
mov al, 1
test cl, cl
jne 0x14000689b
jmp 0x140006883
mov eax, edx
jmp 0x14000689b
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
lea rdx, [0x1424802f8]
mov r8d, 1
call qword [rax + 0x18]
and al, 1
add rsp, 0x40
pop rsi
ret
mov ecx, eax
jmp 0x140018fc0
add byte [rax], al
add byte [rax], al
add cl, byte [rdi]
test edx, esp
add byte [rax], al
add byte [rbx - 0x77c0140], al
invalid
add byte [rax], al
mov byte [rbx + 0x5feb01e6], 0x48
mov edi, dword [rcx + 0x18]
and al, ch
cmp bh, bh
invalid
add al, byte [rcx + 0xf]
mov bh, 0x34
or al, byte [rdx - 0x73]
or al, 0xc5
invalid
add byte [rax], al
add byte [rax], al
invalid
nop dword cs:[rax + rax]
adc dword [rsp + 0xff], ecx
add byte [rax], al
add byte [rdi], cl
sub dword [rsp + 0xb0], eax
add byte [rax], al
add byte [rcx - 0x80], al
cld
adc dword [rdi], ecx
test byte [rdx], cl
add eax, dword [rax]
add byte [rdi], cl
adc byte [rsp + 0xbf], al
add byte [rax], al
invalid
add byte [rax], al
add byte [rdi], cl
movups xmmword [rsp + 0x9f], xmm0
sub dword [rsp + 0x90], eax
dec dword [rax - 0x73]
and al, 0x68
jo 0x140008224
mov dword [rsp + 0x28], eax
or byte [rbx], r9b
add byte [rax], al
add byte [rax - 0x77], cl
and al, 0x47
and al, 0x30
add byte [rax], al
add byte [rdi], cl
mov dh, 3
add byte [rbx - 0x7af0f108], al
cmpsb byte [rsi], byte [rdi]
add byte [rax], al
add byte [rax - 0x75], cl
jb 0x140008332
invalid
adc byte [rbx + rcx*4 + 0x72], cl
sbb byte [rbp - 0x7b], cl
div byte [rsi + rdx + 0x48]
mov edi, esi
nop
stc
invalid
add byte [rax], al
or ebx, r13d
push rbx
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
movdqa xmmword [rsp + 0x90], xmm12
movdqa xmmword [rsp + 0x80], xmm11
movdqa xmmword [rsp + 0x70], xmm10
movdqa xmmword [rsp + 0x60], xmm9
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmmword [rsp + 0x30], xmm6
mov rsi, r8
mov rdi, rdx
movzx eax, byte [rcx]
movzx edx, byte [rcx + 0x10]
mov r8d, eax
or r8b, dl
test r8b, 1
je 0x140019876
test dl, 1
je 0x1400190bd
mov r9, qword [rcx + 0x18]
lea r8, [rdi + rsi]
xor edx, edx
test r9, r9
je 0x140019091
xor r10d, r10d
mov r11, rdi
jmp 0x140019068
lea rbx, [r11 + 1]
inc r10
mov r14, rbx
sub r14, r11
add rdx, r14
mov r11, rbx
cmp r9, r10
je 0x140019094
cmp r11, r8
je 0x1400190bd
movzx ebx, byte [r11]
test bl, bl
jns 0x140019050
cmp bl, 0xe0
jb 0x140019085
cmp bl, 0xf0
jb 0x14001908b
lea rbx, [r11 + 4]
jmp 0x140019054
lea rbx, [r11 + 2]
jmp 0x140019054
lea rbx, [r11 + 3]
jmp 0x140019054
mov rbx, rdi
cmp rbx, r8
je 0x1400190bd
movzx r8d, byte [rbx]
test r8b, r8b
jns 0x1400190a6
cmp r8b, 0xe0
test rdx, rdx
je 0x1400190ba
cmp rdx, rsi
jae 0x1400190b8
cmp byte [rdi + rdx], 0xbf
jg 0x1400190ba
jmp 0x1400190bd
jne 0x1400190bd
mov rsi, rdx
test al, 1
je 0x140019876
mov r14, qword [rcx + 8]
cmp rsi, 0x20
jae 0x1400190e3
test rsi, rsi
je 0x140019121
cmp rsi, 4
jae 0x140019128
xor edx, edx
xor eax, eax
jmp 0x14001983f
lea r12, [rdi + 7]
and r12, 0xfffffffffffffff8
mov rdx, r12
sub rdx, rdi
mov rax, rsi
sub rax, rdx
mov edx, eax
and edx, 7
mov r9, r12
sub r9, rdi
jne 0x14001910c
xor r8d, r8d
jmp 0x1400193fd
cmp r9, 4
jae 0x14001935a
xor r8d, r8d
xor r10d, r10d
jmp 0x1400193e6
xor edx, edx
jmp 0x140019855
mov eax, esi
and eax, 0x1c
movzx edx, word [rdi]
movd xmm0, edx
movzx edx, word [rdi + 2]
movd xmm1, edx
movdqa xmm2, xmmword [0x14005e380]
pcmpgtb xmm0, xmm2
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0xd4
pshufd xmm0, xmm0, 0xd4
movdqa xmm3, xmmword [0x14005e390]
pand xmm0, xmm3
pcmpgtb xmm1, xmm2
punpcklbw xmm1, xmm1
pshuflw xmm1, xmm1, 0xd4
pshufd xmm1, xmm1, 0xd4
pand xmm1, xmm3
cmp rax, 4
je 0x140019343
movzx edx, word [rdi + 4]
movd xmm4, edx
movzx edx, word [rdi + 6]
movd xmm5, edx
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm3
paddq xmm0, xmm4
paddq xmm1, xmm5
cmp eax, 8
je 0x140019343
movzx edx, word [rdi + 8]
movd xmm4, edx
movzx edx, word [rdi + 0xa]
movd xmm5, edx
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm3
paddq xmm0, xmm4
paddq xmm1, xmm5
cmp eax, 0xc
je 0x140019343
movzx edx, word [rdi + 0xc]
movd xmm4, edx
movzx edx, word [rdi + 0xe]
movd xmm5, edx
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm3
paddq xmm0, xmm4
paddq xmm1, xmm5
cmp eax, 0x10
je 0x140019343
movzx edx, word [rdi + 0x10]
movd xmm4, edx
movzx edx, word [rdi + 0x12]
movd xmm5, edx
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm3
paddq xmm0, xmm4
paddq xmm1, xmm5
cmp eax, 0x14
je 0x140019343
movzx edx, word [rdi + 0x14]
movd xmm4, edx
movzx edx, word [rdi + 0x16]
movd xmm5, edx
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm3
paddq xmm0, xmm4
paddq xmm1, xmm5
cmp eax, 0x18
je 0x140019343
movzx edx, word [rdi + 0x18]
movd xmm4, edx
movzx edx, word [rdi + 0x1a]
movd xmm5, edx
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm2, xmm5, 0xd4
pshufd xmm2, xmm2, 0xd4
pand xmm2, xmm3
paddq xmm0, xmm4
paddq xmm1, xmm2
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq rdx, xmm1
jmp 0x140019850
mov r10d, r9d
and r10d, 4
pxor xmm0, xmm0
xor r8d, r8d
movdqa xmm2, xmmword [0x14005e380]
movdqa xmm3, xmmword [0x14005e390]
pxor xmm1, xmm1
nop dword [rax]
movzx r11d, word [rdi + r8]
movd xmm4, r11d
movzx r11d, word [rdi + r8 + 2]
movd xmm5, r11d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add r8, 4
cmp r10, r8
jne 0x140019380
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r8, xmm0
jmp 0x1400193f8
xor r11d, r11d
cmp byte [rdi + r10], 0xc0
setge r11b
add r8, r11
inc r10
cmp r9, r10
jne 0x1400193e6
test rdx, rdx
mov qword [rsp + 0x28], rsi
je 0x14001949c
mov r9, rax
and r9, 0xfffffffffffffff8
xor r15d, r15d
cmp byte [r12 + r9], 0xc0
setge r15b
cmp edx, 1
je 0x14001949f
xor r10d, r10d
cmp byte [r12 + r9 + 1], 0xc0
setge r10b
add r15, r10
cmp edx, 2
je 0x14001949f
xor r10d, r10d
cmp byte [r12 + r9 + 2], 0xc0
setge r10b
add r15, r10
cmp edx, 3
je 0x14001949f
xor r10d, r10d
cmp byte [r12 + r9 + 3], 0xc0
setge r10b
add r15, r10
cmp edx, 4
je 0x14001949f
xor r10d, r10d
cmp byte [r12 + r9 + 4], 0xc0
setge r10b
add r15, r10
cmp edx, 5
je 0x14001949f
xor r10d, r10d
cmp byte [r12 + r9 + 5], 0xc0
setge r10b
add r15, r10
cmp edx, 6
je 0x14001949f
xor edx, edx
cmp byte [r12 + r9 + 6], 0xc0
setge dl
add r15, rdx
jmp 0x14001949f
xor r15d, r15d
add r15, r8
shr rax, 3
movabs r9, 0xff00ff00ff00ff
movabs rsi, 0x1000100010001
pcmpeqd xmm0, xmm0
movdqa xmm1, xmmword [0x14005e3a0]
jmp 0x140019508
xor r15d, r15d
mov r8d, r11d
lea r12, [r10 + r8*8]
sub rax, r11
mov r8d, r11d
and r8d, 3
mov rbx, r15
and rbx, r9
shr r15, 8
and r15, r9
add r15, rbx
imul r15, rsi
shr r15, 0x30
add r15, rdx
test r8, r8
jne 0x1400197ad
mov rdx, r15
test rax, rax
je 0x1400197a3
mov r10, r12
cmp rax, 0xc0
mov r11d, 0xc0
cmovb r11, rax
cmp rax, 4
jb 0x1400194d0
mov r12d, r11d
shr r12d, 2
movabs r8, 0x7ffffffffffffff
lea rbp, [r12 + r8]
and rbp, r8
cmp rbp, 3
jae 0x140019560
xor r15d, r15d
mov r13, r10
jmp 0x14001972a
inc rbp
mov rbx, rbp
and rbx, 0xfffffffffffffffc
mov r13, rbx
shl r13, 5
add r13, r10
lea r15, [r10 + 0x40]
pxor xmm4, xmm4
mov r8, rbx
pxor xmm5, xmm5
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r15 - 0x40]
movdqu xmm6, xmmword [r15 - 0x20]
movdqa xmm3, xmm2
punpcklqdq xmm3, xmm6
movdqa xmm7, xmm3
pxor xmm7, xmm0
psrlq xmm7, 7
psrlq xmm3, 6
por xmm3, xmm7
pand xmm3, xmm1
paddq xmm3, xmm4
movdqu xmm4, xmmword [r15 - 0x30]
movdqu xmm10, xmmword [r15 - 0x10]
movdqu xmm11, xmmword [r15 + 0x30]
movdqu xmm7, xmmword [r15 + 0x20]
movdqu xmm9, xmmword [r15]
movdqa xmm8, xmm9
punpcklqdq xmm8, xmm7
movdqa xmm12, xmm8
pxor xmm12, xmm0
psrlq xmm12, 7
psrlq xmm8, 6
por xmm8, xmm12
pand xmm8, xmm1
paddq xmm8, xmm5
movdqu xmm5, xmmword [r15 + 0x10]
punpckhqdq xmm2, xmm6
punpckhqdq xmm9, xmm7
movdqa xmm7, xmm4
punpcklqdq xmm7, xmm10
movdqa xmm6, xmm5
punpcklqdq xmm6, xmm11
punpckhqdq xmm4, xmm10
punpckhqdq xmm5, xmm11
movdqa xmm10, xmm2
pxor xmm10, xmm0
movdqa xmm11, xmm9
pxor xmm11, xmm0
psrlq xmm10, 7
psrlq xmm11, 7
psrlq xmm2, 6
por xmm2, xmm10
psrlq xmm9, 6
por xmm9, xmm11
pand xmm2, xmm1
pand xmm9, xmm1
movdqa xmm10, xmm7
pxor xmm10, xmm0
movdqa xmm11, xmm6
pxor xmm11, xmm0
psrlq xmm10, 7
psrlq xmm11, 7
psrlq xmm7, 6
por xmm7, xmm10
psrlq xmm6, 6
por xmm6, xmm11
pand xmm7, xmm1
paddq xmm7, xmm2
paddq xmm7, xmm3
pand xmm6, xmm1
paddq xmm6, xmm9
paddq xmm6, xmm8
movdqa xmm2, xmm4
pxor xmm2, xmm0
movdqa xmm3, xmm5
pxor xmm3, xmm0
psrlq xmm2, 7
psrlq xmm3, 7
psrlq xmm4, 6
por xmm4, xmm2
psrlq xmm5, 6
por xmm5, xmm3
pand xmm4, xmm1
paddq xmm4, xmm7
pand xmm5, xmm1
paddq xmm5, xmm6
sub r15, 0xffffffffffffff80
add r8, 0xfffffffffffffffc
jne 0x140019590
paddq xmm5, xmm4
pshufd xmm2, xmm5, 0xee
paddq xmm2, xmm5
movq r15, xmm2
cmp rbp, rbx
je 0x1400194d3
shl r12d, 5
add r12, r10
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r13]
movdqu xmm3, xmmword [r13 + 0x10]
movdqa xmm4, xmm2
pxor xmm4, xmm0
movdqa xmm5, xmm3
pxor xmm5, xmm0
psrlq xmm5, 7
psrlq xmm4, 7
psrlq xmm3, 6
por xmm3, xmm5
psrlq xmm2, 6
por xmm2, xmm4
pand xmm3, xmm1
pand xmm2, xmm1
paddq xmm2, xmm3
pshufd xmm3, xmm2, 0xee
paddq xmm3, xmm2
movq r8, xmm3
add r15, r8
add r13, 0x20
cmp r13, r12
jne 0x140019740
jmp 0x1400194d3
mov rsi, qword [rsp + 0x28]
jmp 0x140019855
movabs rax, 0x101010101010101
and r11d, 0xfc
mov edx, r11d
mov rdx, qword [r10 + rdx*8]
mov rbx, rdx
not rbx
shr rbx, 7
shr rdx, 6
or rdx, rbx
and rdx, rax
cmp r8d, 1
je 0x14001981d
mov rbx, qword [r10 + r11*8 + 8]
mov r12, rbx
not r12
shr r12, 7
shr rbx, 6
or rbx, r12
and rbx, rax
add rdx, rbx
cmp r8d, 2
je 0x14001981d
mov r8, qword [r10 + r11*8 + 0x10]
mov r10, r8
not r10
shr r10, 7
shr r8, 6
or r8, r10
and r8, rax
add rdx, r8
mov rax, rdx
and rax, r9
shr rdx, 8
and rdx, r9
add rdx, rax
imul rdx, rsi
shr rdx, 0x30
add rdx, r15
mov rsi, qword [rsp + 0x28]
jmp 0x140019855
xor r8d, r8d
cmp byte [rdi + rax], 0xc0
setge r8b
add rdx, r8
inc rax
cmp rsi, rax
jne 0x14001983f
sub r14, rdx
jbe 0x140019876
movzx eax, byte [rcx + 0x38]
lea rdx, [0x14005e3b0]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r15, r14
xor r14d, r14d
jmp 0x1400198e6
mov rax, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x28]
mov r9, qword [rcx + 0x18]
mov rcx, rax
mov rdx, rdi
mov r8, rsi
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm12, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp r9
xor r15d, r15d
jmp 0x1400198e6
mov rax, r14
shr rax, 1
inc r14
shr r14, 1
mov r15, r14
mov r14, rax
mov rbx, qword [rcx + 0x20]
mov r12, qword [rcx + 0x28]
mov ebp, dword [rcx + 0x30]
inc r14
nop word cs:[rax + rax]
mov rcx, rbx
dec r14
je 0x140019917
mov edx, ebp
call qword [r12 + 0x20]
test al, al
je 0x140019900
mov al, 1
jmp 0x140019966
mov rdx, rdi
mov r8, rsi
call qword [r12 + 0x18]
mov ecx, eax
mov al, 1
test cl, cl
jne 0x140019966
mov rdi, r15
neg rdi
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
lea rax, [rdi + rsi]
cmp rax, 0xffffffffffffffff
je 0x14001995d
mov rcx, rbx
mov edx, ebp
call qword [r12 + 0x20]
inc rsi
test al, al
je 0x140019940
jmp 0x140019960
mov rsi, r15
cmp rsi, r15
setb al
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm12, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp al, 0x3f
pop rsi
invalid