Function at 0x14000b8e0
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 - 0x790]
sub rsp, 0x890
mov rax, qword [0x1403ae348]
xor rax, rsp
mov qword [rbp + 0x780], rax
mov qword [rbp + 8], r8
mov r14, rdx
mov qword [rbp - 0x70], rdx
mov rbx, rcx
xor r13d, r13d
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], rdx
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r13
mov rcx, qword [rcx + 0x28]
mov rdi, qword [rbx + 8]
sub rdi, qword [rbx]
jne 0x14000b964
mov edi, r13d
mov esi, 0x1000
jmp 0x14000b9b7
cmp rdi, 0x10
ja 0x14000b976
mov edi, 0x10
mov esi, 0x1000
jmp 0x14000b9b7
mov rax, rdi
and eax, 0xf
je 0x14000b985
sub rdi, rax
add rdi, 0x10
lea rsi, [rdi + 0x50]
test rsi, rsi
jne 0x14000b993
mov rsi, r13
jmp 0x14000b9b7
cmp rsi, 0x1000
ja 0x14000b9a3
mov esi, 0x1000
jmp 0x14000b9b7
mov rax, rsi
and eax, 0xfff
je 0x14000b9b7
sub rsi, rax
add rsi, 0x1000
lea r15, [rcx + 0x1000]
add r15, rsi
test r14, r14
je 0x14000c144
mov r9d, 4
mov r8d, 0x3000
mov rdx, r15
mov rcx, qword [r14]
call fcn.140009090
mov r12, rax
mov qword [rbp], rax
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x48], rsi
lea r13, [rsi + 0x310]
mov qword [rbp - 0x40], r13
lea rax, [r13 + 0x30]
mov qword [rbp - 0x38], rax
add rax, 0x60
mov qword [rbp - 0x30], rax
lea rcx, [rsi + 0x1000]
mov qword [rbp - 0x50], rcx
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp + 0x18], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x20], 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 + 0x30], rax
mov rax, qword [sym.imp.KERNEL32.dll_RtlAddFunctionTable]
mov qword [rbp + 0x38], rax
mov rax, qword [sym.imp.USER32.dll_MessageBoxA]
mov qword [rbp + 0x40], rax
mov rax, qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov qword [rbp + 0x48], rax
xor edx, edx
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rdx
lea r15, [rcx + r12]
lea rax, [rcx + r12]
mov qword [rbp + 0x10], rax
mov r9, qword [rbx + 8]
mov rax, qword [rbx]
cmp rax, r9
je 0x14000baac
sub r9, rax
mov r8d, edx
cmovne r8, rax
mov rdx, r12
mov rcx, qword [r14]
call fcn.140009100
mov qword [rbp + 0x58], r12
xor edx, edx
mov rcx, qword [rbx + 0x18]
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rdx
cmp qword [rbx + 0x20], 0
je 0x14000baf0
mov rdx, qword [rbx + 0x28]
test rdx, rdx
je 0x14000baf0
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 8]
mov qword [rbp + 0x68], rax
mov r8, qword [rbx + 0x28]
mov qword [rbp + 0x70], r8
mov rdx, qword [rbx + 0x20]
mov rcx, rax
call fcn.140015d00
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [rbp + 0x78], xmm0
movups xmm1, xmmword [rbx + 0x40]
movups xmmword [rbp + 0x88], xmm1
movups xmm0, xmmword [rbx + 0x50]
movups xmmword [rbp + 0x98], xmm0
movups xmm1, xmmword [rbx + 0x60]
movups xmmword [rbp + 0xa8], xmm1
movups xmm0, xmmword [rbx + 0x70]
movups xmmword [rbp + 0xb8], xmm0
movups xmm1, xmmword [rbx + 0x80]
movups xmmword [rbp + 0xc8], xmm1
movups xmm0, xmmword [rbx + 0x90]
movups xmmword [rbp + 0xd8], xmm0
movups xmm1, xmmword [rbx + 0xa0]
movups xmmword [rbp + 0xe8], xmm1
movsd xmm0, qword [rbx + 0xb0]
movsd qword [rbp + 0xf8], xmm0
mov rdx, r15
lea rcx, [rbp + 0x60]
call fcn.1400127f0
add r13, r12
mov rax, qword [rbp - 0x38]
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 + 0x60]
call fcn.140012380
mov ebx, eax
test al, 1
je 0x14000bca5
movups xmm0, xmmword [0x1403ae060]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [0x1403ae070]
movups xmmword [rsp + 0x48], xmm1
movsd xmm0, qword [0x1403ae080]
movsd qword [rsp + 0x58], xmm0
mov ecx, dword [0x1403ae088]
mov dword [rsp + 0x60], ecx
movzx eax, word [0x1403ae08c]
mov word [rsp + 0x64], ax
mov qword [rbp + 0x410], r15
mov rcx, qword [rbp + 0x70]
add rcx, r15
mov qword [rbp + 0x418], rcx
mov rax, qword [sym.imp.KERNEL32.dll_RtlPcToFileHeader]
mov qword [rbp + 0x420], rax
lea r8, [rbp + 0x410]
lea rdx, [0x1403ae090]
lea rcx, [rbp + 0x410]
lea r9, [0x1403ae09c]
mov rax, rdx
cmp rdx, r9
jne 0x14000bc3a
lea rax, [rbp + 0x428]
cmp rcx, rax
je 0x14000bc51
mov ecx, dword [rdx]
mov rax, qword [r8]
mov qword [rsp + rcx + 0x38], rax
add rdx, 4
add r8, 8
mov rcx, r8
jmp 0x14000bc26
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbp + 0x410], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbp + 0x420], xmm1
movsd xmm0, qword [rsp + 0x58]
movsd qword [rbp + 0x430], xmm0
mov eax, dword [rsp + 0x60]
mov dword [rbp + 0x438], eax
movzx eax, word [rsp + 0x64]
mov word [rbp + 0x43c], ax
lea r8, [rbp + 0x410]
mov r9d, 0x2e
mov rdx, r13
mov rcx, qword [r14]
call fcn.140009100
test bl, 2
je 0x14000bd74
mov rcx, qword [rbp + 0x70]
add rcx, r15
movups xmm0, xmmword [0x1403ae100]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [0x1403ae110]
movups xmmword [rsp + 0x48], xmm1
movups xmm0, xmmword [0x1403ae120]
movups xmmword [rsp + 0x58], xmm0
movsd xmm1, qword [0x1403ae130]
movsd qword [rsp + 0x68], xmm1
mov eax, dword [0x1403ae138]
mov dword [rsp + 0x70], eax
movzx r8d, byte [0x1403ae13c]
mov qword [rsp + 0x53], r15
mov qword [rsp + 0x44], rcx
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov qword [rsp + 0x6b], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbp + 0x410], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbp + 0x420], xmm1
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rbp + 0x430], xmm0
movsd xmm1, qword [rsp + 0x68]
movsd qword [rbp + 0x440], xmm1
mov eax, dword [rsp + 0x70]
mov dword [rbp + 0x448], eax
mov byte [rbp + 0x44c], r8b
lea r8, [rbp + 0x410]
mov r9d, 0x3d
mov rbx, qword [rbp - 0x38]
lea rdx, [rbx + 0x60]
add rdx, r12
mov rcx, qword [r14]
call fcn.140009100
jmp 0x14000bd78
mov rbx, qword [rbp - 0x38]
cmp qword [rbp + 0xd0], 0
je 0x14000be93
movaps xmm0, xmmword [0x1403ae0a0]
movups xmmword [rsp + 0x38], xmm0
movaps xmm1, xmmword [0x1403ae0b0]
movups xmmword [rsp + 0x48], xmm1
movaps xmm0, xmmword [0x1403ae0c0]
movups xmmword [rsp + 0x58], xmm0
movaps xmm1, xmmword [0x1403ae0d0]
movups xmmword [rsp + 0x68], xmm1
movaps xmm0, xmmword [0x1403ae0e0]
movups xmmword [rsp + 0x78], xmm0
movsd xmm1, qword [0x1403ae0f0]
movsd qword [rbp - 0x78], xmm1
mov qword [rbp + 0x410], r15
mov rcx, qword [rbp + 0x70]
add rcx, r15
mov qword [rbp + 0x418], rcx
lea r8, [rbp + 0x410]
lea rdx, [0x1403ae0f8]
lea rcx, [rbp + 0x410]
lea r9, [0x1403ae100]
mov rax, rdx
cmp rdx, r9
jne 0x14000be14
lea rax, [rbp + 0x420]
cmp rcx, rax
je 0x14000be2b
mov ecx, dword [rdx]
mov rax, qword [r8]
mov qword [rsp + rcx + 0x38], rax
add rdx, 4
add r8, 8
mov rcx, r8
jmp 0x14000be00
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rbp + 0x410], xmm0
movups xmm1, xmmword [rsp + 0x48]
movaps xmmword [rbp + 0x420], xmm1
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rbp + 0x430], xmm0
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rbp + 0x440], xmm1
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rbp + 0x450], xmm0
movsd xmm1, qword [rbp - 0x78]
movsd qword [rbp + 0x460], xmm1
lea r8, [rbp + 0x410]
add rbx, r12
mov r9d, 0x58
mov rdx, rbx
mov rcx, qword [r14]
call fcn.140009100
mov qword [rbp + 0x50], rbx
mov r9, qword [rbp + 0x70]
mov r8, qword [rbp + 0x68]
mov rdx, r15
mov rcx, qword [r14]
call fcn.140009100
lea r8, [rbp + 0x10]
lea r15, [r12 + rdi]
mov qword [rbp + 0x410], r15
mov r9d, 0x50
mov rdx, r15
mov rcx, qword [r14]
call fcn.140009100
lea rcx, [rbp + 0x100]
lea rax, str.c_f
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 0x14000bee0
mov rax, qword [rax]
mov qword [rcx], rax
xor r13d, r13d
mov r11d, r13d
lea rax, [rbp + 0x100]
mov ebx, 1
sub rbx, rax
lea rax, [rbp + 0x100]
mov edi, 2
sub rdi, rax
lea rax, [rbp + 0x100]
mov r9d, 3
sub r9, rax
movabs r15, 0xdd67c8a60dd67c8b
lea r14, [0x14039ebb0]
lea r12, [0x14039ebb3]
nop dword [rax]
nop dword [rax + rax]
lea r8, [rbp + 0x100]
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, [rbx + r8]
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, [rdi + r8]
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, [r9 + r8]
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 0x14000bf90
lea rdx, [rbp + 0x470]
lea rax, [rbp + 0x100]
mov r14, qword [rbp - 0x70]
mov r12, qword [rbp]
mov r15, qword [rbp + 0x410]
nop dword [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 0x14000c050
mov rcx, qword [rax]
mov qword [rdx], rcx
lea rbx, [r12 + rsi]
mov r9d, 0x308
lea r8, [rbp + 0x470]
mov rdx, rbx
mov rcx, qword [r14]
call fcn.140009100
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
mov r8d, 0x1000
mov rdx, rbx
mov rcx, qword [r14]
call fcn.140008f90
mov r8, r15
mov rdx, rbx
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
call qword [rax + 8]
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x20], r13
mov rdx, qword [rbp + 0x68]
test rdx, rdx
je 0x14000c11a
mov rcx, qword [rbp + 0x60]
mov rax, qword [rcx]
mov r9d, 1
mov r8, qword [rbp + 0x70]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x780]
xor rcx, rsp
call fcn.140014160
mov rbx, qword [rsp + 0x8d8]
add rsp, 0x890
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400036f0
nop
mov r8, rax
mov edx, 3
lea rcx, [rbp + 0x410]
call fcn.1400024f0
lea rdx, [0x1403ac748]
lea rcx, [rbp + 0x410]
call fcn.140014ea0
int3