Function at 0x180262b60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
mov r12, rdx
mov r13, rcx
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov rsi, rsp
mov eax, 0x30
call fcn.18045a590
sub rsp, rax
mov rdi, rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov qword [rbp + 0x48], rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov qword [rbp + 0x50], rsp
mov eax, 0x30
call fcn.18045a590
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov r15, rsp
sub rsp, 0x20
mov rcx, r15
mov rdx, r12
call fcn.180420d20
add rsp, 0x20
mov cl, byte [r15]
cmp cl, 0x12
jne 0x18026367c
mov qword [rbp - 0x10], r12
mov qword [rbp - 0x20], rsi
mov rax, qword [r15 + 8]
mov qword [rbp + 0x98], rax
mov r12, qword [r15 + 0x10]
add r15, 0x18
mov rax, qword [r15]
mov qword [rbp + 0x28], rax
imul rax, rax, 0x18
mov rcx, r12
add rcx, rax
mov qword [rbp - 8], rcx
sub rsp, 0x20
call fcn.18042c520
add rsp, 0x20
mov r15, rax
cmp qword [r15], 0
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x40], r14
jne 0x180262cb6
lea rcx, [rbp - 0x30]
sub rsp, 0x20
xor edx, edx
mov r8d, 0x10
call fcn.1804691b0
add rsp, 0x20
lea rcx, [rbp - 0x30]
sub rsp, 0x20
mov edx, 0x10
call qword [sym.imp.bcryptprimitives.dll_ProcessPrng]
add rsp, 0x20
mov rsi, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x28]
mov rax, r15
add rax, 8
mov qword [r15], 1
mov qword [rax], rsi
mov qword [r15 + 0x10], rdi
jmp 0x180262d1d
mov rax, r15
add rax, 8
mov rsi, qword [r15 + 8]
add r15, 0x10
mov ecx, dword [0x180520b50]
add ecx, dword [0x180520b54]
imul ecx, ecx, 0x6b007812
add ecx, 0x49c4897c
sub ecx, 0xa48f329a
cmp ecx, 0x2e3dad0
jbe 0x18026372b
jmp 0x180262cf1
mov ecx, dword [0x180520b58]
imul ecx, dword [0x180520b5c]
imul ecx, ecx, 0x2cf151e1
and ecx, 0xfab4bec4
imul ecx, ecx, 0x55086541
mov rdi, qword [r15]
cmp ecx, 0xcfeafebf
ja 0x180262cf1
jmp 0x180262d1d
mov rcx, rsi
add rcx, 1
mov qword [rax], rcx
lea rax, [0x180486f00]
mov qword [rbx], rax
mov r14, rbx
add r14, 8
mov r13, rbx
add r13, 0x18
sub rsp, 0x20
mov rcx, r14
xor edx, edx
mov r8d, 0x18
call fcn.1804691b0
add rsp, 0x20
mov qword [rbx + 0x20], rsi
mov qword [rbx + 0x28], rdi
mov rdx, rbx
lea r9, [rbp - 0x78]
add r9, 8
mov rax, qword [rbp + 0x90]
mov r8, rax
add r8, 8
mov rsi, qword [rbp + 0x40]
mov r10, rsi
add r10, 8
mov rcx, qword [rbp + 0x50]
mov rdi, rcx
add rdi, 8
mov r11, rcx
add r11, 9
add rcx, 0x10
cmp qword [rbp + 0x28], 0
sete r15b
test r15b, 1
mov rbx, qword [rbp + 0x98]
jne 0x180263583
mov qword [rbp], rcx
mov qword [rbp + 0x38], r14
mov qword [rbp - 0x18], r13
mov qword [rbp + 0x88], rdx
mov rcx, rax
add rcx, 0x10
mov qword [rbp + 0x60], rcx
add rax, 0x18
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x48]
mov rcx, rax
add rcx, 8
mov qword [rbp + 8], rcx
mov qword [rbp + 0x58], r8
add rax, 0x10
mov qword [rbp + 0x10], rax
add rsi, 0x10
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x80], r12
mov byte [rbp + 0xb7], r15b
jmp 0x180262e0c
mov rax, r15
add rax, 1
mov edx, dword [rax]
mov dword [r13 + 9], edx
mov dx, word [rax + 4]
mov word [r13 + 0xd], dx
mov al, byte [rax + 6]
mov byte [r13 + 0xf], al
mov r8, qword [r15 + 8]
mov r9, qword [r15 + 0x10]
add r15, 0x18
mov eax, dword [0x180520bf0]
xor edx, edx
div dword [0x180520bf4]
or eax, 0x1c7cad2f
mov r10d, 0xb997ee86
xor edx, edx
div r10d
and eax, 0xf4eda444
cmp eax, 0xea567714
je 0x180263817
jmp 0x1802636d5
or bl, r10b
pop rbp
clc
push rdx
movsb byte [rdi], byte [rsi]
cmovae edi, dword [rbx]
push 0x56
jmp 0x180262cef
sti
jp 0x1802637c3
int1
adc ecx, dword [rsp + rbp*4 + 0xd]
std
mov ebx, edx
ret