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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movdqa xmmword [rsp + 0x130], xmm12
movdqa xmmword [rsp + 0x120], xmm11
movdqa xmmword [rsp + 0x110], xmm10
movdqa xmmword [rsp + 0x100], xmm9
movdqa xmmword [rsp + 0xf0], xmm8
movdqa xmmword [rsp + 0xe0], xmm7
movdqa xmmword [rsp + 0xd0], xmm6
mov r11d, dword [rcx]
mov eax, dword [rcx + 4]
mov dword [rsp + 0x60], eax
movdqu xmm0, xmmword [rcx + 4]
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x5c], eax
movdqu xmm1, xmmword [rcx + 0x14]
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x28], eax
pshufd xmm2, xmm0, 0x55
movd dword [rsp + 0x58], xmm2
pshufd xmm2, xmm0, 0xee
movd dword [rsp + 0x54], xmm2
pshufd xmm2, xmm0, 0xff
movd dword [rsp + 0x50], xmm2
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x4c], xmm2
pshufd xmm2, xmm1, 0xee
movd dword [rsp + 0x48], xmm2
pshufd xmm2, xmm1, 0xff
movd dword [rsp + 0x44], xmm2
pxor xmm2, xmm2
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x24], eax
mov ebp, dword [rcx + 0x30]
mov r10d, dword [rcx + 0x34]
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x80], rcx
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x1c], eax
xor eax, eax
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x78], r9
mov dword [rsp + 0x64], r11d
cmp r9, 0x3f
mov qword [rsp + 0x88], r9
jbe 0x14018f540
nop dword [rax]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r8
jmp 0x14018f599
movdqa xmmword [rsp + 0xc0], xmm2
movdqa xmmword [rsp + 0xb0], xmm2
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0x90], xmm2
test r9, r9
je 0x14018f582
xor eax, eax
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
mov byte [rsp + rax + 0x90], cl
inc eax
cmp r9, rax
ja 0x14018f570
lea rax, [rsp + 0x90]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x10], r8
mov r15d, 0xffffffec
mov dword [rsp + 0xc], r11d
mov esi, dword [rsp + 0x60]
mov edi, dword [rsp + 0x58]
mov edx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x50]
mov ebx, dword [rsp + 0x5c]
mov r14d, dword [rsp + 0x4c]
mov r13d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x44]
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 8], eax
mov r12d, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x1c]
mov r9d, dword [rsp + 0x20]
mov dword [rsp + 0x6c], r10d
mov eax, r10d
mov dword [rsp + 0x68], ebp
mov r10d, ebp
mov ebp, dword [rsp + 0x24]
nop word cs:[rax + rax]
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x74], r15d
mov r15d, dword [rsp + 0xc]
add r15d, r8d
xor r10d, r15d
rol r10d, 0x10
add r11d, r10d
xor r8d, r11d
rol r8d, 0xc
add r15d, r8d
xor r10d, r15d
rol r10d, 8
add r11d, r10d
xor r8d, r11d
rol r8d, 7
add esi, ebx
xor eax, esi
rol eax, 0x10
mov r12d, dword [rsp + 8]
add r12d, eax
xor ebx, r12d
rol ebx, 0xc
add esi, ebx
xor eax, esi
rol eax, 8
add r12d, eax
mov dword [rsp + 8], r12d
xor ebx, r12d
mov r12d, dword [rsp + 0x70]
rol ebx, 7
add edi, r14d
xor r9d, edi
rol r9d, 0x10
add r12d, r9d
xor r14d, r12d
rol r14d, 0xc
add edi, r14d
xor r9d, edi
rol r9d, 8
add r12d, r9d
xor r14d, r12d
rol r14d, 7
add edx, r13d
xor ecx, edx
rol ecx, 0x10
add ebp, ecx
xor r13d, ebp
rol r13d, 0xc
add edx, r13d
xor ecx, edx
rol ecx, 8
add ebp, ecx
xor r13d, ebp
rol r13d, 7
add r15d, ebx
xor ecx, r15d
rol ecx, 0x10
add r12d, ecx
xor ebx, r12d
rol ebx, 0xc
add r15d, ebx
mov dword [rsp + 0xc], r15d
xor ecx, r15d
rol ecx, 8
add r12d, ecx
xor ebx, r12d
rol ebx, 7
add esi, r14d
xor r10d, esi
rol r10d, 0x10
add ebp, r10d
xor r14d, ebp
rol r14d, 0xc
add esi, r14d
xor r10d, esi
rol r10d, 8
add ebp, r10d
xor r14d, ebp
rol r14d, 7
add edi, r13d
xor eax, edi
rol eax, 0x10
add r11d, eax
xor r13d, r11d
rol r13d, 0xc
add edi, r13d
xor eax, edi
rol eax, 8
add r11d, eax
xor r13d, r11d
rol r13d, 7
add edx, r8d
xor r9d, edx
rol r9d, 0x10
mov r15d, dword [rsp + 8]
add r15d, r9d
xor r8d, r15d
rol r8d, 0xc
add edx, r8d
xor r9d, edx
rol r9d, 8
add r15d, r9d
mov dword [rsp + 8], r15d
xor r8d, r15d
rol r8d, 7
mov r15d, dword [rsp + 0x74]
add r15d, 2
jne 0x14018f600
movd xmm3, r8d
movd xmm4, edx
movd xmm6, edi
movd xmm5, esi
movd xmm7, r11d
movd xmm8, r13d
movd xmm10, r14d
movd xmm9, ebx
mov r11d, dword [rsp + 0x64]
mov ebx, dword [rsp + 0xc]
add ebx, r11d
mov r14d, dword [rsp + 8]
add r14d, dword [rsp + 0x2c]
add r12d, dword [rsp + 0x28]
add ebp, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x68]
add r10d, r8d
mov edi, dword [rsp + 0x6c]
add eax, edi
add r9d, dword [rsp + 0x20]
add ecx, dword [rsp + 0x1c]
mov rdx, qword [rsp + 0x30]
xor ebx, dword [rdx]
xor r14d, dword [rdx + 0x24]
xor r12d, dword [rdx + 0x28]
xor ebp, dword [rdx + 0x2c]
xor r10d, dword [rdx + 0x30]
xor eax, dword [rdx + 0x34]
xor r9d, dword [rdx + 0x38]
xor ecx, dword [rdx + 0x3c]
movdqu xmm11, xmmword [rdx + 4]
movdqu xmm12, xmmword [rdx + 0x14]
mov rsi, qword [rsp + 0x38]
mov dword [rsi], ebx
punpckldq xmm4, xmm3
punpckldq xmm5, xmm6
punpcklqdq xmm5, xmm4
punpckldq xmm8, xmm7
punpckldq xmm9, xmm10
punpcklqdq xmm9, xmm8
paddd xmm5, xmm0
paddd xmm9, xmm1
pxor xmm11, xmm5
pxor xmm12, xmm9
movdqu xmmword [rsi + 4], xmm11
movdqu xmmword [rsi + 0x14], xmm12
mov dword [rsi + 0x24], r14d
mov dword [rsi + 0x28], r12d
mov dword [rsi + 0x2c], ebp
mov ebp, r8d
mov dword [rsi + 0x30], r10d
mov r10d, edi
mov dword [rsi + 0x34], eax
mov dword [rsi + 0x38], r9d
mov dword [rsi + 0x3c], ecx
add ebp, 1
adc r10d, 0
mov r9, qword [rsp + 0x88]
cmp r9, 0x40
jbe 0x14018f888
add r9, 0xffffffffffffffc0
add rsi, 0x40
add rdx, 0x40
mov r8, rsi
cmp r9, 0x3f
mov qword [rsp + 0x88], r9
jbe 0x14018f540
jmp 0x14018f530
lea rax, [r9 - 0x40]
cmp rax, 0xffffffffffffffc1
mov r8, qword [rsp + 0x10]
jb 0x14018f960
xor eax, eax
mov rdx, qword [rsp + 0x78]
mov rcx, rdx
sub rcx, 0x40
cmovb rcx, rax
add rcx, 0x3f
and rcx, 0xffffffffffffffc0
sub rdx, rcx
cmp rdx, 2
mov ecx, 1
cmovae rcx, rdx
cmp rcx, 8
jb 0x14018f950
mov rdx, r8
sub rdx, rsi
cmp rdx, 0x20
jb 0x14018f950
cmp rcx, 0x20
jae 0x14018f8e5
xor eax, eax
jmp 0x14018f91b
mov rax, rcx
and rax, 0xffffffffffffffe0
xor edx, edx
nop
movdqu xmm0, xmmword [rsi + rdx]
movdqu xmm1, xmmword [rsi + rdx + 0x10]
movdqu xmmword [r8 + rdx], xmm0
movdqu xmmword [r8 + rdx + 0x10], xmm1
add rdx, 0x20
cmp rax, rdx
jne 0x14018f8f0
cmp rcx, rax
je 0x14018f960
test cl, 0x18
je 0x14018f950
mov rdx, rax
mov rax, rcx
and rax, 0xfffffffffffffff8
mov r11, qword [rsp + 0x10]
nop word [rax + rax]
mov r8, qword [rsi + rdx]
mov qword [r11 + rdx], r8
mov r8, qword [rsp + 0x10]
add rdx, 8
cmp rax, rdx
jne 0x14018f930
cmp rcx, rax
je 0x14018f960
nop dword [rax + rax]
movzx ecx, byte [rsi + rax]
mov byte [r8 + rax], cl
inc rax
cmp rax, r9
jb 0x14018f950
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x30], ebp
mov dword [rax + 0x34], r10d
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret