Function at 0x3985d88b0
Capabilities:
Encode data using xor

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a0
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x150], xmm9
movaps xmmword [rsp + 0x160], xmm10
movaps xmmword [rsp + 0x170], xmm11
movaps xmmword [rsp + 0x180], xmm12
movaps xmmword [rsp + 0x190], xmm13
mov eax, edx
mov ebp, edx
mov rdi, rcx
and eax, 0x8000000f
mov rsi, r8
mov rbx, r9
cmp eax, 1
sete al
movzx eax, al
sub ebp, eax
xor eax, eax
test bpl, 0xf
je 0x3985d8988
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x140]
movaps xmm9, xmmword [rsp + 0x150]
movaps xmm10, xmmword [rsp + 0x160]
movaps xmm11, xmmword [rsp + 0x170]
movaps xmm12, xmmword [rsp + 0x180]
movaps xmm13, xmmword [rsp + 0x190]
add rsp, 0x1a0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rcx, r8
call sub.msvcrt.dll_strlen
mov r13, rax
mov r14, rax
shr r13, 1
lea rcx, [r13 + 1]
call sub.msvcrt.dll_malloc
test r13, r13
mov r12, rax
je 0x3985d9510
lea rax, [r13 - 1]
cmp rax, 0xe
jbe 0x3985da0d2
movdqa xmm8, xmmword [0x398691440]
mov rax, r14
pxor xmm9, xmm9
xor edx, edx
movdqa xmm0, xmm9
shr rax, 5
movdqa xmm6, xmmword [0x398691410]
pcmpgtb xmm0, xmm8
mov rcx, rax
movdqa xmm2, xmmword [0x398691420]
movdqa xmm10, xmm8
movdqa xmm5, xmmword [str._t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t________________________________]
shl rcx, 4
movdqa xmm4, xmmword [0x398691450]
movdqa xmm1, xmmword [0x398691460]
punpcklbw xmm10, xmm0
punpckhbw xmm8, xmm0
movdqa xmm3, xmmword [0x398691400]
nop dword [rax + rax]
movdqu xmm7, xmmword [rsi + rdx*2]
movdqa xmm0, xmm6
movdqa xmm12, xmm6
movdqa xmm13, xmm9
movdqu xmm11, xmmword [rsi + rdx*2 + 0x10]
pand xmm0, xmm7
psrlw xmm7, 8
pand xmm12, xmm11
psrlw xmm11, 8
packuswb xmm0, xmm12
packuswb xmm7, xmm11
movdqa xmm11, xmm9
pcmpgtb xmm11, xmm0
pand xmm11, xmm2
paddb xmm0, xmm11
pand xmm0, xmm2
psubb xmm0, xmm11
movdqa xmm11, xmm9
pcmpgtb xmm11, xmm7
paddb xmm0, xmm5
pcmpgtb xmm13, xmm0
movdqa xmm12, xmm0
pand xmm11, xmm2
paddb xmm7, xmm11
pand xmm7, xmm2
psubb xmm7, xmm11
movdqa xmm11, xmm0
punpckhbw xmm12, xmm13
punpcklbw xmm11, xmm13
pmullw xmm12, xmm8
paddb xmm7, xmm5
movdqa xmm13, xmm9
pmullw xmm11, xmm10
pcmpgtb xmm13, xmm7
psrlw xmm12, 8
psrlw xmm11, 8
packuswb xmm11, xmm12
movdqa xmm12, xmm0
psraw xmm11, 2
psraw xmm12, 7
pand xmm11, xmm4
pxor xmm11, xmm1
psubb xmm11, xmm1
pand xmm12, xmm3
paddb xmm12, xmm11
movdqa xmm11, xmm12
paddb xmm11, xmm12
paddb xmm11, xmm12
paddb xmm11, xmm11
paddb xmm11, xmm11
paddb xmm11, xmm11
paddb xmm11, xmm12
movdqa xmm12, xmm7
psubb xmm0, xmm11
movdqa xmm11, xmm7
punpckhbw xmm12, xmm13
punpcklbw xmm11, xmm13
pmullw xmm12, xmm8
paddb xmm0, xmm0
pmullw xmm11, xmm10
paddb xmm0, xmm0
paddb xmm0, xmm0
psrlw xmm12, 8
paddb xmm0, xmm0
psrlw xmm11, 8
packuswb xmm11, xmm12
movdqa xmm12, xmm7
psraw xmm11, 2
psraw xmm12, 7
pand xmm11, xmm4
pxor xmm11, xmm1
psubb xmm11, xmm1
pand xmm12, xmm3
paddb xmm12, xmm11
movdqa xmm11, xmm12
paddb xmm11, xmm12
paddb xmm11, xmm12
paddb xmm11, xmm11
paddb xmm11, xmm11
paddb xmm11, xmm11
paddb xmm11, xmm12
psubb xmm7, xmm11
paddb xmm0, xmm7
movups xmmword [r12 + rdx], xmm0
add rdx, 0x10
cmp rcx, rdx
jne 0x3985d8a28
shl rax, 5
cmp r13, rcx
je 0x3985d9510
movzx edx, byte [rsi + rax]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 1]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 1]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 2]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 3]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 2]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 1], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 4]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 5]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 3]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 2], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 6]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 7]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 4]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 3], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 8]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 9]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 5]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 4], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0xa]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0xb]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 6]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 5], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0xc]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0xd]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 7]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 6], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0xe]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0xf]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 8]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 7], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0x10]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0x11]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 9]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 8], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0x12]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0x13]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xa]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 9], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0x14]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0x15]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xb]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 0xa], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0x16]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0x17]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xc]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 0xb], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0x18]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0x19]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xd]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 0xc], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0x1a]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rsi + rax + 0x1b]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xe]
add r8d, r9d
cmp rdx, r13
mov byte [r12 + rcx + 0xd], r8b
jae 0x3985d9510
movzx edx, byte [rsi + rax + 0x1c]
movzx eax, byte [rsi + rax + 0x1d]
mov r9d, edx
sar r9b, 7
shr r9b, 3
lea r8d, [rdx + r9]
and r8d, 0x1f
sub r8d, r9d
add r8d, 9
movsx edx, r8b
movsx r8, r8b
imul r8, r8, 0x51eb851f
mov r9d, edx
sar r9d, 0x1f
sar r8, 0x23
sub r8d, r9d
lea r8d, [r8 + r8*4]
lea r8d, [r8 + r8*4]
sub edx, r8d
mov r8d, eax
sar r8b, 7
shl edx, 4
shr r8b, 3
add eax, r8d
and eax, 0x1f
sub eax, r8d
add eax, 9
movsx r8d, al
movsx rax, al
imul rax, rax, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rax, 0x23
sub eax, r9d
lea eax, [rax + rax*4]
lea eax, [rax + rax*4]
sub r8d, eax
add edx, r8d
mov byte [r12 + rcx + 0xe], dl
nop
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov r13, rax
mov r14, rax
shr r13, 1
lea rcx, [r13 + 1]
call sub.msvcrt.dll_malloc
test r13, r13
mov rsi, rax
je 0x3985da098
lea rax, [r13 - 1]
cmp rax, 0xe
jbe 0x3985da0c9
movdqa xmm8, xmmword [0x398691440]
mov rax, r14
pxor xmm9, xmm9
xor edx, edx
movdqa xmm0, xmm9
shr rax, 5
movdqa xmm6, xmmword [0x398691410]
pcmpgtb xmm0, xmm8
mov rcx, rax
movdqa xmm2, xmmword [0x398691420]
movdqa xmm10, xmm8
movdqa xmm5, xmmword [str._t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t________________________________]
shl rcx, 4
movdqa xmm4, xmmword [0x398691450]
movdqa xmm1, xmmword [0x398691460]
punpcklbw xmm10, xmm0
punpckhbw xmm8, xmm0
movdqa xmm3, xmmword [0x398691400]
nop dword [rax + rax]
movdqu xmm7, xmmword [rbx + rdx*2]
movdqa xmm0, xmm6
movdqa xmm12, xmm6
movdqa xmm13, xmm9
movdqu xmm11, xmmword [rbx + rdx*2 + 0x10]
pand xmm0, xmm7
psrlw xmm7, 8
pand xmm12, xmm11
psrlw xmm11, 8
packuswb xmm0, xmm12
packuswb xmm7, xmm11
movdqa xmm11, xmm9
pcmpgtb xmm11, xmm0
pand xmm11, xmm2
paddb xmm0, xmm11
pand xmm0, xmm2
psubb xmm0, xmm11
movdqa xmm11, xmm9
pcmpgtb xmm11, xmm7
paddb xmm0, xmm5
pcmpgtb xmm13, xmm0
movdqa xmm12, xmm0
pand xmm11, xmm2
paddb xmm7, xmm11
pand xmm7, xmm2
psubb xmm7, xmm11
movdqa xmm11, xmm0
punpckhbw xmm12, xmm13
punpcklbw xmm11, xmm13
pmullw xmm12, xmm8
paddb xmm7, xmm5
movdqa xmm13, xmm9
pmullw xmm11, xmm10
pcmpgtb xmm13, xmm7
psrlw xmm12, 8
psrlw xmm11, 8
packuswb xmm11, xmm12
movdqa xmm12, xmm0
psraw xmm11, 2
psraw xmm12, 7
pand xmm11, xmm4
pxor xmm11, xmm1
psubb xmm11, xmm1
pand xmm12, xmm3
paddb xmm12, xmm11
movdqa xmm11, xmm12
paddb xmm11, xmm12
paddb xmm11, xmm12
paddb xmm11, xmm11
paddb xmm11, xmm11
paddb xmm11, xmm11
paddb xmm11, xmm12
movdqa xmm12, xmm7
psubb xmm0, xmm11
movdqa xmm11, xmm7
punpckhbw xmm12, xmm13
punpcklbw xmm11, xmm13
pmullw xmm12, xmm8
paddb xmm0, xmm0
pmullw xmm11, xmm10
paddb xmm0, xmm0
paddb xmm0, xmm0
psrlw xmm12, 8
paddb xmm0, xmm0
psrlw xmm11, 8
packuswb xmm11, xmm12
movdqa xmm12, xmm7
psraw xmm11, 2
psraw xmm12, 7
pand xmm11, xmm4
pxor xmm11, xmm1
psubb xmm11, xmm1
pand xmm12, xmm3
paddb xmm12, xmm11
movdqa xmm11, xmm12
paddb xmm11, xmm12
paddb xmm11, xmm12
paddb xmm11, xmm11
paddb xmm11, xmm11
paddb xmm11, xmm11
paddb xmm11, xmm12
psubb xmm7, xmm11
paddb xmm0, xmm7
movups xmmword [rsi + rdx], xmm0
add rdx, 0x10
cmp rcx, rdx
jne 0x3985d95b0
shl rax, 5
cmp r13, rcx
je 0x3985da098
movzx edx, byte [rbx + rax]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 1]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 1]
add r8d, r9d
cmp rdx, r13
mov byte [rsi + rcx], r8b
jae 0x3985da098
movzx edx, byte [rbx + rax + 2]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 3]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 2]
add r8d, r9d
cmp rdx, r13
mov byte [rsi + rcx + 1], r8b
jae 0x3985da098
movzx edx, byte [rbx + rax + 5]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 4]
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 3]
shl r9d, 4
add r9d, r8d
cmp rdx, r13
mov byte [rsi + rcx + 2], r9b
jae 0x3985da098
movzx edx, byte [rbx + rax + 7]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 6]
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 4]
shl r9d, 4
add r9d, r8d
cmp rdx, r13
mov byte [rsi + rcx + 3], r9b
jae 0x3985da098
movzx edx, byte [rbx + rax + 8]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 9]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 5]
add r8d, r9d
cmp rdx, r13
mov byte [rsi + rcx + 4], r8b
jae 0x3985da098
movzx edx, byte [rbx + rax + 0xa]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0xb]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 6]
add r8d, r9d
cmp rdx, r13
mov byte [rsi + rcx + 5], r8b
jae 0x3985da098
movzx edx, byte [rbx + rax + 0xd]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0xc]
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
shl r9d, 4
lea edx, [r9 + r8]
mov byte [rsi + rcx + 6], dl
lea rdx, [rcx + 7]
cmp rdx, r13
jae 0x3985da098
movzx edx, byte [rbx + rax + 0xf]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0xe]
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
shl r9d, 4
lea edx, [r9 + r8]
mov byte [rsi + rcx + 7], dl
lea rdx, [rcx + 8]
cmp rdx, r13
jae 0x3985da098
movzx edx, byte [rbx + rax + 0x11]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0x10]
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
shl r9d, 4
lea edx, [r9 + r8]
mov byte [rsi + rcx + 8], dl
lea rdx, [rcx + 9]
cmp rdx, r13
jae 0x3985da098
movzx edx, byte [rbx + rax + 0x13]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0x12]
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
shl r9d, 4
lea edx, [r9 + r8]
mov byte [rsi + rcx + 9], dl
lea rdx, [rcx + 0xa]
cmp rdx, r13
jae 0x3985da098
movzx edx, byte [rbx + rax + 0x14]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0x15]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xb]
add r8d, r9d
cmp rdx, r13
mov byte [rsi + rcx + 0xa], r8b
jae 0x3985da098
movzx edx, byte [rbx + rax + 0x16]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0x17]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xc]
add r8d, r9d
cmp rdx, r13
mov byte [rsi + rcx + 0xb], r8b
jae 0x3985da098
movzx edx, byte [rbx + rax + 0x18]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0x19]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xd]
add r8d, r9d
cmp rdx, r13
mov byte [rsi + rcx + 0xc], r8b
jae 0x3985da098
movzx edx, byte [rbx + rax + 0x1a]
mov r8d, edx
sar r8b, 7
shr r8b, 3
add edx, r8d
and edx, 0x1f
sub edx, r8d
add edx, 9
movsx r8d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rdx, 0x23
sub edx, r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r8d, edx
movzx edx, byte [rbx + rax + 0x1b]
shl r8d, 4
mov r9d, edx
sar r9b, 7
shr r9b, 3
add edx, r9d
and edx, 0x1f
sub edx, r9d
add edx, 9
movsx r9d, dl
movsx rdx, dl
imul rdx, rdx, 0x51eb851f
mov r10d, r9d
sar r10d, 0x1f
sar rdx, 0x23
sub edx, r10d
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*4]
sub r9d, edx
lea rdx, [rcx + 0xe]
add r8d, r9d
cmp rdx, r13
mov byte [rsi + rcx + 0xd], r8b
jae 0x3985da098
movzx edx, byte [rbx + rax + 0x1c]
movzx eax, byte [rbx + rax + 0x1d]
mov r9d, edx
sar r9b, 7
shr r9b, 3
lea r8d, [rdx + r9]
and r8d, 0x1f
sub r8d, r9d
add r8d, 9
movsx edx, r8b
movsx r8, r8b
imul r8, r8, 0x51eb851f
mov r9d, edx
sar r9d, 0x1f
sar r8, 0x23
sub r8d, r9d
lea r8d, [r8 + r8*4]
lea r8d, [r8 + r8*4]
sub edx, r8d
mov r8d, eax
sar r8b, 7
shl edx, 4
shr r8b, 3
add eax, r8d
and eax, 0x1f
sub eax, r8d
add eax, 9
movsx r8d, al
movsx rax, al
imul rax, rax, 0x51eb851f
mov r9d, r8d
sar r9d, 0x1f
sar rax, 0x23
sub eax, r9d
lea eax, [rax + rax*4]
lea eax, [rax + rax*4]
sub r8d, eax
add edx, r8d
mov byte [rsi + rcx + 0xe], dl
nop dword [rax]
lea rbx, [rsp + 0x20]
mov rdx, r12
mov rcx, rbx
call fcn.3985d5180
movdqu xmm3, xmmword [rsi]
movsxd r8, ebp
mov rdx, rdi
mov rcx, rbx
movaps xmmword [rsp + 0x110], xmm3
call fcn.3985d5d60
mov eax, ebp
jmp 0x3985d892c
xor ecx, ecx
xor eax, eax
jmp 0x3985d976d
xor ecx, ecx
xor eax, eax
jmp 0x3985d8be6