Function at 0x1400109d0
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, 0x158
movaps xmmword [rsp + 0x140], xmm6
lea rax, [rcx + 8]
mov qword [rsp + 0x120], rax
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x128], xmm0
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x138], rax
mov r15, qword [rcx]
movzx eax, byte [section..data]
cmp al, 1
jne 0x140010a31
lea rdx, [rsp + 0x120]
mov rcx, r15
call fcn.140011090
jmp 0x140010f50
mov rsi, rcx
mov r12, qword [rsp + 0x128]
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x138]
mov edi, eax
and edi, 3
mov qword [rsp + 0x78], rax
cmp rax, 4
jb 0x140010cd0
mov rbp, qword [rsp + 0x78]
shr rbp, 2
mov ebx, 1
xorps xmm6, xmm6
mov r13, qword [rsp + 0x28]
mov r14, r12
nop
mov eax, dword [rsi + 0x18]
mov r9d, dword [rsi + 0x14]
mov ecx, dword [rsi + 8]
mov edx, dword [rsi + 0xc]
mov r8d, dword [rsi + 0x10]
lea r10d, [r9 + rax]
bswap r10d
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], r10d
lea r10d, [r9 + rax + 1]
bswap r10d
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x4c], r10d
lea r10d, [r9 + rax + 2]
bswap r10d
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x54], edx
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x5c], r10d
add r9d, eax
add r9d, 3
bswap r9d
add eax, 4
mov dword [rsi + 0x18], eax
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x64], edx
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x6c], r9d
lea rcx, [rsp + 0x80]
mov rdx, r15
lea r8, [rsp + 0x30]
call fcn.14003acb0
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
mov eax, 0xf
nop word cs:[rax + rax]
movzx ecx, byte [rsp + rax + 0x71]
movzx edx, byte [rsp + rax + 0x72]
xor cl, byte [rsp + rax + 0xc1]
xor dl, byte [rsp + rax + 0xc2]
mov byte [rsp + rax + 0x21], cl
movzx ecx, byte [rsp + rax + 0x73]
xor cl, byte [rsp + rax + 0xc3]
mov byte [rsp + rax + 0x22], dl
movzx edx, byte [rsp + rax + 0x74]
xor dl, byte [rsp + rax + 0xc4]
mov byte [rsp + rax + 0x23], cl
movzx ecx, byte [rsp + rax + 0x75]
xor cl, byte [rsp + rax + 0xc5]
mov byte [rsp + rax + 0x24], dl
movzx edx, byte [rsp + rax + 0x76]
xor dl, byte [rsp + rax + 0xc6]
mov byte [rsp + rax + 0x25], cl
mov byte [rsp + rax + 0x26], dl
movzx ecx, byte [rsp + rax + 0x77]
movzx edx, byte [rsp + rax + 0x78]
xor cl, byte [rsp + rax + 0xc7]
xor dl, byte [rsp + rax + 0xc8]
mov byte [rsp + rax + 0x27], cl
movzx ecx, byte [rsp + rax + 0x79]
xor cl, byte [rsp + rax + 0xc9]
mov byte [rsp + rax + 0x28], dl
movzx edx, byte [rsp + rax + 0x7a]
xor dl, byte [rsp + rax + 0xca]
mov byte [rsp + rax + 0x29], cl
movzx ecx, byte [rsp + rax + 0x7b]
xor cl, byte [rsp + rax + 0xcb]
mov byte [rsp + rax + 0x2a], dl
movzx edx, byte [rsp + rax + 0x7c]
xor dl, byte [rsp + rax + 0xcc]
mov byte [rsp + rax + 0x2b], cl
mov byte [rsp + rax + 0x2c], dl
movzx ecx, byte [rsp + rax + 0x7d]
movzx edx, byte [rsp + rax + 0x7e]
xor cl, byte [rsp + rax + 0xcd]
xor dl, byte [rsp + rax + 0xce]
mov byte [rsp + rax + 0x2d], cl
movzx ecx, byte [rsp + rax + 0x7f]
xor cl, byte [rsp + rax + 0xcf]
mov byte [rsp + rax + 0x2e], dl
movzx edx, byte [rsp + rax + 0x80]
xor dl, byte [rsp + rax + 0xd0]
mov byte [rsp + rax + 0x2f], cl
mov byte [rsp + rax + 0x30], dl
add rax, 0x10
cmp rax, 0x4f
jne 0x140010b70
xor eax, eax
cmp rbp, rbx
setne al
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movups xmmword [r13 + 0x30], xmm3
movups xmmword [r13 + 0x20], xmm2
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
mov r13, rbx
shl r13, 6
lea r14, [r12 + r13]
add r13, qword [rsp + 0x28]
add rax, rbx
cmp rbp, rbx
mov rbx, rax
jne 0x140010a80
xorps xmm6, xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
test rdi, rdi
je 0x140010f50
mov rax, rdi
mov qword [rsp + 0xc8], r12
lea r13, [rsp + 0xe0]
mov ecx, dword [rsi + 8]
mov dword [rsp + 0x24], ecx
mov r12d, dword [rsi + 0xc]
mov ebp, dword [rsi + 0x10]
mov edi, dword [rsi + 0x18]
mov ebx, dword [rsi + 0x14]
add ebx, edi
inc edi
shl rax, 4
xor r14d, r14d
mov qword [rsp + 0x118], rax
nop word cs:[rax + rax]
mov eax, ebx
bswap eax
mov dword [rsi + 0x18], edi
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0xd0], ecx
mov dword [rsp + 0xd4], r12d
mov dword [rsp + 0xd8], ebp
mov dword [rsp + 0xdc], eax
movups xmmword [r13 + 0x20], xmm6
movups xmmword [r13 + 0x10], xmm6
movups xmmword [r13], xmm6
lea rcx, [rsp + 0x30]
mov rdx, r15
lea r8, [rsp + 0xd0]
call fcn.14003acb0
mov rax, qword [rsp + 0x118]
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + r14 + 0x80], xmm0
inc ebx
inc edi
add r14, 0x10
cmp rax, r14
jne 0x140010d40
mov rdx, qword [rsp + 0x78]
shl rdx, 4
and rdx, 0xffffffffffffffc0
mov rax, qword [rsp + 0x28]
add rax, rdx
add rax, 0xf
mov rcx, qword [rsp + 0xc8]
add rcx, rdx
add rcx, 0xf
xor edx, edx
nop dword [rax]
movzx r8d, byte [rsp + rdx + 0x80]
movzx r9d, byte [rsp + rdx + 0x81]
xor r8b, byte [rcx + rdx - 0xf]
mov byte [rsp + 0x24], r8b
xor r9b, byte [rcx + rdx - 0xe]
mov byte [rsp + 0x28], r9b
movzx r8d, byte [rsp + rdx + 0x82]
xor r8b, byte [rcx + rdx - 0xd]
mov byte [rsp + 0x78], r8b
movzx r8d, byte [rsp + rdx + 0x83]
xor r8b, byte [rcx + rdx - 0xc]
mov byte [rsp + 0xc8], r8b
movzx r8d, byte [rsp + rdx + 0x84]
xor r8b, byte [rcx + rdx - 0xb]
mov byte [rsp + 0x23], r8b
movzx esi, byte [rsp + rdx + 0x85]
xor sil, byte [rcx + rdx - 0xa]
movzx edi, byte [rsp + rdx + 0x86]
xor dil, byte [rcx + rdx - 9]
movzx ebp, byte [rsp + rdx + 0x87]
xor bpl, byte [rcx + rdx - 8]
movzx r14d, byte [rsp + rdx + 0x88]
xor r14b, byte [rcx + rdx - 7]
movzx r15d, byte [rsp + rdx + 0x89]
xor r15b, byte [rcx + rdx - 6]
movzx r12d, byte [rsp + rdx + 0x8a]
xor r12b, byte [rcx + rdx - 5]
movzx r13d, byte [rsp + rdx + 0x8b]
xor r13b, byte [rcx + rdx - 4]
movzx r11d, byte [rsp + rdx + 0x8c]
xor r11b, byte [rcx + rdx - 3]
movzx r10d, byte [rsp + rdx + 0x8d]
xor r10b, byte [rcx + rdx - 2]
movzx r9d, byte [rsp + rdx + 0x8e]
xor r9b, byte [rcx + rdx - 1]
movzx r8d, byte [rsp + rdx + 0x8f]
xor r8b, byte [rcx + rdx]
movzx ebx, byte [rsp + 0x24]
mov byte [rax + rdx - 0xf], bl
movzx ebx, byte [rsp + 0x28]
mov byte [rax + rdx - 0xe], bl
movzx ebx, byte [rsp + 0x78]
mov byte [rax + rdx - 0xd], bl
movzx ebx, byte [rsp + 0xc8]
mov byte [rax + rdx - 0xc], bl
movzx ebx, byte [rsp + 0x23]
mov byte [rax + rdx - 0xb], bl
mov byte [rax + rdx - 0xa], sil
mov byte [rax + rdx - 9], dil
mov byte [rax + rdx - 8], bpl
mov byte [rax + rdx - 7], r14b
mov byte [rax + rdx - 6], r15b
mov byte [rax + rdx - 5], r12b
mov byte [rax + rdx - 4], r13b
mov byte [rax + rdx - 3], r11b
mov byte [rax + rdx - 2], r10b
mov byte [rax + rdx - 1], r9b
mov byte [rax + rdx], r8b
add rdx, 0x10
cmp qword [rsp + 0x118], rdx
jne 0x140010de0
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret