Function at 0x140003150
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x42d38
call fcn.140012920
sub rsp, rax
vmovapd xmmword [rsp + 0x42d20], xmm15
vmovapd xmmword [rsp + 0x42d10], xmm14
vmovapd xmmword [rsp + 0x42d00], xmm13
vmovaps xmmword [rsp + 0x42cf0], xmm12
vmovapd xmmword [rsp + 0x42ce0], xmm11
vmovapd xmmword [rsp + 0x42cd0], xmm10
vmovapd xmmword [rsp + 0x42cc0], xmm9
vmovaps xmmword [rsp + 0x42cb0], xmm8
vmovapd xmmword [rsp + 0x42ca0], xmm7
vmovdqa xmmword [rsp + 0x42c90], xmm6
mov qword [rsp + 0xe0], r9
mov esi, edx
mov r14, rcx
mov rax, qword [0x140019040]
xor rax, rsp
mov qword [rsp + 0x42c88], rax
movzx edi, dx
mov eax, edi
add eax, 0xfffffffe
imul rax, rax, 0x38e38e39
shr rax, 0x21
inc eax
mov qword [rsp + 0x30], rax
lea rax, [rdi - 2]
movabs rcx, 0xe38e38e38e38e38f
mov qword [rsp + 0x90], rax
mul rcx
shr rdx, 3
mov qword [rsp + 0x70], rdx
lea rcx, [rdx + 1]
mov rax, rcx
and rax, 0xfffffffffffffffe
mov qword [rsp + 0x150], rax
mov rax, rcx
and rax, 0xfffffffffffffff0
mov qword [rsp + 0xc0], rax
mov rax, rcx
mov qword [rsp + 0x50], rcx
and rcx, 0xfffffffffffffff8
mov qword [rsp + 0x110], rcx
neg rcx
mov qword [rsp + 0x130], rcx
vmovdqa xmm12, xmmword [0x1400151b0]
vmovdqa xmm8, xmmword [0x1400151c0]
vmovaps ymm2, ymmword [0x140015180]
lea ebp, [rdi - 1]
mov word [rsp + 0xa0], r8w
movzx ecx, r8w
mov rax, rcx
mov qword [rsp + 0x80], rcx
mov r15d, ecx
lea rax, [r14 + 0x26c]
mov qword [rsp + 0x40], rax
lea rax, [r14 + 0x368]
mov qword [rsp + 0x68], rax
lea rax, [r14 + 0x25a]
mov qword [rsp + 0xf0], rax
lea rax, [r14 + 0x258]
mov qword [rsp + 0x88], rax
xor r12d, r12d
mov dword [rsp + 0x2c], ebp
mov qword [rsp + 0x48], r15
nop word [rax + rax]
cmp r12b, 5
ja case.default.0x1400032fc
movzx eax, r12b
lea rcx, [0x14001574c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor r13d, r13d
cmp word [rsp + 0xa0], 2
jb 0x140003910
xor r13d, r13d
mov eax, 1
mov rcx, qword [rsp + 0xf0]
jmp 0x140003344
add rax, 9
add rcx, 0x1518
cmp rax, r15
jae 0x140003910
cmp si, 2
jb 0x140003330
xor edx, edx
mov r8d, r13d
nop
movzx r9d, word [rcx + rdx*2 - 2]
movzx r10d, word [rcx + rdx*2 - 0x258]
movzx r11d, word [rcx + rdx*2 - 0x25a]
cmp r9w, r10w
mov ebx, r10d
cmovg ebx, r9d
mov r15d, r9d
cmovg r15d, r10d
add r10d, r9d
sub r10d, r11d
cmp r11w, r15w
cmovle r10w, bx
movzx r9d, byte [rcx + rdx*2]
cmp r11w, bx
cmovge r10d, r15d
sub r9b, r10b
mov r10d, r8d
inc r8d
mov byte [rsp + r10 + 0x1b0], r9b
lea r9, [rdx + 9]
add rdx, 0xa
cmp rdx, rdi
mov rdx, r9
jb 0x140003350
add r13d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
jmp 0x140003330
xor r13d, r13d
jmp 0x140003910
xor r13d, r13d
cmp word [rsp + 0xa0], 2
jb 0x140003910
xor r13d, r13d
mov eax, 1
mov rcx, qword [rsp + 0xf0]
jmp 0x140003414
add rax, 9
add rcx, 0x1518
cmp rax, r15
jae 0x140003910
cmp si, 2
jb 0x140003400
xor edx, edx
mov r8d, r13d
nop
movsx r9d, word [rcx + rdx*2 - 2]
movsx r10d, word [rcx + rdx*2 - 0x258]
add r10d, r9d
movsx r9d, word [rcx + rdx*2 - 0x25a]
add r10d, r10d
sub r10d, r9d
movsxd r9, r10d
imul r10, r9, 0x55555555
shr r10, 0x20
sub r10d, r9d
mov r9d, r10d
shr r9d, 0x1f
shr r10d, 1
add r10d, r9d
movzx r9d, word [rcx + rdx*2]
add r9d, r10d
mov r10d, r8d
inc r8d
mov byte [rsp + r10 + 0x1b0], r9b
lea r9, [rdx + 9]
add rdx, 0xa
cmp rdx, rdi
mov rdx, r9
jb 0x140003420
add r13d, dword [rsp + 0x30]
jmp 0x140003400
xor r13d, r13d
cmp word [rsp + 0xa0], 2
jb 0x140003910
xor r13d, r13d
mov eax, 1
mov rcx, r14
jmp 0x1400034c4
add rax, 9
add rcx, 0x1518
cmp rax, r15
jae 0x140003910
cmp si, 2
jb 0x1400034b0
mov edx, 1
mov r8d, r13d
nop word cs:[rax + rax]
movsx r9d, word [rcx + rdx*2 + 0x256]
movsx r10d, word [rcx + rdx*2]
add r10d, r9d
movzx r9d, word [rcx + rdx*2 + 0x258]
shl r10d, 0xf
add r10d, 0x8000
shr r10d, 0x10
sub r9d, r10d
mov r10d, r8d
inc r8d
mov byte [rsp + r10 + 0x1b0], r9b
add rdx, 9
cmp rdx, rdi
jb 0x1400034e0
add r13d, dword [rsp + 0x30]
jmp 0x1400034b0
xor r13d, r13d
cmp word [rsp + 0xa0], 2
jb 0x140003910
xor r13d, r13d
mov eax, 1
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0x68]
jmp 0x140003587
add r13d, dword [rsp + 0x30]
add rax, 9
add r8, 0x1518
add rdx, 0x1518
add rcx, 0x1518
cmp rax, r15
jae 0x140003910
cmp si, 2
jb 0x140003565
mov r9d, 1
mov r11, qword [rsp + 0x70]
mov r10d, r13d
cmp r11, 7
jae 0x1400035d0
nop word cs:[rax + rax]
movzx r11d, byte [rcx + r9*2]
mov ebx, r10d
inc r10d
mov byte [rsp + rbx + 0x1b0], r11b
add r9, 9
cmp r9, rdi
jb 0x1400035b0
jmp 0x140003560
add r10d, r11d
jb 0x140003697
mov r10, r11
shr r10, 0x20
mov r10d, r13d
jne 0x1400035b0
cmp qword [rsp + 0x70], 0xf
jae 0x14000369f
xor r11d, r11d
mov r10, qword [rsp + 0x110]
lea r9, [r10 + r10*8]
inc r9
add r10d, r13d
mov rbx, qword [rsp + 0x130]
add rbx, r11
lea r15d, [r11 + r13]
lea r11, [r11 + r11*8]
lea r11, [rdx + r11*2]
nop dword [rax]
movzx ebp, byte [r11]
vmovd xmm0, ebp
vpinsrb xmm0, xmm0, byte [r11 + 0x12], 1
vpinsrb xmm0, xmm0, byte [r11 + 0x24], 2
vpinsrb xmm0, xmm0, byte [r11 + 0x36], 3
vpinsrb xmm0, xmm0, byte [r11 + 0x48], 4
vpinsrb xmm0, xmm0, byte [r11 + 0x5a], 5
vpinsrb xmm0, xmm0, byte [r11 + 0x6c], 6
vpinsrb xmm0, xmm0, byte [r11 + 0x7e], 7
mov ebp, r15d
vmovq qword [rsp + rbp + 0x1b0], xmm0
add r15d, 8
add r11, 0x90
add rbx, 8
jne 0x140003620
mov r11, qword [rsp + 0x110]
cmp qword [rsp + 0x50], r11
mov ebp, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x48]
jne 0x1400035b0
jmp 0x140003560
mov r10d, r13d
jmp 0x1400035b0
mov r11, qword [rsp + 0x50]
and r11, 0xfffffffffffffff0
mov r9d, r13d
mov r10, r8
mov rbx, qword [rsp + 0xc0]
nop word cs:[rax + rax]
movzx r15d, word [r10 - 0x7e]
vmovd xmm0, r15d
vpinsrw xmm0, xmm0, word [r10 - 0x6c], 1
vpinsrw xmm0, xmm0, word [r10 - 0x5a], 2
vpinsrw xmm0, xmm0, word [r10 - 0x48], 3
vpinsrw xmm0, xmm0, word [r10 - 0x36], 4
vpinsrw xmm0, xmm0, word [r10 - 0x24], 5
vpinsrw xmm0, xmm0, word [r10 - 0x12], 6
vpinsrw xmm0, xmm0, word [r10], 7
movzx r15d, word [r10 - 0x10e]
vmovd xmm1, r15d
vpinsrw xmm1, xmm1, word [r10 - 0xfc], 1
vpinsrw xmm1, xmm1, word [r10 - 0xea], 2
vpinsrw xmm1, xmm1, word [r10 - 0xd8], 3
vpinsrw xmm1, xmm1, word [r10 - 0xc6], 4
vpinsrw xmm1, xmm1, word [r10 - 0xb4], 5
vpinsrw xmm1, xmm1, word [r10 - 0xa2], 6
vpinsrw xmm1, xmm1, word [r10 - 0x90], 7
vinsertf128 ymm0, ymm1, xmm0, 1
vandps ymm0, ymm0, ymm2
vextractf128 xmm1, ymm0, 1
vpackuswb xmm0, xmm0, xmm1
mov r15d, r9d
vmovdqu xmmword [rsp + r15 + 0x1b0], xmm0
add r10, 0x120
add r9d, 0x10
add rbx, 0xfffffffffffffff0
jne 0x1400036c0
cmp qword [rsp + 0x50], r11
mov r15, qword [rsp + 0x48]
je 0x140003560
test byte [rsp + 0x50], 8
jne 0x1400035f4
lea r10d, [r11 + r13]
lea r9, [r11 + r11*8]
or r9, 1
jmp 0x1400035b0
xor r13d, r13d
cmp word [rsp + 0xa0], 2
jb 0x140003910
xor r13d, r13d
mov eax, 1
mov rcx, qword [rsp + 0x40]
jmp 0x1400037e9
add r13d, dword [rsp + 0x30]
add rax, 9
add rcx, 0x1518
cmp rax, r15
jae 0x140003910
cmp si, 2
jb 0x1400037d5
mov edx, 1
mov r8d, r13d
cmp qword [rsp + 0x90], 9
jb 0x140003853
mov r9, qword [rsp + 0x150]
xor edx, edx
mov r8d, r13d
nop
movzx r10d, byte [rcx + rdx*2 - 0x12]
sub r10b, byte [rcx + rdx*2 - 0x26c]
lea r11d, [r8 + 1]
mov ebx, r8d
mov byte [rsp + rbx + 0x1b0], r10b
movzx r10d, byte [rcx + rdx*2]
sub r10b, byte [rcx + rdx*2 - 0x25a]
add r8d, 2
mov byte [rsp + r11 + 0x1b0], r10b
add rdx, 0x12
add r9, 0xfffffffffffffffe
jne 0x140003810
inc rdx
test byte [rsp + 0x50], 1
je 0x1400037d0
lea r9, [rax - 1]
imul r10, rax, 0x258
add r10, r14
movzx r10d, byte [r10 + rdx*2]
imul r9, r9, 0x258
add r9, r14
sub r10b, byte [r9 + rdx*2 - 2]
mov edx, r8d
mov byte [rsp + rdx + 0x1b0], r10b
jmp 0x1400037d0
xor r13d, r13d
cmp word [rsp + 0xa0], 2
jb 0x140003910
xor r13d, r13d
mov eax, 1
jmp 0x1400038b9
add rax, 9
cmp rax, r15
jae 0x140003910
cmp ebp, 2
jb 0x1400038b0
lea rcx, [rax - 1]
mov edx, 1
nop word [rax + rax]
mov r8d, edx
imul r9, rax, 0x258
add r9, r14
movzx r8d, byte [r9 + r8*2]
lea r9d, [rdx + 1]
imul r10, rcx, 0x258
add r10, r14
sub r8b, byte [r10 + r9*2]
mov r9d, r13d
inc r13d
mov byte [rsp + r9 + 0x1b0], r8b
add edx, 9
cmp edx, ebp
jb 0x1400038d0
jmp 0x1400038b0
xor ebx, ebx
mov r8d, 0x400
lea rcx, [rsp + 0x2c0d0]
xor edx, edx
vzeroupper
call fcn.140009db0
mov r8d, 0x400
lea rcx, [rsp + 0x42880]
xor edx, edx
call fcn.140009db0
mov r8d, 0x400
lea rcx, [rsp + 0x42480]
xor edx, edx
call fcn.140009db0
mov r8d, 0x400
lea rcx, [rsp + 0x42080]
xor edx, edx
call fcn.140009db0
mov eax, r13d
and eax, 0xfffffffc
jle 0x1400039c5
mov eax, eax
xor ebx, ebx
nop word cs:[rax + rax]
movzx ecx, byte [rsp + rbx + 0x1b0]
inc dword [rsp + rcx*4 + 0x2c0d0]
movzx ecx, byte [rsp + rbx + 0x1b1]
inc dword [rsp + rcx*4 + 0x42880]
movzx ecx, byte [rsp + rbx + 0x1b2]
inc dword [rsp + rcx*4 + 0x42480]
movzx ecx, byte [rsp + rbx + 0x1b3]
add rbx, 4
inc dword [rsp + rcx*4 + 0x42080]
cmp rbx, rax
jb 0x140003980
cmp ebx, r13d
vmovapd ymm13, ymmword [0x1400151e0]
jae 0x140003a55
mov eax, ebx
movsxd rcx, r13d
mov r8d, r13d
sub r8d, ebx
mov rdx, rax
not rdx
add rdx, rcx
and r8d, 3
je 0x140003a09
movzx r9d, byte [rsp + rax + 0x1b0]
inc rax
inc dword [rsp + r9*4 + 0x2c0d0]
dec r8
jne 0x1400039f0
cmp rdx, 3
jb 0x140003a55
nop
movzx edx, byte [rsp + rax + 0x1b0]
inc dword [rsp + rdx*4 + 0x2c0d0]
movzx edx, byte [rsp + rax + 0x1b1]
inc dword [rsp + rdx*4 + 0x2c0d0]
movzx edx, byte [rsp + rax + 0x1b2]
inc dword [rsp + rdx*4 + 0x2c0d0]
movzx edx, byte [rsp + rax + 0x1b3]
add rax, 4
inc dword [rsp + rdx*4 + 0x2c0d0]
cmp rcx, rax
jne 0x140003a10
xor eax, eax
nop word [rax + rax]
vmovdqa xmm0, xmmword [rsp + rax + 0x42480]
vmovdqa xmm1, xmmword [rsp + rax + 0x42490]
vmovdqa xmm2, xmmword [rsp + rax + 0x424a0]
vmovdqa xmm3, xmmword [rsp + rax + 0x424b0]
vpaddd xmm1, xmm1, xmmword [rsp + rax + 0x42890]
vpaddd xmm0, xmm0, xmmword [rsp + rax + 0x42880]
vpaddd xmm3, xmm3, xmmword [rsp + rax + 0x428b0]
vpaddd xmm2, xmm2, xmmword [rsp + rax + 0x428a0]
vmovdqa xmm4, xmmword [rsp + rax + 0x424d0]
vpaddd xmm4, xmm4, xmmword [rsp + rax + 0x428d0]
vmovdqa xmm5, xmmword [rsp + rax + 0x424c0]
vpaddd xmm5, xmm5, xmmword [rsp + rax + 0x428c0]
vmovdqa xmm9, xmmword [rsp + rax + 0x424f0]
vpaddd xmm9, xmm9, xmmword [rsp + rax + 0x428f0]
vmovdqa xmm10, xmmword [rsp + rax + 0x424e0]
vpaddd xmm10, xmm10, xmmword [rsp + rax + 0x428e0]
vpaddd xmm0, xmm0, xmmword [rsp + rax + 0x42080]
vpaddd xmm1, xmm1, xmmword [rsp + rax + 0x42090]
vpaddd xmm2, xmm2, xmmword [rsp + rax + 0x420a0]
vpaddd xmm3, xmm3, xmmword [rsp + rax + 0x420b0]
vpaddd xmm5, xmm5, xmmword [rsp + rax + 0x420c0]
vpaddd xmm4, xmm4, xmmword [rsp + rax + 0x420d0]
vpaddd xmm10, xmm10, xmmword [rsp + rax + 0x420e0]
vpaddd xmm9, xmm9, xmmword [rsp + rax + 0x420f0]
vpaddd xmm1, xmm1, xmmword [rsp + rax + 0x2c0e0]
vpaddd xmm0, xmm0, xmmword [rsp + rax + 0x2c0d0]
vpaddd xmm3, xmm3, xmmword [rsp + rax + 0x2c100]
vpaddd xmm2, xmm2, xmmword [rsp + rax + 0x2c0f0]
vpaddd xmm4, xmm4, xmmword [rsp + rax + 0x2c120]
vpaddd xmm5, xmm5, xmmword [rsp + rax + 0x2c110]
vpaddd xmm9, xmm9, xmmword [rsp + rax + 0x2c140]
vpaddd xmm10, xmm10, xmmword [rsp + rax + 0x2c130]
vmovdqa xmmword [rsp + rax + 0x2c0d0], xmm0
vmovdqa xmmword [rsp + rax + 0x2c0e0], xmm1
vmovdqa xmmword [rsp + rax + 0x2c0f0], xmm2
vmovdqa xmmword [rsp + rax + 0x2c100], xmm3
vmovdqa xmmword [rsp + rax + 0x2c110], xmm5
vmovdqa xmmword [rsp + rax + 0x2c120], xmm4
vmovdqa xmmword [rsp + rax + 0x2c130], xmm10
vmovdqa xmmword [rsp + rax + 0x2c140], xmm9
sub rax, 0xffffffffffffff80
cmp rax, 0x400
jne 0x140003a60
mov eax, r13d
vcvtsi2sd xmm0, xmm14, rax
vmovsd xmm1, qword [0x1400151a0]
vdivsd xmm0, xmm1, xmm0
vmovddup xmm0, xmm0
vinsertf128 ymm1, ymm0, xmm0, 1
vxorpd xmm0, xmm0, xmm0
xor eax, eax
vpxor xmm2, xmm2, xmm2
vmovapd ymm14, ymmword [0x140015220]
vmovapd ymm15, ymmword [0x140015240]
vmovapd ymm7, ymmword [0x140015260]
nop dword [rax + rax]
vcvtdq2pd ymm3, xmmword [rsp + rax*4 + 0x2c0d0]
vcvtdq2pd ymm4, xmmword [rsp + rax*4 + 0x2c0e0]
vmulpd ymm5, ymm1, ymm3
vmulpd ymm3, ymm1, ymm4
vextractf128 xmm4, ymm5, 1
vpsrlq xmm4, xmm4, 0x34
vpsrlq xmm9, xmm5, 0x34
vpackusdw xmm4, xmm9, xmm4
vextractf128 xmm9, ymm3, 1
vpsrlq xmm9, xmm9, 0x34
vpsrlq xmm10, xmm3, 0x34
vpackusdw xmm9, xmm10, xmm9
vandpd ymm10, ymm13, ymm5
vandpd ymm11, ymm13, ymm3
vmovapd ymm6, ymmword [0x140015200]
vorpd ymm10, ymm10, ymm6
vorpd ymm11, ymm11, ymm6
vmovdqa xmm6, xmm8
vmovdqa xmm8, xmm12
vmulpd ymm12, ymm10, ymm14
vsubpd ymm12, ymm12, ymm15
vmulpd ymm10, ymm12, ymm10
vmulpd ymm12, ymm11, ymm14
vsubpd ymm12, ymm12, ymm15
vmulpd ymm11, ymm12, ymm11
vmovdqa xmm12, xmm8
vmovdqa xmm8, xmm6
vpand xmm4, xmm12, xmm4
vpaddd xmm4, xmm4, xmm6
vcvtdq2pd ymm4, xmm4
vaddpd ymm4, ymm4, ymm7
vsubpd ymm4, ymm10, ymm4
vpand xmm9, xmm9, xmm12
vpaddd xmm9, xmm9, xmm6
vcvtdq2pd ymm9, xmm9
vaddpd ymm9, ymm9, ymm7
vsubpd ymm9, ymm11, ymm9
vmulpd ymm4, ymm4, ymm5
vaddpd ymm0, ymm0, ymm4
vmulpd ymm3, ymm9, ymm3
vaddpd ymm2, ymm2, ymm3
add rax, 8
cmp rax, 0x100
jne 0x140003c20
vaddpd ymm0, ymm2, ymm0
vextractf128 xmm1, ymm0, 1
vaddpd xmm0, xmm0, xmm1
vpermilpd xmm1, xmm0, 1
vaddsd xmm0, xmm0, xmm1
vmovsd qword [rsp + r12*8 + 0x42060], xmm0
inc r12
cmp r12, 4
vmovaps ymm2, ymmword [0x140015180]
jne 0x1400032e0
vmovsd xmm0, qword [rsp + 0x42060]
vmovsd xmm1, qword [rsp + 0x42068]
xor eax, eax
vucomisd xmm1, xmm0
setb al
vminsd xmm0, xmm1, xmm0
vmovsd xmm1, qword [rsp + 0x42070]
vucomisd xmm0, xmm1
vminsd xmm0, xmm1, xmm0
mov ecx, 2
cmovbe ecx, eax
vucomisd xmm0, qword [rsp + 0x42078]
mov ebx, 3
cmovbe ebx, ecx
mov eax, 0xfff0001f
mov r9, qword [rsp + 0xe0]
and eax, dword [r9]
mov ecx, ebx
shl cl, 5
movzx ecx, cl
or ecx, eax
movsx eax, word [r14]
lea edx, [rax + rax]
mov r10d, eax
sar r10d, 0xf
xor r10d, edx
and r10d, 0xfff
shl r10d, 8
or r10d, ecx
mov dword [rsp + 0xec], r10d
mov dword [r9], r10d
cmp si, 1
jbe 0x140003de1
xor edx, edx
cmp si, 0x41
jae 0x140003e2e
mov dword [rsp + 0x40], ebx
mov r12b, 1
mov r9d, 1
mov ebp, eax
xor r10d, r10d
jmp 0x140004548
xor r8d, r8d
mov r12b, 1
movzx r11d, word [rsp + 0xa0]
cmp r11w, 2
jb 0x1400045d3
mov r10d, r8d
mov rcx, qword [rsp + 0x80]
add ecx, 0xfffffffe
mov qword [rsp + 0x80], rcx
mov r9d, 1
cmp r11w, 0x21
mov dword [rsp + 0x40], ebx
jae 0x140004197
mov rdx, r10
jmp 0x1400044a3
movsxd r11, ebp
mov r10, r11
and r10, 0xffffffffffffffc0
lea r9, [r10 + 1]
vmovd xmm0, eax
vpslldq xmm0, xmm0, 0xe
vinsertf128 ymm5, ymm0, xmm0, 1
vmovdqa xmm10, xmmword [0x140015280]
xor ecx, ecx
vmovdqa xmm11, xmm10
vmovdqa xmm7, xmm10
vmovdqa xmm6, xmm10
nop word cs:[rax + rax]
vmovdqa xmmword [rsp + 0x90], xmm11
vmovdqa xmmword [rsp + 0x70], xmm7
vmovdqa xmmword [rsp + 0x50], xmm6
vmovdqa xmmword [rsp + 0x30], xmm10
vextractf128 xmm5, ymm5, 1
vmovdqu xmm6, xmmword [r14 + rcx*2 + 2]
vmovdqu xmm7, xmmword [r14 + rcx*2 + 0x12]
vmovdqu xmm8, xmmword [r14 + rcx*2 + 0x22]
vmovdqu xmm9, xmmword [r14 + rcx*2 + 0x32]
vpalignr xmm5, xmm6, xmm5, 0xe
vpalignr xmm10, xmm7, xmm6, 0xe
vpalignr xmm7, xmm8, xmm7, 0xe
vpalignr xmm11, xmm9, xmm8, 0xe
vmovdqu xmm12, xmmword [r14 + rcx*2 + 0x42]
vpalignr xmm9, xmm12, xmm9, 0xe
vmovdqu xmm13, xmmword [r14 + rcx*2 + 0x52]
vpalignr xmm14, xmm13, xmm12, 0xe
vmovdqu xmm15, xmmword [r14 + rcx*2 + 0x62]
vpalignr xmm13, xmm15, xmm13, 0xe
vmovdqu xmm4, xmmword [r14 + rcx*2 + 0x72]
vpalignr xmm4, xmm4, xmm15, 0xe
vmovdqu xmm1, xmmword [r14 + rcx*2 + 0x12]
vpsubw xmm1, xmm1, xmm10
vpsubw xmm6, xmm6, xmm5
vmovdqu xmm5, xmmword [r14 + rcx*2 + 0x32]
vpsubw xmm2, xmm5, xmm11
vpsubw xmm7, xmm8, xmm7
vmovdqu xmm5, xmmword [r14 + rcx*2 + 0x52]
vpsubw xmm8, xmm5, xmm14
vpsubw xmm14, xmm12, xmm9
vmovdqu xmm5, xmmword [r14 + rcx*2 + 0x72]
vpsubw xmm9, xmm5, xmm4
vpsubw xmm5, xmm15, xmm13
vpaddw xmm11, xmm6, xmm6
vpaddw xmm13, xmm1, xmm1
vinsertf128 ymm15, ymm11, xmm13, 1
vpaddw xmm0, xmm7, xmm7
vmovdqu ymmword [rsp + 0x110], ymm0
vpaddw xmm12, xmm2, xmm2
vinsertf128 ymm0, ymm0, xmm12, 1
vpaddw xmm3, xmm14, xmm14
vmovdqu ymmword [rsp + 0xc0], ymm3
vpsraw xmm4, xmm6, 0xf
vpsraw xmm1, xmm1, 0xf
vinsertf128 ymm6, ymm4, xmm1, 1
vxorps ymm6, ymm15, ymm6
vmovups ymmword [rsp + 0x150], ymm6
vpsraw xmm15, xmm7, 0xf
vpsraw xmm2, xmm2, 0xf
vinsertf128 ymm7, ymm15, xmm2, 1
vxorps ymm0, ymm0, ymm7
vmovups ymmword [rsp + 0xf0], ymm0
vpaddw xmm7, xmm8, xmm8
vpsraw xmm14, xmm14, 0xf
vpsraw xmm0, xmm8, 0xf
vinsertf128 ymm8, ymm3, xmm7, 1
vinsertf128 ymm6, ymm14, xmm0, 1
vxorps ymm3, ymm8, ymm6
vmovups ymmword [rsp + 0x130], ymm3
vpaddw xmm8, xmm5, xmm5
vpsraw xmm6, xmm5, 0xf
vpaddw xmm5, xmm9, xmm9
vpsraw xmm3, xmm9, 0xf
vinsertf128 ymm9, ymm8, xmm5, 1
vinsertf128 ymm10, ymm6, xmm3, 1
vxorps ymm9, ymm9, ymm10
vmovdqa xmm10, xmmword [rsp + 0x30]
vpxor xmm1, xmm13, xmm1
vpxor xmm4, xmm11, xmm4
vmovdqa xmm11, xmmword [rsp + 0x90]
vmovdqa xmm13, xmmword [0x140015290]
vpcmpgtw xmm1, xmm1, xmm13
vpcmpgtw xmm4, xmm4, xmm13
vpacksswb xmm1, xmm4, xmm1
vpandn xmm10, xmm1, xmm10
vpxor xmm1, xmm12, xmm2
vpxor xmm2, xmm15, xmmword [rsp + 0x110]
vpcmpgtw xmm1, xmm1, xmm13
vpcmpgtw xmm2, xmm2, xmm13
vpacksswb xmm1, xmm2, xmm1
vpandn xmm11, xmm1, xmm11
vpxor xmm0, xmm7, xmm0
vmovdqa xmm7, xmmword [rsp + 0x70]
vpxor xmm1, xmm14, xmmword [rsp + 0xc0]
vmovaps ymm4, ymmword [0x140015180]
vpcmpgtw xmm0, xmm0, xmm13
vpcmpgtw xmm1, xmm1, xmm13
vpacksswb xmm0, xmm1, xmm0
vpandn xmm7, xmm0, xmm7
vpxor xmm0, xmm5, xmm3
vpxor xmm1, xmm8, xmm6
vmovdqa xmm6, xmmword [rsp + 0x50]
vpcmpgtw xmm0, xmm0, xmm13
vpcmpgtw xmm1, xmm1, xmm13
vpacksswb xmm0, xmm1, xmm0
vmovupd ymm5, ymmword [r14 + rcx*2 + 0x62]
vpandn xmm6, xmm0, xmm6
vmovups ymm0, ymmword [rsp + 0x150]
vmovups ymmword [rsp + rcx*2 + 0x1b0], ymm0
vmovups ymm2, ymmword [rsp + 0xf0]
vmovups ymmword [rsp + rcx*2 + 0x1d0], ymm2
vmovups ymm3, ymmword [rsp + 0x130]
vmovups ymmword [rsp + rcx*2 + 0x1f0], ymm3
vmovups ymmword [rsp + rcx*2 + 0x210], ymm9
vandps ymm0, ymm0, ymm4
vextractf128 xmm1, ymm0, 1
vpackuswb xmm0, xmm0, xmm1
vandps ymm1, ymm2, ymm4
vextractf128 xmm2, ymm1, 1
vpackuswb xmm1, xmm1, xmm2
vandps ymm2, ymm3, ymm4
vextractf128 xmm3, ymm2, 1
vpackuswb xmm2, xmm2, xmm3
vandps ymm3, ymm9, ymm4
vextractf128 xmm4, ymm3, 1
vpackuswb xmm3, xmm3, xmm4
vmovdqa xmmword [rsp + rcx + 0x2c0d0], xmm0
vmovdqa xmmword [rsp + rcx + 0x2c0e0], xmm1
vmovdqa xmmword [rsp + rcx + 0x2c0f0], xmm2
vmovdqa xmmword [rsp + rcx + 0x2c100], xmm3
add rcx, 0x40
cmp r10, rcx
jne 0x140003e70
vmovdqa xmm0, xmmword [0x140015280]
vpcmpeqb xmm1, xmm10, xmm0
vpcmpeqd xmm2, xmm2, xmm2
vpxor xmm1, xmm1, xmm2
vpcmpeqb xmm3, xmm11, xmm0
vpxor xmm3, xmm3, xmm2
vpor xmm1, xmm1, xmm3
vpcmpeqb xmm3, xmm7, xmm0
vpxor xmm3, xmm3, xmm2
vpcmpeqb xmm0, xmm6, xmm0
vpxor xmm0, xmm0, xmm2
vpor xmm0, xmm3, xmm0
vpor xmm0, xmm1, xmm0
vpmovmskb ecx, xmm0
test ecx, ecx
sete r12b
cmp r10, r11
jne 0x140004539
mov r8d, ebp
jmp 0x140003de7
dec r15
mov rcx, r15
and rcx, 0xffffffffffffffe0
lea rdx, [rcx + r10]
lea r9, [rcx + 1]
vmovd xmm0, eax
vpslldq xmm7, xmm0, 0xe
vmovd xmm0, r12d
vpunpcklbw xmm0, xmm0, xmm0
vpshuflw xmm0, xmm0, 0
lea r13, [r14 + 0x4b00]
lea rbp, [rsp + r10*2]
add rbp, 0x1e0
lea rax, [rsp + 0x2c0d0]
lea r11, [r10 + rax]
add r11, 0x18
xor r10d, r10d
vmovdqa xmm4, xmmword [0x140015290]
vpxor xmm5, xmm5, xmm5
vmovdqa xmm6, xmmword [0x1400152a0]
vmovdqa xmm3, xmm0
vmovdqa xmm2, xmm0
vmovdqa xmm1, xmm0
nop word cs:[rax + rax]
movzx eax, word [r13 - 0x48a8]
vmovd xmm8, eax
vpinsrw xmm8, xmm8, word [r13 - 0x4650], 1
vpinsrw xmm8, xmm8, word [r13 - 0x43f8], 2
vpinsrw xmm8, xmm8, word [r13 - 0x41a0], 3
vpinsrw xmm8, xmm8, word [r13 - 0x3f48], 4
vpinsrw xmm8, xmm8, word [r13 - 0x3cf0], 5
vpinsrw xmm9, xmm8, word [r13 - 0x3a98], 6
vpinsrw xmm8, xmm9, word [r13 - 0x3840], 7
movzx eax, word [r13 - 0x35e8]
vmovd xmm10, eax
vpinsrw xmm10, xmm10, word [r13 - 0x3390], 1
vpinsrw xmm10, xmm10, word [r13 - 0x3138], 2
vpinsrw xmm10, xmm10, word [r13 - 0x2ee0], 3
vpinsrw xmm10, xmm10, word [r13 - 0x2c88], 4
vpinsrw xmm10, xmm10, word [r13 - 0x2a30], 5
vpinsrw xmm10, xmm10, word [r13 - 0x27d8], 6
vpinsrw xmm11, xmm10, word [r13 - 0x2580], 7
movzx eax, word [r13 - 0x2328]
vmovd xmm12, eax
vpinsrw xmm12, xmm12, word [r13 - 0x20d0], 1
vpinsrw xmm12, xmm12, word [r13 - 0x1e78], 2
vpinsrw xmm12, xmm12, word [r13 - 0x1c20], 3
vpinsrw xmm12, xmm12, word [r13 - 0x19c8], 4
vpinsrw xmm12, xmm12, word [r13 - 0x1770], 5
vpinsrw xmm12, xmm12, word [r13 - 0x1518], 6
vpinsrw xmm13, xmm12, word [r13 - 0x12c0], 7
movzx eax, word [r13 - 0x1068]
vpalignr xmm7, xmm9, xmm7, 0xe
vmovd xmm9, eax
vpinsrw xmm9, xmm9, word [r13 - 0xe10], 1
vpinsrw xmm9, xmm9, word [r13 - 0xbb8], 2
vpinsrw xmm9, xmm9, word [r13 - 0x960], 3
vpinsrw xmm9, xmm9, word [r13 - 0x708], 4
vpinsrw xmm9, xmm9, word [r13 - 0x4b0], 5
movzx eax, word [r13]
vpinsrw xmm9, xmm9, word [r13 - 0x258], 6
vpalignr xmm10, xmm10, xmm8, 0xe
vpsubw xmm8, xmm8, xmm7
vpinsrw xmm7, xmm9, eax, 7
vpalignr xmm12, xmm12, xmm11, 0xe
vpsubw xmm10, xmm11, xmm10
vpalignr xmm9, xmm9, xmm13, 0xe
vpsubw xmm11, xmm13, xmm12
vpsubw xmm9, xmm7, xmm9
vpaddw xmm12, xmm8, xmm8
vpsraw xmm8, xmm8, 0xf
vpxor xmm8, xmm12, xmm8
vpaddw xmm12, xmm10, xmm10
vpsraw xmm10, xmm10, 0xf
vpxor xmm10, xmm12, xmm10
vpaddw xmm12, xmm11, xmm11
vpsraw xmm11, xmm11, 0xf
vpxor xmm11, xmm12, xmm11
vpaddw xmm12, xmm9, xmm9
vpsraw xmm9, xmm9, 0xf
vpxor xmm9, xmm12, xmm9
vpcmpgtw xmm12, xmm8, xmm4
vpacksswb xmm12, xmm12, xmm12
vpblendvb xmm0, xmm0, xmm5, xmm12
vpcmpgtw xmm12, xmm10, xmm4
vpacksswb xmm12, xmm12, xmm12
vpblendvb xmm3, xmm3, xmm5, xmm12
vpcmpgtw xmm12, xmm11, xmm4
vpacksswb xmm12, xmm12, xmm12
vpblendvb xmm2, xmm2, xmm5, xmm12
vpcmpgtw xmm12, xmm9, xmm4
vpacksswb xmm12, xmm12, xmm12
vpblendvb xmm1, xmm1, xmm5, xmm12
vmovdqu xmmword [rbp + r10*2 - 0x30], xmm8
vmovdqu xmmword [rbp + r10*2 - 0x20], xmm10
vmovdqu xmmword [rbp + r10*2 - 0x10], xmm11
vpshufb xmm8, xmm8, xmm6
vpshufb xmm11, xmm11, xmm6
vinsertf128 ymm8, ymm8, xmm11, 1
vmovdqu xmmword [rbp + r10*2], xmm9
vpshufb xmm10, xmm10, xmm6
vpshufb xmm9, xmm9, xmm6
vinsertf128 ymm9, ymm10, xmm9, 1
vunpcklpd ymm8, ymm8, ymm9
vmovupd ymmword [r11 + r10 - 0x18], ymm8
add r10, 0x20
add r13, 0x4b00
cmp rcx, r10
jne 0x140004210
vmovd xmm4, r12d
vpunpcklbw xmm4, xmm4, xmm4
vpshuflw xmm4, xmm4, 0
vpcmpeqb xmm5, xmm0, xmm4
vpblendvb xmm0, xmm0, xmm3, xmm5
vpcmpeqb xmm3, xmm0, xmm4
vpblendvb xmm0, xmm0, xmm2, xmm3
vpcmpeqb xmm2, xmm0, xmm4
vpblendvb xmm0, xmm0, xmm1, xmm2
vmovq r10, xmm0
vmovq r11, xmm4
xor ebx, ebx
cmp r10, r11
movzx r12d, r12b
cmovne r12d, ebx
cmp r15, rcx
je 0x140004514
lea rcx, [rsp + rdx]
add rcx, 0x2c0d0
lea r10, [rsp + rdx*2]
add r10, 0x1b0
mov r11, qword [rsp + 0x48]
sub r11, r9
imul r9, r9, 0x258
add r9, r14
xor ebx, ebx
xor r13d, r13d
movzx ebp, word [r9]
mov r15d, ebp
sub r15d, eax
movsx eax, r15w
add r15d, r15d
sar eax, 0xf
xor eax, r15d
movsx r15d, ax
cmp r15d, 0x100
movzx r12d, r12b
cmovge r12d, ebx
mov word [r10 + r13*2], r15w
mov byte [rcx + r13], al
inc r13
add r9, 0x258
mov eax, ebp
cmp r11, r13
jne 0x1400044d0
mov rax, qword [rsp + 0x80]
lea edx, [r8 + rax]
inc edx
mov r15, qword [rsp + 0x48]
movzx r11d, word [rsp + 0xa0]
mov ebx, dword [rsp + 0x40]
jmp 0x1400045d6
mov dword [rsp + 0x40], ebx
vextractf128 xmm0, ymm5, 1
vpextrw ebp, xmm0, 7
mov rcx, r10
not rcx
add rcx, rdi
lea r11, [rsp + r10]
add r11, 0x2c0d0
lea r10, [rsp + r10*2]
add r10, 0x1b0
lea r9, [r14 + r9*2]
xor ebx, ebx
nop dword [rax]
movzx r15d, word [r9 + rbx*2]
mov r13d, r15d
sub r13d, ebp
movsx ebp, r13w
add r13d, r13d
sar ebp, 0xf
xor ebp, r13d
movsx r13d, bp
cmp r13d, 0x100
movzx r12d, r12b
cmovge r12d, edx
mov word [r10 + rbx*2], r13w
mov byte [r11 + rbx], bpl
inc rbx
mov ebp, r15d
cmp rcx, rbx
jne 0x140004570
mov ecx, dword [rsp + 0x2c]
mov r8d, ecx
mov r15, qword [rsp + 0x48]
movzx r11d, word [rsp + 0xa0]
mov ebx, dword [rsp + 0x40]
cmp r11w, 2
jae case.default.0x1400045f3
mov edx, r8d
movzx eax, bl
lea rcx, [0x140015764]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov word [rsp + 0x40], si
mov dword [rsp + 0xc0], edx
jmp rax
cmp r11w, 2
jb 0x140005d23
mov ecx, edx
mov r8d, r8d
lea rax, [rdi - 1]
lea r9, [r14 + 0x26a]
mov qword [rsp + 0x110], rax
and rax, 0xfffffffffffffff0
mov qword [rsp + 0xf0], rax
lea r10, [rsp + rcx*2]
add r10, 0x1c0
lea r11, [r8 + r8]
lea rax, [rsp + 0x2c0d0]
add rax, rcx
add rax, 8
mov ebx, 1
xor r13d, r13d
vmovdqa xmm0, xmmword [0x140015290]
vpxor xmm1, xmm1, xmm1
vmovdqa xmm2, xmmword [0x1400152a0]
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x150], r11
jmp 0x1400046d6
mov eax, dword [rsp + 0xc0]
add eax, dword [rsp + 0x2c]
mov dword [rsp + 0xc0], eax
movzx esi, word [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x150]
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
inc rbx
add rcx, r8
add r9, 0x258
add r10, r11
add rax, r8
add r14, 0x258
cmp rbx, r15
je 0x140005d23
cmp si, 2
jb 0x1400046b3
mov r8d, 1
cmp si, 0x11
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x90], rbx
jae 0x140004710
mov r11, rcx
jmp 0x140004876
mov rdx, qword [rsp + 0xf0]
lea r11, [rcx + rdx]
lea r8, [rdx + 1]
vmovd xmm3, r12d
vpunpcklbw xmm3, xmm3, xmm3
vpshuflw xmm3, xmm3, 0
xor ecx, ecx
vmovdqa xmm4, xmm3
nop word cs:[rax + rax]
vmovdqu xmm5, xmmword [r9 + rcx*2 - 0x12]
vmovdqu xmm6, xmmword [r9 + rcx*2 - 2]
vmovdqu xmm7, xmmword [r9 + rcx*2 - 0x26a]
vmovdqu xmm8, xmmword [r9 + rcx*2 - 0x268]
vpmaxsw xmm9, xmm8, xmm5
vpminsw xmm10, xmm8, xmm5
vpaddw xmm5, xmm8, xmm5
vpcmpgtw xmm8, xmm7, xmm10
vpsubw xmm5, xmm5, xmm7
vpblendvb xmm5, xmm9, xmm5, xmm8
vmovdqu xmm8, xmmword [r9 + rcx*2 - 0x25a]
vpcmpgtw xmm7, xmm9, xmm7
vmovdqu xmm9, xmmword [r9 + rcx*2 - 0x258]
vpblendvb xmm5, xmm10, xmm5, xmm7
vpmaxsw xmm7, xmm9, xmm6
vpminsw xmm10, xmm9, xmm6
vpaddw xmm6, xmm9, xmm6
vpcmpgtw xmm9, xmm8, xmm10
vpsubw xmm6, xmm6, xmm8
vpblendvb xmm6, xmm7, xmm6, xmm9
vpcmpgtw xmm7, xmm7, xmm8
vpblendvb xmm6, xmm10, xmm6, xmm7
vmovdqu xmm7, xmmword [r9 + rcx*2 - 0x10]
vpsubw xmm5, xmm7, xmm5
vmovdqu xmm7, xmmword [r9 + rcx*2]
vpsubw xmm6, xmm7, xmm6
vpaddw xmm7, xmm5, xmm5
vpsraw xmm5, xmm5, 0xf
vpxor xmm5, xmm7, xmm5
vpaddw xmm7, xmm6, xmm6
vpsraw xmm6, xmm6, 0xf
vpxor xmm6, xmm7, xmm6
vpcmpgtw xmm7, xmm5, xmm0
vpacksswb xmm7, xmm7, xmm7
vpblendvb xmm3, xmm3, xmm1, xmm7
vpcmpgtw xmm7, xmm6, xmm0
vpacksswb xmm7, xmm7, xmm7
vpblendvb xmm4, xmm4, xmm1, xmm7
vmovdqu xmmword [r10 + rcx*2 - 0x10], xmm5
vmovdqu xmmword [r10 + rcx*2], xmm6
vpshufb xmm5, xmm5, xmm2
vpshufb xmm6, xmm6, xmm2
vpunpcklqdq xmm5, xmm5, xmm6
vmovdqu xmmword [rax + rcx - 8], xmm5
add rcx, 0x10
cmp rdx, rcx
jne 0x140004740
vmovd xmm5, r12d
vpunpcklbw xmm5, xmm5, xmm5
vpshuflw xmm5, xmm5, 0
vpcmpeqb xmm6, xmm3, xmm5
vpblendvb xmm3, xmm3, xmm4, xmm6
vmovq rax, xmm3
vmovq rcx, xmm5
cmp rax, rcx
movzx r12d, r12b
cmovne r12d, r13d
cmp qword [rsp + 0x110], rdx
je 0x140004670
lea rdx, [rsp + r11*2]
add rdx, 0x1b0
lea rbx, [rsp + r11]
add rbx, 0x2c0d0
mov rcx, rdi
sub rcx, r8
lea r8, [r14 + r8*2]
xor eax, eax
nop dword [rax + rax]
movzx ebp, word [r8 + rax*2 + 0x258]
movzx esi, word [r8 + rax*2 + 0x256]
movzx r10d, word [r8 + rax*2]
movzx r13d, word [r8 + rax*2 - 2]
cmp si, r10w
mov r11d, r10d
cmovg r11d, esi
mov r15d, esi
cmovg r15d, r10d
add r10d, esi
sub r10d, r13d
cmp r13w, r15w
cmovle r10d, r11d
cmp r13w, r11w
mov r13d, 0
cmovge r10d, r15d
sub ebp, r10d
movsx r10d, bp
add ebp, ebp
sar r10d, 0xf
xor r10d, ebp
movsx r11d, r10w
cmp r11d, 0x100
movzx r12d, r12b
cmovge r12d, r13d
mov word [rdx + rax*2], r11w
mov byte [rbx + rax], r10b
inc rax
cmp rcx, rax
jne 0x1400048a0
jmp 0x140004670
cmp r11w, 2
jb 0x140005d23
mov r9d, edx
mov eax, r8d
lea rcx, [rdi - 1]
lea r11, [r14 + 0x27a]
mov r8, rcx
and r8, 0xffffffffffffffe0
mov qword [rsp + 0x68], r8
lea r8, [rsp + r9*2]
add r8, 0x1d0
lea rdx, [rax + rax]
lea r10, [rsp + r9 + 0x2c0e0]
lea rbp, [rsp + r9 + 0x2c0d0]
mov qword [rsp + 0x30], r9
lea r9, [rsp + r9*2 + 0x1b0]
lea r13, [r14 + 0x25a]
mov qword [rsp + 0xf0], rcx
mov rbx, rcx
mov rcx, r9
and rbx, 0xfffffffffffffff8
mov qword [rsp + 0x130], rbx
mov ebx, 1
mov qword [rsp + 0x50], rbx
vmovdqa xmm0, xmmword [str.UUUUUUUUUUUUUUUU]
vxorpd xmm15, xmm15, xmm15
vmovdqa xmm7, xmmword [0x140015290]
vmovdqa xmm8, xmmword [0x1400152a0]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x110], rdx
jmp 0x1400050f7
cmp r11w, 2
jb 0x140005d23
mov ecx, edx
mov eax, r8d
lea rdx, [rdi - 1]
lea r9, [r14 + 0x27a]
mov r8, rdx
and r8, 0xffffffffffffffe0
mov qword [rsp + 0x88], r8
lea r11, [rsp + rcx*2]
add r11, 0x1d0
lea rbx, [rax + rax]
lea r13, [rsp + rcx + 0x2c0e0]
lea rbp, [rsp + rcx + 0x2c0d0]
lea r8, [r14 + 0x25a]
lea r10, [rsp + rcx*2 + 0x1b0]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x130], rdx
mov r10, rdx
and r10, 0xfffffffffffffff8
mov qword [rsp + 0x68], r10
add r14, 0x256
mov r10d, 1
vmovdqa xmm0, xmmword [0x1400152b0]
vmovdqa xmm8, xmmword [0x140015290]
vpxor xmm2, xmm2, xmm2
vmovdqa xmm9, xmmword [0x1400152a0]
vmovdqa xmm4, xmmword [0x140015290]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x110], rbx
jmp 0x140005888
mov r12d, ecx
vmovdqa xmm7, xmmword [0x140015290]
vmovdqa xmm8, xmmword [0x1400152a0]
nop dword [rax]
mov edx, dword [rsp + 0xc0]
add edx, dword [rsp + 0x2c]
mov ebx, edx
movzx esi, word [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r9, qword [rsp + 0x30]
mov rax, qword [rsp + 0x150]
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0xc0], ebx
mov rbx, qword [rsp + 0x50]
inc rbx
add r9, rax
mov qword [rsp + 0x30], r9
add r11, 0x258
add r8, rdx
add r10, rax
add rbp, rax
add rcx, rdx
add r13, 0x258
add r14, 0x258
mov qword [rsp + 0x50], rbx
cmp rbx, r15
je 0x140005d23
cmp si, 2
jb 0x140005130
mov r15d, 1
cmp si, 9
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x70], rcx
jae 0x140005150
mov rdx, qword [rsp + 0x30]
mov ecx, r12d
jmp 0x140005740
mov ebx, dword [rsp + 0xc0]
mov r9, qword [rsp + 0x30]
jmp 0x1400050b1
movzx ebx, r12b
cmp si, 0x21
jae 0x140005179
mov ecx, r12d
xor eax, eax
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x30]
jmp 0x1400055da
vmovd xmm5, r12d
vpshufb xmm5, xmm5, xmm15
xor r9d, r9d
vmovdqa xmm6, xmm5
mov rax, qword [rsp + 0x68]
nop
vpmovsxwd xmm7, qword [r11 + r9*2 - 0x12]
vpmovsxwd xmm8, qword [r11 + r9*2 - 0xa]
vpmovsxwd xmm9, qword [r11 + r9*2 - 0x22]
vpmovsxwd xmm10, qword [r11 + r9*2 - 0x1a]
vpmovsxwd xmm11, qword [r11 + r9*2 + 0xe]
vpmovsxwd xmm12, qword [r11 + r9*2 + 0x16]
vpmovsxwd xmm13, qword [r11 + r9*2 - 2]
vpmovsxwd xmm14, qword [r11 + r9*2 + 6]
vpmovsxwd xmm15, qword [r11 + r9*2 - 0x268]
vpaddd xmm7, xmm15, xmm7
vpmovsxwd xmm15, qword [r11 + r9*2 - 0x260]
vpaddd xmm8, xmm15, xmm8
vpmovsxwd xmm15, qword [r11 + r9*2 - 0x278]
vpmovsxwd xmm2, qword [r11 + r9*2 - 0x270]
vpaddd xmm9, xmm15, xmm9
vpaddd xmm2, xmm10, xmm2
vpmovsxwd xmm10, qword [r11 + r9*2 - 0x248]
vpaddd xmm10, xmm10, xmm11
vpmovsxwd xmm11, qword [r11 + r9*2 - 0x240]
vpaddd xmm11, xmm11, xmm12
vpmovsxwd xmm12, qword [r11 + r9*2 - 0x258]
vpmovsxwd xmm15, qword [r11 + r9*2 - 0x250]
vpaddd xmm3, xmm12, xmm13
vpaddd xmm15, xmm15, xmm14
vpmovsxwd xmm12, qword [r11 + r9*2 - 0x26a]
vpmovsxwd xmm13, qword [r11 + r9*2 - 0x262]
vpmovsxwd xmm14, qword [r11 + r9*2 - 0x27a]
vpaddd xmm7, xmm7, xmm7
vpsubd xmm4, xmm7, xmm12
vpmovsxwd xmm7, qword [r11 + r9*2 - 0x272]
vpaddd xmm8, xmm8, xmm8
vpsubd xmm1, xmm8, xmm13
vpmovsxwd xmm8, qword [r11 + r9*2 - 0x24a]
vpaddd xmm9, xmm9, xmm9
vpsubd xmm13, xmm9, xmm14
vpmovsxwd xmm9, qword [r11 + r9*2 - 0x242]
vpaddd xmm2, xmm2, xmm2
vpsubd xmm14, xmm2, xmm7
vpmovsxwd xmm2, qword [r11 + r9*2 - 0x25a]
vpaddd xmm7, xmm10, xmm10
vpsubd xmm12, xmm7, xmm8
vpmovsxwd xmm7, qword [r11 + r9*2 - 0x252]
vpaddd xmm8, xmm11, xmm11
vpsubd xmm11, xmm8, xmm9
vpaddd xmm3, xmm3, xmm3
vpsubd xmm9, xmm3, xmm2
vpaddd xmm2, xmm15, xmm15
vpxor xmm15, xmm15, xmm15
vpsubd xmm7, xmm2, xmm7
vpshufd xmm2, xmm4, 0xf5
vpmuldq xmm2, xmm2, xmm0
vpmuldq xmm3, xmm4, xmm0
vpshufd xmm3, xmm3, 0xf5
vpblendw xmm2, xmm3, xmm2, 0xcc
vpsubd xmm2, xmm2, xmm4
vpsrld xmm3, xmm2, 0x1f
vpsrld xmm2, xmm2, 1
vpaddd xmm8, xmm2, xmm3
vpshufd xmm2, xmm1, 0xf5
vpmuldq xmm2, xmm2, xmm0
vpmuldq xmm3, xmm1, xmm0
vpshufd xmm3, xmm3, 0xf5
vpblendw xmm2, xmm3, xmm2, 0xcc
vpsubd xmm1, xmm2, xmm1
vpsrld xmm2, xmm1, 0x1f
vpsrld xmm1, xmm1, 1
vpaddd xmm10, xmm1, xmm2
vpshufd xmm1, xmm13, 0xf5
vpmuldq xmm1, xmm1, xmm0
vpmuldq xmm2, xmm13, xmm0
vpshufd xmm2, xmm2, 0xf5
vpblendw xmm1, xmm2, xmm1, 0xcc
vpsubd xmm1, xmm1, xmm13
vpsrld xmm2, xmm1, 0x1f
vpsrld xmm1, xmm1, 1
vpaddd xmm13, xmm1, xmm2
vpshufd xmm1, xmm14, 0xf5
vpmuldq xmm1, xmm1, xmm0
vpmuldq xmm2, xmm14, xmm0
vpshufd xmm2, xmm2, 0xf5
vpblendw xmm1, xmm2, xmm1, 0xcc
vpsubd xmm1, xmm1, xmm14
vpsrld xmm2, xmm1, 0x1f
vpsrld xmm1, xmm1, 1
vpaddd xmm14, xmm1, xmm2
vpshufd xmm1, xmm12, 0xf5
vpmuldq xmm1, xmm1, xmm0
vpmuldq xmm2, xmm12, xmm0
vpshufd xmm2, xmm2, 0xf5
vpblendw xmm1, xmm2, xmm1, 0xcc
vpsubd xmm1, xmm1, xmm12
vpsrld xmm2, xmm1, 0x1f
vpsrld xmm1, xmm1, 1
vpaddd xmm12, xmm1, xmm2
vpshufd xmm1, xmm11, 0xf5
vpmuldq xmm1, xmm1, xmm0
vpmuldq xmm2, xmm11, xmm0
vpshufd xmm2, xmm2, 0xf5
vpblendw xmm1, xmm2, xmm1, 0xcc
vpsubd xmm1, xmm1, xmm11
vpsrld xmm2, xmm1, 0x1f
vpsrld xmm1, xmm1, 1
vpaddd xmm1, xmm1, xmm2
vpshufd xmm2, xmm9, 0xf5
vpmuldq xmm2, xmm2, xmm0
vpmuldq xmm3, xmm9, xmm0
vpshufd xmm3, xmm3, 0xf5
vpblendw xmm2, xmm3, xmm2, 0xcc
vpsubd xmm2, xmm2, xmm9
vpsrld xmm3, xmm2, 0x1f
vpsrld xmm2, xmm2, 1
vpaddd xmm2, xmm2, xmm3
vpshufd xmm3, xmm7, 0xf5
vpmuldq xmm3, xmm3, xmm0
vpmuldq xmm4, xmm7, xmm0
vpshufd xmm4, xmm4, 0xf5
vpblendw xmm3, xmm4, xmm3, 0xcc
vpsubd xmm3, xmm3, xmm7
vpsrld xmm4, xmm3, 0x1f
vpsrld xmm3, xmm3, 1
vpaddd xmm3, xmm3, xmm4
vpblendw xmm4, xmm14, xmm15, 0xaa
vmovaps ymm14, ymmword [0x140015180]
vpblendw xmm7, xmm13, xmm15, 0xaa
vpackusdw xmm4, xmm7, xmm4
vpblendw xmm7, xmm10, xmm15, 0xaa
vpblendw xmm8, xmm8, xmm15, 0xaa
vpackusdw xmm7, xmm8, xmm7
vpblendw xmm3, xmm3, xmm15, 0xaa
vpblendw xmm2, xmm2, xmm15, 0xaa
vpackusdw xmm2, xmm2, xmm3
vpblendw xmm1, xmm1, xmm15, 0xaa
vpblendw xmm3, xmm12, xmm15, 0xaa
vpackusdw xmm1, xmm3, xmm1
vpaddw xmm3, xmm7, xmmword [r11 + r9*2 - 0x10]
vpaddw xmm4, xmm4, xmmword [r11 + r9*2 - 0x20]
vpaddw xmm1, xmm1, xmmword [r11 + r9*2 + 0x10]
vpaddw xmm2, xmm2, xmmword [r11 + r9*2]
vpaddw xmm7, xmm4, xmm4
vpaddw xmm8, xmm3, xmm3
vinsertf128 ymm9, ymm7, xmm8, 1
vpaddw xmm10, xmm2, xmm2
vpaddw xmm11, xmm1, xmm1
vinsertf128 ymm12, ymm10, xmm11, 1
vpsraw xmm4, xmm4, 0xf
vpsraw xmm3, xmm3, 0xf
vinsertf128 ymm13, ymm4, xmm3, 1
vxorps ymm9, ymm9, ymm13
vpsraw xmm2, xmm2, 0xf
vpsraw xmm1, xmm1, 0xf
vinsertf128 ymm13, ymm2, xmm1, 1
vxorps ymm12, ymm12, ymm13
vmovdqa xmm13, xmmword [0x140015290]
vpxor xmm3, xmm8, xmm3
vpxor xmm4, xmm7, xmm4
vpcmpgtw xmm3, xmm3, xmm13
vpcmpgtw xmm4, xmm4, xmm13
vpacksswb xmm3, xmm4, xmm3
vpandn xmm5, xmm3, xmm5
vpxor xmm1, xmm11, xmm1
vpxor xmm2, xmm10, xmm2
vpcmpgtw xmm1, xmm1, xmm13
vpcmpgtw xmm2, xmm2, xmm13
vpacksswb xmm1, xmm2, xmm1
vpandn xmm6, xmm1, xmm6
vmovups ymmword [r8 + r9*2 - 0x20], ymm9
vmovups ymmword [r8 + r9*2], ymm12
vandps ymm1, ymm9, ymm14
vextractf128 xmm2, ymm1, 1
vpackuswb xmm1, xmm1, xmm2
vandps ymm2, ymm12, ymm14
vextractf128 xmm3, ymm2, 1
vpackuswb xmm2, xmm2, xmm3
vmovdqu xmmword [r10 + r9 - 0x10], xmm1
vmovdqu xmmword [r10 + r9], xmm2
add r9, 0x20
cmp rax, r9
jne 0x140005190
vmovd xmm1, r12d
vpshufb xmm1, xmm1, xmm15
vpcmpeqb xmm2, xmm5, xmm1
vpblendvb xmm2, xmm5, xmm6, xmm2
vpsubb xmm1, xmm2, xmm1
vptest xmm1, xmm1
mov ecx, 0
cmove ecx, ebx
mov r8, qword [rsp + 0xf0]
cmp r8, rax
mov rdx, qword [rsp + 0x30]
je 0x14000505a
test r8b, 0x18
vmovdqa xmm7, xmmword [0x140015290]
vmovdqa xmm8, xmmword [0x1400152a0]
je 0x140005729
mov rbp, qword [rsp + 0x90]
mov r9, qword [rsp + 0x130]
mov qword [rsp + 0x30], rdx
add rdx, r9
lea r15, [r9 + 1]
vmovd xmm1, ecx
vpunpcklbw xmm1, xmm1, xmm1
vpshuflw xmm5, xmm1, 0
mov rcx, qword [rsp + 0x70]
nop dword [rax + rax]
vpmovsxwd xmm1, qword [r13 + rax*2 - 2]
vpmovsxwd xmm2, qword [r13 + rax*2 + 6]
vpmovsxwd xmm3, qword [r13 + rax*2 - 0x258]
vpaddd xmm1, xmm3, xmm1
vpmovsxwd xmm3, qword [r13 + rax*2 - 0x250]
vpmovsxwd xmm4, qword [r13 + rax*2 - 0x25a]
vpmovsxwd xmm6, qword [r13 + rax*2 - 0x252]
vpaddd xmm2, xmm3, xmm2
vpaddd xmm1, xmm1, xmm1
vpsubd xmm1, xmm1, xmm4
vpaddd xmm2, xmm2, xmm2
vpsubd xmm2, xmm2, xmm6
vpshufd xmm3, xmm1, 0xf5
vpmuldq xmm3, xmm3, xmm0
vpmuldq xmm4, xmm1, xmm0
vpshufd xmm4, xmm4, 0xf5
vpblendw xmm3, xmm4, xmm3, 0xcc
vpsubd xmm1, xmm3, xmm1
vpsrld xmm3, xmm1, 0x1f
vpsrld xmm1, xmm1, 1
vpaddd xmm1, xmm1, xmm3
vpshufd xmm3, xmm2, 0xf5
vpmuldq xmm3, xmm3, xmm0
vpmuldq xmm4, xmm2, xmm0
vpshufd xmm4, xmm4, 0xf5
vpblendw xmm3, xmm4, xmm3, 0xcc
vpsubd xmm2, xmm3, xmm2
vpsrld xmm3, xmm2, 0x1f
vpsrld xmm2, xmm2, 1
vpaddd xmm2, xmm2, xmm3
vpblendw xmm2, xmm2, xmm15, 0xaa
vpblendw xmm1, xmm1, xmm15, 0xaa
vpackusdw xmm1, xmm1, xmm2
vpaddw xmm1, xmm1, xmmword [r13 + rax*2]
vpaddw xmm2, xmm1, xmm1
vpsraw xmm1, xmm1, 0xf
vpxor xmm1, xmm2, xmm1
vpcmpgtw xmm2, xmm1, xmm7
vpacksswb xmm2, xmm2, xmm2
vpblendvb xmm5, xmm5, xmm15, xmm2
vmovdqu xmmword [rcx + rax*2], xmm1
vpshufb xmm1, xmm1, xmm8
vmovq qword [rbp + rax], xmm1
add rax, 8
cmp r9, rax
jne 0x140005600
vmovd xmm1, r12d
vpunpcklbw xmm1, xmm1, xmm1
vpshuflw xmm1, xmm1, 0
vmovq rax, xmm5
vmovq rcx, xmm1
cmp rax, rcx
mov eax, 0
cmovne ebx, eax
mov ecx, ebx
mov r12d, ebx
cmp r8, r9
je 0x140005070
jmp 0x140005740
mov r15, rax
or r15, 1
add rdx, rax
nop word cs:[rax + rax]
lea r9, [rsp + rdx*2]
add r9, 0x1b0
lea r8, [rsp + rdx]
add r8, 0x2c0d0
mov rax, rdi
sub rax, r15
lea rbp, [r14 + r15*2]
xor ebx, ebx
jmp 0x140005788
mov word [r9 + rbx*2], r15w
mov byte [r8 + rbx], r15b
inc rbx
mov ecx, r12d
cmp rax, rbx
je 0x140005070
movsx esi, word [rbp + rbx*2 + 0x256]
movsx r15d, word [rbp + rbx*2]
add r15d, esi
movsx esi, word [rbp + rbx*2 - 2]
add r15d, r15d
sub r15d, esi
movsxd rsi, r15d
imul r15, rsi, 0x55555555
shr r15, 0x20
sub r15d, esi
mov esi, r15d
shr esi, 0x1f
shr r15d, 1
add r15d, esi
add r15w, word [rbp + rbx*2 + 0x258]
movsx r15d, r15w
lea esi, [r15 + r15]
sar r15d, 0xf
xor r15d, esi
movsx esi, r15w
xor r12d, r12d
cmp esi, 0x100
jge 0x140005770
movzx r12d, cl
jmp 0x140005770
mov r12d, esi
vmovdqa xmm8, xmmword [0x140015290]
vmovdqa xmm9, xmmword [0x1400152a0]
nop word cs:[rax + rax]
mov eax, dword [rsp + 0xc0]
add eax, dword [rsp + 0x2c]
mov dword [rsp + 0xc0], eax
movzx esi, word [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x50]
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0xa0]
inc r10
add rcx, rax
add r9, 0x258
add r11, rbx
add r13, rax
add rbp, rax
add r8, 0x258
add qword [rsp + 0x30], rbx
add r14, 0x258
cmp r10, r15
je 0x140005d23
cmp si, 2
jb 0x140005856
mov r15d, 1
cmp si, 9
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x90], r10
mov qword [rsp + 0xa0], r11
jae 0x1400058c0
mov esi, r12d
xor r11d, r11d
jmp 0x140005c94
movzx r15d, r12b
cmp si, 0x21
jae 0x1400058e1
mov ebx, r12d
xor eax, eax
mov r10, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x30]
jmp 0x140005b90
vmovd xmm5, r12d
vpshufb xmm5, xmm5, xmm2
xor edx, edx
vmovdqa xmm6, xmm5
mov rax, qword [rsp + 0x88]
nop dword [rax]
vpmovsxwd xmm7, qword [r9 + rdx*2 - 0xa]
vpmovsxwd xmm8, qword [r9 + rdx*2 - 0x12]
vpmovsxwd xmm9, qword [r9 + rdx*2 - 0x1a]
vpmovsxwd xmm10, qword [r9 + rdx*2 - 0x22]
vpmovsxwd xmm11, qword [r9 + rdx*2 + 0x16]
vpmovsxwd xmm12, qword [r9 + rdx*2 + 0xe]
vpmovsxwd xmm13, qword [r9 + rdx*2 + 6]
vpmovsxwd xmm14, qword [r9 + rdx*2 - 2]
vpmovsxwd xmm15, qword [r9 + rdx*2 - 0x260]
vpaddd xmm7, xmm15, xmm7
vpmovsxwd xmm15, qword [r9 + rdx*2 - 0x268]
vpaddd xmm8, xmm15, xmm8
vpmovsxwd xmm15, qword [r9 + rdx*2 - 0x270]
vpmovsxwd xmm1, qword [r9 + rdx*2 - 0x278]
vpaddd xmm9, xmm15, xmm9
vpaddd xmm1, xmm10, xmm1
vpmovsxwd xmm10, qword [r9 + rdx*2 - 0x240]
vpaddd xmm10, xmm10, xmm11
vpmovsxwd xmm11, qword [r9 + rdx*2 - 0x248]
vpaddd xmm11, xmm11, xmm12
vpmovsxwd xmm12, qword [r9 + rdx*2 - 0x250]
vpmovsxwd xmm15, qword [r9 + rdx*2 - 0x258]
vpaddd xmm12, xmm12, xmm13
vpaddd xmm13, xmm15, xmm14
vpslld xmm7, xmm7, 0xf
vpslld xmm8, xmm8, 0xf
vpslld xmm9, xmm9, 0xf
vpslld xmm1, xmm1, 0xf
vpslld xmm10, xmm10, 0xf
vpslld xmm11, xmm11, 0xf
vpslld xmm12, xmm12, 0xf
vpslld xmm13, xmm13, 0xf
vpaddd xmm1, xmm1, xmm0
vpaddd xmm9, xmm9, xmm0
vpaddd xmm8, xmm8, xmm0
vpaddd xmm7, xmm7, xmm0
vpaddd xmm13, xmm13, xmm0
vpaddd xmm12, xmm12, xmm0
vpaddd xmm11, xmm11, xmm0
vpaddd xmm10, xmm10, xmm0
vpsrld xmm7, xmm7, 0x10
vpsrld xmm8, xmm8, 0x10
vpackusdw xmm7, xmm8, xmm7
vpsrld xmm8, xmm9, 0x10
vpsrld xmm1, xmm1, 0x10
vpackusdw xmm1, xmm1, xmm8
vpsrld xmm8, xmm10, 0x10
vpsrld xmm9, xmm11, 0x10
vpackusdw xmm8, xmm9, xmm8
vpsrld xmm9, xmm12, 0x10
vpsrld xmm10, xmm13, 0x10
vpackusdw xmm9, xmm10, xmm9
vmovdqu xmm10, xmmword [r9 + rdx*2 - 0x20]
vpsubw xmm1, xmm10, xmm1
vmovdqu xmm10, xmmword [r9 + rdx*2 - 0x10]
vpsubw xmm7, xmm10, xmm7
vmovdqu xmm10, xmmword [r9 + rdx*2]
vpsubw xmm9, xmm10, xmm9
vmovdqu xmm10, xmmword [r9 + rdx*2 + 0x10]
vpsubw xmm8, xmm10, xmm8
vpaddw xmm10, xmm1, xmm1
vpaddw xmm11, xmm7, xmm7
vinsertf128 ymm12, ymm10, xmm11, 1
vpaddw xmm13, xmm9, xmm9
vpaddw xmm14, xmm8, xmm8
vinsertf128 ymm15, ymm13, xmm14, 1
vpsraw xmm1, xmm1, 0xf
vpsraw xmm7, xmm7, 0xf
vinsertf128 ymm3, ymm1, xmm7, 1
vxorps ymm3, ymm12, ymm3
vpsraw xmm9, xmm9, 0xf
vpsraw xmm8, xmm8, 0xf
vinsertf128 ymm12, ymm9, xmm8, 1
vxorps ymm12, ymm15, ymm12
vpxor xmm7, xmm11, xmm7
vpxor xmm1, xmm10, xmm1
vpcmpgtw xmm7, xmm7, xmm4
vpcmpgtw xmm1, xmm1, xmm4
vpacksswb xmm1, xmm1, xmm7
vpandn xmm5, xmm1, xmm5
vpxor xmm1, xmm14, xmm8
vmovaps ymm8, ymmword [0x140015180]
vpxor xmm7, xmm13, xmm9
vpcmpgtw xmm1, xmm1, xmm4
vpcmpgtw xmm7, xmm7, xmm4
vpacksswb xmm1, xmm7, xmm1
vpandn xmm6, xmm1, xmm6
vmovups ymmword [r11 + rdx*2 - 0x20], ymm3
vmovups ymmword [r11 + rdx*2], ymm12
vandps ymm1, ymm8, ymm3
vextractf128 xmm3, ymm1, 1
vpackuswb xmm1, xmm1, xmm3
vandps ymm3, ymm12, ymm8
vextractf128 xmm7, ymm3, 1
vpackuswb xmm3, xmm3, xmm7
vmovdqu xmmword [r13 + rdx - 0x10], xmm1
vmovdqu xmmword [r13 + rdx], xmm3
add rdx, 0x20
cmp rax, rdx
jne 0x140005900
vmovd xmm1, r12d
vpshufb xmm1, xmm1, xmm2
vpcmpeqb xmm3, xmm5, xmm1
vpblendvb xmm3, xmm5, xmm6, xmm3
vpsubb xmm1, xmm3, xmm1
vptest xmm1, xmm1
mov esi, 0
cmove esi, r15d
mov r10, qword [rsp + 0x130]
cmp r10, rax
je 0x1400057ee
test r10b, 0x18
vmovdqa xmm8, xmmword [0x140015290]
vmovdqa xmm9, xmmword [0x1400152a0]
je 0x140005d14
mov rbp, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x30]
mov ebx, esi
mov rsi, qword [rsp + 0x68]
add rcx, rsi
mov qword [rsp + 0xf0], rcx
lea rcx, [rsi + 1]
vmovd xmm1, ebx
vpunpcklbw xmm1, xmm1, xmm1
vpshuflw xmm5, xmm1, 0
nop word cs:[rax + rax]
vmovdqu xmm1, xmmword [r8 + rax*2]
vpmovsxwd xmm3, qword [r8 + rax*2 + 6]
vpmovsxwd xmm6, qword [r8 + rax*2 - 2]
vpmovsxwd xmm7, qword [r8 + rax*2 - 0x250]
vpaddd xmm3, xmm7, xmm3
vpmovsxwd xmm7, qword [r8 + rax*2 - 0x258]
vpaddd xmm6, xmm7, xmm6
vpslld xmm3, xmm3, 0xf
vpslld xmm6, xmm6, 0xf
vpaddd xmm6, xmm6, xmm0
vpaddd xmm3, xmm3, xmm0
vpsrld xmm3, xmm3, 0x10
vpsrld xmm6, xmm6, 0x10
vpackusdw xmm3, xmm6, xmm3
vpsubw xmm1, xmm1, xmm3
vpaddw xmm3, xmm1, xmm1
vpsraw xmm1, xmm1, 0xf
vpxor xmm1, xmm3, xmm1
vpcmpgtw xmm3, xmm1, xmm8
vpacksswb xmm3, xmm3, xmm3
vpblendvb xmm5, xmm5, xmm2, xmm3
vmovdqu xmmword [rdx + rax*2], xmm1
vpshufb xmm1, xmm1, xmm9
vmovq qword [rbp + rax], xmm1
add rax, 8
cmp rsi, rax
jne 0x140005bc0
vmovd xmm1, r12d
vpunpcklbw xmm1, xmm1, xmm1
vpshuflw xmm1, xmm1, 0
vmovq rax, xmm5
vmovq rdx, xmm1
cmp rax, rdx
mov eax, 0
cmovne r15d, eax
mov eax, r15d
mov r12d, r15d
cmp r10, rsi
mov esi, eax
mov r11d, 0
mov r15, rcx
mov rcx, qword [rsp + 0xf0]
je 0x140005810
lea rbx, [rsp + rcx*2]
add rbx, 0x1b0
lea rdx, [rsp + rcx]
add rdx, 0x2c0d0
mov rax, rdi
sub rax, r15
lea r10, [r14 + r15*2]
xor ebp, ebp
mov r12d, esi
nop dword [rax]
movzx esi, word [r10 + rbp*2 + 2]
movsx r15d, word [r10 + rbp*2]
movsx ecx, word [r10 + rbp*2 - 0x256]
add ecx, r15d
shl ecx, 0xf
add ecx, 0x8000
shr ecx, 0x10
sub esi, ecx
movsx ecx, si
add esi, esi
sar ecx, 0xf
xor ecx, esi
movsx esi, cx
cmp esi, 0x100
movzx r12d, r12b
cmovge r12d, r11d
mov word [rbx + rbp*2], si
mov byte [rdx + rbp], cl
inc rbp
cmp rax, rbp
jne 0x140005cc0
jmp 0x140005810
mov r15, rax
or r15, 1
add rcx, rax
jmp 0x1400058b7
mov eax, dword [rsp + 0xec]
and eax, 0xffe7ffff
test r12b, 1
jne 0x140005d6e
mov r8, qword [rsp + 0xe0]
mov dword [r8], eax
mov rax, qword [rsp + 0x42da8]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x1b0]
mov edx, dword [rsp + 0xc0]
mov r9, qword [rsp + 0x42da0]
vzeroupper
call fcn.140002710
jmp 0x140005daa
or eax, 0x80000
mov r8, qword [rsp + 0xe0]
mov dword [r8], eax
mov rax, qword [rsp + 0x42da8]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x2c0d0]
mov edx, dword [rsp + 0xc0]
mov r9, qword [rsp + 0x42da0]
vzeroupper
call fcn.140002010
add eax, dword [0x14001929c]
mov dword [0x14001929c], eax
mov rcx, qword [rsp + 0x42c88]
xor rcx, rsp
call fcn.140012980
vmovaps xmm6, xmmword [rsp + 0x42c90]
vmovaps xmm7, xmmword [rsp + 0x42ca0]
vmovaps xmm8, xmmword [rsp + 0x42cb0]
vmovaps xmm9, xmmword [rsp + 0x42cc0]
vmovaps xmm10, xmmword [rsp + 0x42cd0]
vmovaps xmm11, xmmword [rsp + 0x42ce0]
vmovaps xmm12, xmmword [rsp + 0x42cf0]
vmovaps xmm13, xmmword [rsp + 0x42d00]
vmovaps xmm14, xmmword [rsp + 0x42d10]
vmovaps xmm15, xmmword [rsp + 0x42d20]
add rsp, 0x42d38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret