Function at 0x14000a5b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7c0]
sub rsp, 0x8c0
mov rax, qword [0x14038a340]
xor rax, rsp
mov qword [rbp + 0x7b0], rax
mov qword [rbp - 0x50], r8
mov r14, rdx
mov qword [rsp + 0x38], rdx
mov rbx, rcx
xor r13d, r13d
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rdx
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r13
mov rcx, qword [rcx + 0x28]
mov rdi, qword [rbx + 8]
sub rdi, qword [rbx]
jne 0x14000a63d
mov edi, r13d
mov esi, 0x1000
jmp 0x14000a690
cmp rdi, 0x10
ja 0x14000a64f
mov edi, 0x10
mov esi, 0x1000
jmp 0x14000a690
mov rax, rdi
and eax, 0xf
je 0x14000a65e
sub rdi, rax
add rdi, 0x10
lea rsi, [rdi + 0x50]
test rsi, rsi
jne 0x14000a66c
mov rsi, r13
jmp 0x14000a690
cmp rsi, 0x1000
ja 0x14000a67c
mov esi, 0x1000
jmp 0x14000a690
mov rax, rsi
and eax, 0xfff
je 0x14000a690
sub rsi, rax
add rsi, 0x1000
lea r15, [rcx + 0x1000]
add r15, rsi
test r14, r14
je 0x14000ae65
mov r9d, 4
mov r8d, 0x3000
mov rdx, r15
mov rcx, qword [r14]
call fcn.14000d150
mov r12, rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rsi
lea r13, [rsi + 0x310]
mov qword [rsp + 0x60], r13
lea rax, [r13 + 0x30]
mov qword [rsp + 0x68], rax
add rax, 0x60
mov qword [rsp + 0x70], rax
lea rcx, [rsi + 0x1000]
mov qword [rsp + 0x50], rcx
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp - 0x38], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x30], rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
mov qword [rbp - 0x28], rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov qword [rbp - 0x20], rax
mov rax, qword [sym.imp.KERNEL32.dll_RtlAddFunctionTable]
mov qword [rbp - 0x18], rax
mov rax, qword [sym.imp.USER32.dll_MessageBoxA]
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov qword [rbp - 8], rax
xor edx, edx
mov qword [rbp], rdx
mov qword [rbp + 8], rdx
lea r15, [r12 + rcx]
lea rax, [r12 + rcx]
mov qword [rbp - 0x40], rax
mov r9, qword [rbx + 8]
mov rax, qword [rbx]
cmp rax, r9
je 0x14000a78c
sub r9, rax
mov r8d, edx
cmovne r8, rax
mov rdx, r12
mov rcx, qword [r14]
call fcn.14000d1c0
mov qword [rbp + 8], r12
xor edx, edx
mov rcx, qword [rbx + 0x18]
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rdx
cmp qword [rbx + 0x20], 0
je 0x14000a7d0
mov rdx, qword [rbx + 0x28]
test rdx, rdx
je 0x14000a7d0
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 8]
mov qword [rbp + 0x18], rax
mov r8, qword [rbx + 0x28]
mov qword [rbp + 0x20], r8
mov rdx, qword [rbx + 0x20]
mov rcx, rax
call fcn.14002be40
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rbx + 0x40]
movups xmmword [rbp + 0x38], xmm1
movups xmm0, xmmword [rbx + 0x50]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rbx + 0x60]
movups xmmword [rbp + 0x58], xmm1
movups xmm0, xmmword [rbx + 0x70]
movups xmmword [rbp + 0x68], xmm0
movups xmm1, xmmword [rbx + 0x80]
movups xmmword [rbp + 0x78], xmm1
movups xmm0, xmmword [rbx + 0x90]
movups xmmword [rbp + 0x88], xmm0
movups xmm1, xmmword [rbx + 0xa0]
movups xmmword [rbp + 0x98], xmm1
movsd xmm0, qword [rbx + 0xb0]
movsd qword [rbp + 0xa8], xmm0
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.1400139a0
add r13, r12
mov rax, qword [rsp + 0x68]
add rax, 0x60
add rax, r12
mov qword [rbp + 0x410], r13
mov qword [rbp + 0x418], rax
mov qword [rbp + 0x420], 0
lea rdx, [rbp + 0x410]
lea rcx, [rbp + 0x10]
call fcn.140013530
mov ebx, eax
test al, 1
je 0x14000a98e
movups xmm0, xmmword [0x14038a050]
movups xmmword [rbp + 0x410], xmm0
movups xmm1, xmmword [0x14038a060]
movups xmmword [rbp + 0x420], xmm1
movsd xmm0, qword [0x14038a070]
movsd qword [rbp + 0x430], xmm0
mov eax, dword [0x14038a078]
mov dword [rbp + 0x438], eax
movzx eax, word [0x14038a07c]
mov word [rbp + 0x43c], ax
mov qword [rbp + 0x480], r15
mov rcx, qword [rbp + 0x20]
add rcx, r15
mov qword [rbp + 0x488], rcx
mov rax, qword [sym.imp.KERNEL32.dll_RtlPcToFileHeader]
mov qword [rbp + 0x490], rax
lea r8, [rbp + 0x480]
lea rdx, [0x14038a080]
lea rcx, [rbp + 0x480]
lea r9, [0x14038a08c]
mov rax, rdx
cmp rdx, r9
jne 0x14000a916
lea rax, [rbp + 0x498]
cmp rcx, rax
je 0x14000a930
mov ecx, dword [rdx]
mov rax, qword [r8]
mov qword [rbp + rcx + 0x410], rax
add rdx, 4
add r8, 8
mov rcx, r8
jmp 0x14000a902
movups xmm0, xmmword [rbp + 0x410]
movups xmmword [rbp + 0x3b8], xmm0
movups xmm1, xmmword [rbp + 0x420]
movups xmmword [rbp + 0x3c8], xmm1
movsd xmm0, qword [rbp + 0x430]
movsd qword [rbp + 0x3d8], xmm0
mov eax, dword [rbp + 0x438]
mov dword [rbp + 0x3e0], eax
movzx eax, word [rbp + 0x43c]
mov word [rbp + 0x3e4], ax
lea r8, [rbp + 0x3b8]
mov r9d, 0x2e
mov rdx, r13
mov rcx, qword [r14]
call fcn.14000d1c0
test bl, 2
je 0x14000aa78
mov rcx, qword [rbp + 0x20]
add rcx, r15
movups xmm0, xmmword [0x14038a0f0]
movups xmmword [rbp + 0x3b8], xmm0
movups xmm1, xmmword [0x14038a100]
movups xmmword [rbp + 0x3c8], xmm1
movups xmm0, xmmword [0x14038a110]
movups xmmword [rbp + 0x3d8], xmm0
movsd xmm1, qword [0x14038a120]
movsd qword [rbp + 0x3e8], xmm1
mov eax, dword [0x14038a128]
mov dword [rbp + 0x3f0], eax
movzx r8d, byte [0x14038a12c]
mov qword [rbp + 0x3d3], r15
mov qword [rbp + 0x3c4], rcx
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov qword [rbp + 0x3eb], rax
movups xmm0, xmmword [rbp + 0x3b8]
movups xmmword [rbp + 0x410], xmm0
movups xmm1, xmmword [rbp + 0x3c8]
movups xmmword [rbp + 0x420], xmm1
movups xmm0, xmmword [rbp + 0x3d8]
movups xmmword [rbp + 0x430], xmm0
movsd xmm1, qword [rbp + 0x3e8]
movsd qword [rbp + 0x440], xmm1
mov eax, dword [rbp + 0x3f0]
mov dword [rbp + 0x448], eax
mov byte [rbp + 0x44c], r8b
lea r8, [rbp + 0x410]
mov r9d, 0x3d
mov rbx, qword [rsp + 0x68]
lea rdx, [rbx + 0x60]
add rdx, r12
mov rcx, qword [r14]
call fcn.14000d1c0
jmp 0x14000aa7d
mov rbx, qword [rsp + 0x68]
cmp qword [rbp + 0x80], 0
je 0x14000abb5
movaps xmm0, xmmword [0x14038a090]
movups xmmword [rbp + 0x3b8], xmm0
movaps xmm1, xmmword [0x14038a0a0]
movups xmmword [rbp + 0x3c8], xmm1
movaps xmm0, xmmword [0x14038a0b0]
movups xmmword [rbp + 0x3d8], xmm0
movaps xmm1, xmmword [0x14038a0c0]
movups xmmword [rbp + 0x3e8], xmm1
movaps xmm0, xmmword [0x14038a0d0]
movups xmmword [rbp + 0x3f8], xmm0
movsd xmm1, qword [0x14038a0e0]
movsd qword [rbp + 0x408], xmm1
mov qword [rbp + 0x470], r15
mov rcx, qword [rbp + 0x20]
add rcx, r15
mov qword [rbp + 0x478], rcx
lea r8, [rbp + 0x470]
lea rdx, [0x14038a0e8]
lea rcx, [rbp + 0x470]
lea r9, [0x14038a0f0]
mov rax, rdx
cmp rdx, r9
jne 0x14000ab26
lea rax, [rbp + 0x480]
cmp rcx, rax
je 0x14000ab40
mov ecx, dword [rdx]
mov rax, qword [r8]
mov qword [rbp + rcx + 0x3b8], rax
add rdx, 4
add r8, 8
mov rcx, r8
jmp 0x14000ab12
movups xmm0, xmmword [rbp + 0x3b8]
movaps xmmword [rbp + 0x410], xmm0
movups xmm1, xmmword [rbp + 0x3c8]
movaps xmmword [rbp + 0x420], xmm1
movups xmm0, xmmword [rbp + 0x3d8]
movaps xmmword [rbp + 0x430], xmm0
movups xmm1, xmmword [rbp + 0x3e8]
movaps xmmword [rbp + 0x440], xmm1
movups xmm0, xmmword [rbp + 0x3f8]
movaps xmmword [rbp + 0x450], xmm0
movsd xmm1, qword [rbp + 0x408]
movsd qword [rbp + 0x460], xmm1
lea r8, [rbp + 0x410]
add rbx, r12
mov r9d, 0x58
mov rdx, rbx
mov rcx, qword [r14]
call fcn.14000d1c0
mov qword [rbp], rbx
mov r9, qword [rbp + 0x20]
mov r8, qword [rbp + 0x18]
mov rdx, r15
mov rcx, qword [r14]
call fcn.14000d1c0
lea r8, [rbp - 0x40]
lea r15, [rdi + r12]
mov qword [rbp - 0x58], r15
mov r9d, 0x50
mov rdx, r15
mov rcx, qword [r14]
call fcn.14000d1c0
lea rcx, [rbp + 0xb0]
lea rax, [0x140379f00]
mov r10d, 6
mov edx, r10d
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14000ac00
mov rax, qword [rax]
mov qword [rcx], rax
xor r13d, r13d
mov r11d, r13d
lea rax, [rbp + 0xb0]
mov ebx, 1
sub rbx, rax
lea rax, [rbp + 0xb0]
mov edi, 2
sub rdi, rax
lea rax, [rbp + 0xb0]
mov r9d, 3
sub r9, rax
movabs r15, 0xdd67c8a60dd67c8b
lea r14, [0x140379ed8]
lea r12, [0x140379edb]
nop dword [rax]
nop dword [rax + rax]
lea r8, [rbp + 0xb0]
add r8, r11
mov rax, r15
mul r11
shr rdx, 5
imul rax, rdx, 0x25
mov rcx, r11
sub rcx, rax
movzx eax, byte [rcx + r14]
xor byte [r8], al
lea rcx, [r8 + rbx]
mov rax, r15
mul rcx
shr rdx, 5
imul rax, rdx, 0x25
mov rcx, r11
sub rcx, rax
movzx eax, byte [rcx + r14 + 1]
xor byte [r8 + 1], al
lea rcx, [r8 + rdi]
mov rax, r15
mul rcx
shr rdx, 5
imul rax, rdx, 0x25
mov rcx, r11
sub rcx, rax
movzx eax, byte [rcx + r14 + 2]
xor byte [r8 + 2], al
lea rcx, [r8 + r9]
mov rax, r15
mul rcx
shr rdx, 5
imul rax, rdx, 0x25
mov rcx, r11
sub rcx, rax
movzx eax, byte [r8 + 3]
xor al, byte [rcx + r12]
mov byte [r8 + 3], al
add r11, 4
cmp r11, 0x308
jb 0x14000acb0
lea rdx, [rbp + 0x4a0]
lea rax, [rbp + 0xb0]
mov r14, qword [rsp + 0x38]
mov r12, qword [rbp - 0x60]
mov r15, qword [rbp - 0x58]
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rax, [rax + 0x80]
sub r10, 1
jne 0x14000ad70
mov rcx, qword [rax]
mov qword [rdx], rcx
lea rbx, [rsi + r12]
mov r9d, 0x308
lea r8, [rbp + 0x4a0]
mov rdx, rbx
mov rcx, qword [r14]
call fcn.14000d1c0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
mov r8d, 0x1000
mov rdx, rbx
mov rcx, qword [r14]
call fcn.14000d050
mov r8, r15
mov rdx, rbx
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
call qword [rax + 8]
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x14000ae3b
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
mov r9d, 1
mov r8, qword [rbp + 0x20]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x7b0]
xor rcx, rsp
call fcn.140014f40
mov rbx, qword [rsp + 0x908]
add rsp, 0x8c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001870
nop
mov r8, rax
mov edx, 3
lea rcx, [rbp + 0x410]
call fcn.140001600
lea rdx, [0x140388ce8]
lea rcx, [rbp + 0x410]
call fcn.140016d20
int3