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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov qword [rsp + 0x110], rcx
mov r10d, edx
mov rdi, r9
mov edx, pe_nt_image_headers64
mov r9, qword [rcx + 0x20]
mov ecx, r8d
mov rsi, qword [rsp + 0x110]
mov r8d, 0x20
sar edx, cl
mov eax, edx
lea rcx, [r9 + 1]
neg eax
sub r8, rcx
and eax, r10d
or eax, edx
xor edx, edx
mov byte [rsi + r9], al
mov rax, rcx
add rax, rsi
mov rcx, rax
call fcn.140197fc0
mov rax, qword [rsp + 0x110]
pxor xmm0, xmm0
mov eax, dword [rax + 0x28]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x3c]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x48]
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x7c], eax
mov rax, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x110]
mov eax, dword [rax + 0x54]
mov esi, dword [rsi + 0x6c]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x110]
mov eax, dword [rax + 0x58]
mov esi, dword [rsi + 0x70]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x24], esi
mov rsi, qword [rsp + 0x110]
mov eax, dword [rax + 0x5c]
mov r14d, dword [rsi + 0x7c]
mov ebp, dword [rsi + 0x74]
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x110]
mov r15d, dword [rsi + 0x78]
mov ebx, dword [rsi + 0x80]
mov eax, dword [rax + 0x60]
mov esi, dword [rsi + 0x84]
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x30], esi
mov rsi, qword [rsp + 0x110]
mov eax, dword [rax + 0x64]
mov esi, dword [rsi]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x110]
mov r8d, esi
mov eax, dword [rax + 0x68]
mov dword [rsp + 0x9c], 2
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x128], rdi
mov dword [rsp + 0x2c], eax
mov r13d, r8d
bswap r13d
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 4]
bswap eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x110]
mov r14d, dword [rax + 8]
bswap r14d
mov rax, qword [rsp + 0x110]
mov ecx, dword [rax + 0xc]
bswap ecx
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x10]
bswap eax
mov rdi, qword [rsp + 0x110]
mov dword [rsp + 0x50], eax
mov esi, dword [rdi + 0x14]
bswap esi
mov rdi, qword [rsp + 0x110]
mov edx, dword [rdi + 0x18]
bswap edx
mov rdi, qword [rsp + 0x110]
mov r10d, dword [rdi + 0x1c]
bswap r10d
mov edi, dword [rsp + 0x74]
mov r11d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x78]
xor r11d, edi
mov edi, dword [rsp + 0x7c]
mov dword [rsp + 0x98], r11d
mov r11d, dword [rsp + 0x5c]
xor r11d, r9d
mov r9d, dword [rsp + 0x60]
mov r12d, r11d
xor r9d, edi
mov edi, dword [rsp + 0x80]
mov r8d, r9d
mov r9d, dword [rsp + 0x64]
xor r9d, edi
mov edi, dword [rsp + 0x84]
mov r11d, r9d
mov r9d, dword [rsp + 0x68]
xor r11d, ebp
xor r9d, edi
mov edi, dword [rsp + 0x88]
mov dword [rsp + 0x38], r9d
mov r9d, dword [rsp + 0x6c]
xor r9d, edi
mov edi, dword [rsp + 0x8c]
mov dword [rsp + 0x40], r9d
mov r9d, dword [rsp + 0x70]
xor r9d, edi
mov edi, dword [rsp + 0x34]
mov dword [rsp + 0x94], r9d
mov r9d, dword [rsp + 0x90]
mov eax, edi
xor edi, r10d
xor eax, r9d
mov r9d, eax
mov eax, r12d
mov r12d, dword [rsp + 0x20]
xor eax, r12d
mov r12d, dword [rsp + 0x28]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x38]
xor eax, r15d
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x40]
xor eax, r12d
mov r12d, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x94]
xor r9d, r12d
xor eax, ebx
xor r11d, r9d
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x30], r11d
xor r8d, eax
xor r8d, r9d
mov dword [rsp + 0x94], r8d
mov r8d, dword [rsp + 0x98]
mov r11d, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x48]
xor r8d, r11d
mov r11d, dword [rsp + 0x5c]
xor r8d, r9d
xor r11d, eax
mov dword [rsp + 0x98], r8d
mov r8d, dword [rsp + 0x58]
mov dword [rsp + 0xb8], r11d
mov r11d, dword [rsp + 0x60]
xor r8d, r13d
mov eax, dword [rsp + 0x50]
xor r13d, r10d
xor r11d, r14d
mov dword [rsp + 0xbc], r8d
mov r8d, dword [rsp + 0x6c]
xor r14d, r10d
mov dword [rsp + 0xb4], r11d
mov r11d, dword [rsp + 0x64]
xor r8d, esi
xor r11d, ecx
mov dword [rsp + 0xa8], r8d
mov r8d, dword [rsp + 0x70]
xor ecx, r10d
mov dword [rsp + 0xb0], r11d
mov r11d, dword [rsp + 0x68]
xor r8d, edx
mov dword [rsp + 0x70], edi
mov edi, dword [rsp + 0x48]
xor r11d, eax
mov dword [rsp + 0xa4], r8d
mov r8d, r13d
mov r13d, dword [rsp + 0x78]
mov dword [rsp + 0xac], r11d
mov r11d, r14d
mov r14d, dword [rsp + 0x74]
xor r13d, r8d
xor r14d, r10d
mov dword [rsp + 0x68], r13d
mov r13d, dword [rsp + 0x80]
mov dword [rsp + 0x6c], r14d
mov r14d, dword [rsp + 0x7c]
xor r14d, edi
mov edi, dword [rsp + 0x88]
xor r13d, r11d
mov dword [rsp + 0x60], r13d
xor edi, eax
mov dword [rsp + 0x64], r14d
mov r14d, dword [rsp + 0x84]
mov r13d, edi
mov edi, dword [rsp + 0x8c]
xor r14d, ecx
xor edi, esi
mov dword [rsp + 0x58], edi
mov edi, dword [rsp + 0x90]
mov eax, dword [rsp + 0x34]
xor edi, edx
mov dword [rsp + 0x5c], edi
mov edi, dword [rsp + 0x30]
xor r13d, eax
mov eax, dword [rsp + 0x38]
xor r14d, edi
mov edi, dword [rsp + 0x58]
xor edi, eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x58], edi
mov edi, dword [rsp + 0x5c]
xor edi, eax
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x5c], edi
mov edi, dword [rsp + 0x2c]
xor r8d, eax
mov eax, dword [rsp + 0x28]
xor edi, edx
xor ecx, eax
mov eax, dword [rsp + 0x50]
xor edi, r9d
mov dword [rsp + 0x2c], edi
mov edi, dword [rsp + 0x30]
xor eax, ebx
mov ebx, r12d
mov r12d, dword [rsp + 0x20]
xor ebx, esi
xor r12d, edx
mov esi, r12d
mov r12d, dword [rsp + 0x48]
xor esi, r10d
mov r10d, dword [rsp + 0x98]
xor r12d, ebp
mov ebp, dword [rsp + 0x94]
xor r10d, esi
mov esi, dword [rsp + 0xa0]
mov dword [rsp + 0x20], r10d
mov r10d, esi
xor r10d, r8d
mov r8d, r12d
mov r12d, dword [rsp + 0x34]
xor r8d, edx
xor edx, r15d
mov r15d, dword [rsp + 0x40]
mov dword [rsp + 0x24], r10d
xor ecx, r12d
xor edx, r11d
mov r10d, dword [rsp + 0x38]
xor ebp, r8d
xor r15d, ebx
xor edx, edi
mov ebx, ecx
mov ecx, dword [rsp + 0xbc]
xor r10d, eax
mov r8d, r15d
rol edx, 2
mov r12d, r13d
rol ebx, 2
mov r15d, edx
mov edx, r8d
mov dword [rsp + 0x28], ebx
mov ebx, r10d
rol ebx, 2
rol edx, 2
mov dword [rsp + 0x30], edx
mov edx, dword [rsp + 0x6c]
rol r12d, 1
shl r12, 0x20
xor edx, r9d
xor r9d, ecx
mov ecx, dword [rsp + 0x98]
mov r11, rdx
mov edx, dword [rsp + 0x68]
shl r11, 0x20
xor edx, ecx
or r11, r9
mov r10, rdx
mov edx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x38], ebp
shl r10, 0x20
mov r9d, dword [rsp + 0xb0]
mov r8d, dword [rsp + 0x5c]
xor edx, ecx
mov ecx, dword [rsp + 0x64]
mov r13d, dword [rsp + 0xa8]
or r10, rdx
mov edx, dword [rsp + 0xb4]
rol r8d, 1
xor ecx, esi
shl r8, 0x20
xor edx, esi
shl rcx, 0x20
mov esi, dword [rsp + 0x94]
or rcx, rdx
mov edx, dword [rsp + 0x60]
xor r9d, esi
xor edx, esi
mov esi, r14d
mov r14d, dword [rsp + 0xac]
rol esi, 1
shl rdx, 0x20
xor r14d, edi
shl rsi, 0x20
or rdx, r9
mov r9d, dword [rsp + 0x58]
or rsi, r14
mov r14d, dword [rsp + 0x34]
mov edi, dword [rsp + 0x2c]
mov dword [rsp + 0x34], ebx
rol r9d, 1
xor r13d, r14d
mov r14d, dword [rsp + 0xa4]
shl r9, 0x20
or r12, r13
mov r13d, dword [rsp + 0x70]
xor r14d, eax
mov eax, dword [rsp + 0x40]
or r9, r14
lea r14, [0x1402f9380]
xor r13d, eax
mov rax, r10
or r8, r13
lea r13, [0x1402f93c0]
nop dword [rax]
mov r10, r11
xor rcx, rdx
xor r8, rsi
or r10, rax
xor r10, rdx
and rdx, r11
mov rbp, rdx
xor rax, rdx
mov rdx, r8
xor rbp, rcx
and rcx, r10
not rax
mov rbx, rcx
mov rcx, r12
or rcx, r9
xor rbx, rax
or rax, rbp
xor rcx, rsi
and rsi, r12
xor r11, rax
xor r10, rax
xor r9, rsi
and rdx, rcx
xor rsi, r8
xor rbp, rbx
not r9
and rbx, rax
mov rax, r10
mov r10d, r11d
xor rdx, r9
or r9, rsi
rol r10d, 2
not rax
xor rsi, rdx
xor r12, r9
and rdx, r9
mov r8, rsi
xor r8, r11
xor r10d, r8d
mov rsi, r8
rol r8d, 0xe
xor r8d, r10d
shr rsi, 0x20
rol r10d, 0xa
shr r11, 0x20
xor r12, rax
rol r11d, 2
xor r10d, r8d
rol r8d, 1
xor r11d, esi
rol esi, 0xe
xor esi, r11d
rol r11d, 0xa
xor r11d, esi
rol esi, 1
shl r11, 0x20
shl rsi, 0x20
or r11, r10
or rsi, r8
mov r10, r12
mov r8d, eax
shr rax, 0x20
shr r10, 0x20
rol eax, 2
rol r8d, 2
xor eax, r10d
rol r10d, 0xe
xor r8d, r12d
xor r10d, eax
rol r12d, 0xe
rol eax, 0xa
xor r12d, r8d
rol r8d, 0xa
xor eax, r10d
xor r8d, r12d
rol r10d, 1
shl rax, 0x20
or rax, r8
shl r10, 0x20
xor rcx, r9
xor rdx, rbp
mov r8, rcx
rol r12d, 1
xor r8, rbx
or r12, r10
mov r10d, ebx
shr rbx, 0x20
rol ebx, 2
not r8
rol r10d, 2
mov r9, r8
xor r10d, r8d
rol r8d, 0xe
shr r9, 0x20
xor r8d, r10d
rol r10d, 0xa
xor ebx, r9d
rol r9d, 0xe
xor r10d, r8d
xor r9d, ebx
rol ebx, 0xa
xor ebx, r9d
rol r9d, 1
shl rbx, 0x20
rol r8d, 1
mov rcx, rbx
mov ebx, ebp
shl r9, 0x20
or rcx, r10
rol ebx, 2
mov r10, rdx
or r9, r8
xor ebx, edx
mov r8, rdx
rol r10d, 0xe
xor r10d, ebx
shr r8, 0x20
rol ebx, 0xa
shr rbp, 0x20
xor r11, qword [r13]
add r13, 8
rol ebp, 2
xor ebx, r10d
rol r10d, 1
xor rsi, qword [r14]
xor ebp, r8d
rol r8d, 0xe
add r14, 8
xor r8d, ebp
rol ebp, 0xa
xor ebp, r8d
rol r8d, 1
shl rbp, 0x20
shl r8, 0x20
mov rdx, rbp
or r8, r10
or rdx, rbx
lea rbx, [0x1402f9400]
cmp r13, rbx
jne 0x14012b380
mov dword [rsp + 0x68], esi
shr rsi, 0x20
mov r10, rax
mov r13, r12
mov r14, rsi
shr r10, 0x20
mov dword [rsp + 0x60], ecx
mov ebp, dword [rsp + 0x38]
shr r13, 0x20
shr rcx, 0x20
mov dword [rsp + 0x64], edx
mov ebx, dword [rsp + 0x34]
mov dword [rsp + 0x84], esi
mov rsi, r8
shr rdx, 0x20
shr rsi, 0x20
mov dword [rsp + 0x78], r10d
mov dword [rsp + 0x88], r13d
mov dword [rsp + 0x90], esi
mov qword [rsp + 0x38], r10
mov dword [rsp + 0x58], r11d
shr r11, 0x20
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x7c], ecx
mov dword [rsp + 0x80], edx
mov dword [rsp + 0x70], r9d
shr r9, 0x20
mov dword [rsp + 0x34], r8d
mov r8d, dword [rsp + 0x30]
mov qword [rsp + 0x40], rcx
mov ecx, dword [rsp + 0x24]
mov qword [rsp + 0x48], rdx
mov edx, dword [rsp + 0x20]
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x74], r11d
lea r11, [0x1402f9340]
mov dword [rsp + 0x6c], r12d
mov r12, r9
mov dword [rsp + 0x8c], r9d
lea r9, [0x1402f9360]
nop dword [rax + rax]
mov r10d, edi
xor ecx, ebp
xor r8d, r15d
or r10d, edx
xor r10d, ebp
and ebp, edi
xor edx, ebp
xor ebp, ecx
and ecx, r10d
not edx
xor ecx, edx
or edx, ebp
xor r10d, edx
xor edi, edx
xor ebp, ecx
and ecx, edx
mov edx, r10d
mov r10d, eax
or r10d, ebx
not edx
xor r10d, r15d
and r15d, eax
xor ebx, r15d
xor r15d, r8d
and r8d, r10d
not ebx
xor r8d, ebx
or ebx, r15d
xor r15d, r8d
xor eax, ebx
and r8d, ebx
xor r15d, edi
rol edi, 2
xor edi, r15d
rol r15d, 0xe
xor r15d, edi
rol edi, 0xa
xor edi, r15d
rol r15d, 1
xor r10d, ebx
xor eax, edx
xor r10d, ecx
rol ecx, 2
xor r8d, ebp
xor edi, dword [r9]
not r10d
rol edx, 2
add r9, 4
xor r15d, dword [r11]
xor ecx, r10d
rol ebp, 2
xor edx, eax
add r11, 4
rol r10d, 0xe
xor ebp, r8d
rol eax, 0xe
xor r10d, ecx
rol r8d, 0xe
xor eax, edx
rol ecx, 0xa
xor r8d, ebp
mov ebx, r10d
rol edx, 0xa
rol ebp, 0xa
xor ecx, r10d
lea r10, [0x1402f9380]
xor edx, eax
rol ebx, 1
xor ebp, r8d
rol eax, 1
rol r8d, 1
cmp r9, r10
jne 0x14012b610
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x30], r8d
xor r8d, r8d
cmp dword [rsp + 0x9c], 1
mov dword [rsp + 0x20], edx
mov r10, qword [rsp + 0x38]
mov dword [rsp + 0x24], ecx
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x2c], edi
mov rcx, qword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
je 0x14012b738
mov dword [rsp + 0x9c], 1
jmp 0x14012af29
mov rax, r12
mov dword [rsp + 0x38], ebx
mov r12, rdx
mov rbx, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x58]
mov r9d, edi
mov r8d, ebp
mov r11, r14
mov rbp, r13
mov r14d, dword [rsp + 0x28]
xor eax, ecx
mov r13, r10
mov rdi, qword [rsp + 0x128]
mov r10, rsi
xor eax, r9d
bswap eax
mov dword [rdi], eax
mov eax, dword [rsp + 0x5c]
mov esi, dword [rsp + 0x20]
xor eax, r13d
xor eax, esi
bswap eax
mov dword [rdi + 4], eax
mov eax, dword [rsp + 0x60]
mov esi, dword [rsp + 0x24]
xor eax, ebx
xor eax, esi
bswap eax
mov dword [rdi + 8], eax
mov eax, dword [rsp + 0x64]
xor eax, r12d
xor eax, r8d
bswap eax
mov dword [rdi + 0xc], eax
mov eax, dword [rsp + 0x68]
xor eax, r11d
xor eax, r15d
bswap eax
mov dword [rdi + 0x10], eax
mov eax, dword [rsp + 0x6c]
xor eax, ebp
xor eax, r14d
bswap eax
mov dword [rdi + 0x14], eax
mov eax, dword [rsp + 0x70]
mov esi, dword [rsp + 0x38]
xor eax, edx
xor eax, esi
bswap eax
cmp dword [rsp + 0x130], 8
mov dword [rdi + 0x18], eax
jne 0x14012b7f5
mov eax, dword [rsp + 0x34]
mov esi, dword [rsp + 0x30]
xor eax, r10d
xor eax, esi
bswap eax
mov dword [rdi + 0x1c], eax
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret