Function at 0x140001070
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x90
movaps xmmword [rax - 0x18], xmm6
xor r8d, r8d
movaps xmmword [rax - 0x28], xmm7
mov rsi, rdx
movaps xmmword [rax - 0x38], xmm8
mov rbx, rcx
test rcx, rcx
jne 0x140001422
mov esi, dword [0x14000b018]
lea ebx, [rcx + 4]
xor eax, eax
lea edi, [rcx + 0x1f]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
lea r11, [0x140000000]
movups xmmword [rsp + 0x30], xmm0
cmp esi, 2
jl 0x14000121f
movdqa xmm0, xmmword [str.6666666666666666]
mov edx, r8d
movdqa xmm5, xmmword [0x140009650]
mov ecx, r8d
movdqa xmm4, xmmword [0x1400096a0]
movdqa xmm7, xmmword [0x140009670]
movdqa xmmword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x20]
movd xmm6, ebx
movd xmm8, edi
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x140009680]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r9d
paddb xmm2, xmm0
movd xmm0, dword [rcx + r11 + 0x9360]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rsp + rcx + 0x28], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r9d
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140009680]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx + r11 + 0x9364]
pxor xmm2, xmm0
movd dword [rsp + rcx + 0x2c], xmm2
cmp edx, 0x18
jl 0x140001110
jmp 0x14000126a
mov r10, r8
mov r9d, r8d
nop word [rax + rax]
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x36
xor al, byte [r10 + r11 + 0x9367]
mov byte [rsp + r10 + 0x2f], al
cmp r9d, 0x18
jl 0x140001230
cmp byte [rsp + 0x47], r8b
je 0x140001411
cmp esi, 2
jl 0x1400013d4
movdqa xmm0, xmmword [str.6666666666666666]
lea rcx, [rsp + 0x34]
movdqa xmm5, xmmword [0x140009650]
movdqa xmm4, xmmword [0x1400096a0]
movdqa xmm7, xmmword [0x140009670]
movdqa xmmword [rsp + 0x20], xmm0
mov edx, dword [rsp + 0x20]
movd xmm6, ebx
movd xmm8, edi
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x140009680]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140009680]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x1400012c0
lea rcx, [rsp + 0x30]
call fcn.140001010
xor eax, eax
jmp 0x14000182d
lea r9, [rsp + 0x30]
nop dword [rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x36
xor byte [r9 - 1], al
cmp r8d, 0x18
jl 0x1400013e0
lea rcx, [rsp + 0x30]
call fcn.140001010
xor eax, eax
jmp 0x14000182d
movsxd rax, dword [rcx + 0x3c]
mov r11d, r8d
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xa8], r14
mov ecx, dword [rax + rcx + 0x88]
add rcx, rbx
mov r10d, dword [rcx + 0x20]
mov ebp, dword [rcx + 0x1c]
add r10, rbx
mov r14d, dword [rcx + 0x24]
add rbp, rbx
mov edi, dword [rcx + 0x18]
add r14, rbx
test edi, edi
je 0x140001497
nop
mov eax, dword [r10]
mov r9, rsi
add rax, rbx
sub r9, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x140001483
inc rax
test ecx, ecx
jne 0x140001470
test edx, edx
je 0x140001851
inc r11d
add r10, 4
cmp r11d, edi
jb 0x140001460
mov esi, dword [0x14000b018]
lea r11, [0x140000000]
xor eax, eax
xorps xmm0, xmm0
mov dword [rsp + 0x50], eax
mov r9d, r8d
mov byte [rsp + 0x54], al
movups xmmword [rsp + 0x30], xmm0
lea ebx, [rax + 4]
lea edi, [rax + 0x1f]
movups xmmword [rsp + 0x40], xmm0
cmp esi, 2
jl 0x140001625
movdqa xmm0, xmmword [str.6666666666666666]
mov rcx, r8
movdqa xmm5, xmmword [0x140009650]
movdqa xmm4, xmmword [0x1400096a0]
movdqa xmm7, xmmword [0x140009670]
movdqa xmmword [rsp + 0x20], xmm0
mov edx, dword [rsp + 0x20]
movd xmm6, ebx
movd xmm8, edi
nop dword [rax]
nop word [rax + rax]
movd xmm2, r9d
lea eax, [r9 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r9d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x140009680]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + r11 + 0x9378]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rsp + rcx + 0x28], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140009680]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx + r11 + 0x937c]
pxor xmm2, xmm0
movd dword [rsp + rcx + 0x2c], xmm2
cmp r9d, 0x20
jl 0x140001510
cmp r9d, 0x25
jge 0x14000166a
movsxd r10, r9d
nop dword [rax + rax]
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x36
xor al, byte [r10 + r11 + 0x937f]
mov byte [rsp + r10 + 0x2f], al
cmp r9d, 0x25
jl 0x140001630
cmp byte [rsp + 0x54], r8b
je 0x140001811
cmp esi, 2
jl 0x1400017cb
movdqa xmm0, xmmword [str.6666666666666666]
lea rcx, [rsp + 0x34]
movdqa xmm5, xmmword [0x140009650]
movdqa xmm4, xmmword [0x1400096a0]
movdqa xmm7, xmmword [0x140009670]
movdqa xmmword [rsp + 0x20], xmm0
mov edx, dword [rsp + 0x20]
movd xmm6, ebx
movd xmm8, edi
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
mov eax, r8d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x140009680]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x140009680]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x20
jl 0x1400016c0
cmp eax, 0x25
jge 0x140001811
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x36
xor byte [r9 - 1], al
cmp r8d, 0x25
jl 0x1400017e0
lea rcx, [rsp + 0x30]
call fcn.140001010
xor eax, eax
mov rbp, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rdi
ret
mov eax, r11d
movzx ecx, word [r14 + rax*2]
mov eax, dword [rbp + rcx*4]
add rax, rbx
jmp 0x14000181d