Function at 0x18000d0e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rdi
lea rbp, [rax - 0x5f]
sub rsp, 0xf8
mov qword [rax - 0x20], rsi
lea rdx, [rcx + 0x18]
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov r13, rcx
lea rcx, [rbp - 0x21]
call fcn.180001c30
mov rax, qword gs:[0x58]
xor r12d, r12d
mov edx, dword [0x18039b468]
mov ecx, 4
mov r8, qword [rax + rdx*8]
mov eax, dword [rcx + r8]
cmp dword [0x1803a15d0], eax
jle 0x18000d1a8
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18000d1a8
xorps xmm0, xmm0
xor r8d, r8d
xor edx, edx
movdqa xmmword [0x1803a14e0], xmm0
call fcn.180354610
lea rcx, [0x1803a14f0]
mov qword [0x1803a14e0], rax
call fcn.180001990
lea rcx, [0x18037d290]
mov qword [0x1803a1508], r12
mov qword [0x1803a1510], 0xf
mov byte [0x1803a14f8], r12b
mov byte [0x1803a1518], r12b
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov dword [rbp + 0x67], 0x8e8258
mov qword [rbp + 0x77], r12
mov rax, qword [rbp + 0x77]
nop word [rax + rax]
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x77]
sub cl, 0x14
xor cl, byte [rbp + rax + 0x68]
mov rax, qword [rbp + 0x77]
mov byte [rbp + rax + 0x68], cl
mov rax, qword [rbp + 0x77]
inc rax
mov qword [rbp + 0x77], rax
mov rax, qword [rbp + 0x77]
cmp rax, 2
jb 0x18000d1c0
lea r8, [rbp + 0x68]
mov byte [rbp + 0x6a], r12b
lea rdx, [rbp - 0x59]
lea rcx, [0x1803a14e0]
call fcn.180004da0
mov rsi, qword [rbp - 0x51]
mov rdi, qword [rbp - 0x59]
cmp rsi, rdi
je 0x18000d3d0
sub esi, edi
cmp esi, 4
jb 0x18000d3d0
mov eax, dword [rdi]
mov dword [rbp + 0x6f], eax
mov qword [rbp + 0x7f], 4
mov qword [rbp + 0x77], r12
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x7f]
add rcx, rax
mov qword [rsp + 0xf0], rbx
mov qword [rbp + 0x77], rcx
mov rbx, qword [rbp + 0x77]
mov rdi, qword [rbp - 0x59]
mov qword [rsp + 0xc8], r15
mov r15d, r12d
cmp dword [rbp + 0x6f], r12d
jbe 0x18000d3c0
mov qword [rsp + 0xd0], r14
mov r14d, esi
mov qword [rbp - 0x79], r12
mov qword [rbp - 0x71], 0xf
mov byte [rsp + 0x20], r12b
mov word [rbp - 0x69], r12w
mov dword [rbp - 0x65], r12d
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x31], r12
mov qword [rbp - 0x29], 0xf
mov byte [rbp - 0x41], r12b
cmp ebx, esi
jae 0x18000d2bb
mov eax, ebx
inc ebx
movzx edx, byte [rax + rdi]
test dl, dl
je 0x18000d2bb
lea rcx, [rbp - 0x41]
call fcn.180351db0
cmp ebx, esi
jb 0x18000d2a2
lea rcx, [rsp + 0x20]
call fcn.180353810
mov r8d, 0x20
lea rdx, [rbp - 0x41]
lea rcx, [rsp + 0x20]
call fcn.180362260
lea rcx, [rbp - 0x41]
mov qword [rbp - 0x31], r12
mov qword [rbp - 0x29], 0xf
mov byte [rbp - 0x41], r12b
call fcn.180353810
mov ecx, ebx
lea rax, [rcx + 2]
cmp rax, r14
jbe 0x18000d304
mov word [rbp - 0x69], r12w
jmp 0x18000d335
movzx eax, word [rcx + rdi]
mov word [rbp - 0x69], ax
mov qword [rbp + 0x7f], 1
mov qword [rbp + 0x77], 1
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x7f]
add rcx, rax
mov qword [rbp + 0x77], rcx
mov rax, qword [rbp + 0x77]
mov rdi, qword [rbp - 0x59]
add ebx, eax
mov ecx, ebx
lea rax, [rcx + 4]
cmp rax, r14
jbe 0x18000d346
mov dword [rbp - 0x65], r12d
jmp 0x18000d371
mov eax, dword [rcx + rdi]
mov dword [rbp - 0x65], eax
mov qword [rbp + 0x7f], 4
mov qword [rbp + 0x77], r12
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x7f]
add rcx, rax
mov qword [rbp + 0x77], rcx
mov rax, qword [rbp + 0x77]
mov rdi, qword [rbp - 0x59]
add ebx, eax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x19]
call fcn.1803520c0
movzx eax, word [rbp - 0x69]
lea rdx, [rbp - 0x19]
mov word [rbp + 7], ax
mov rcx, r13
mov eax, dword [rbp - 0x65]
mov dword [rbp + 0xb], eax
mov rax, qword [rbp - 0x61]
mov qword [rbp + 0xf], rax
call fcn.18000c940
lea rcx, [rsp + 0x20]
call fcn.180353810
inc r15d
cmp r15d, dword [rbp + 0x6f]
jb 0x18000d270
mov r14, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
test rdi, rdi
je 0x18000d41d
mov rdx, qword [rbp - 0x49]
mov rax, rdi
sub rdx, rdi
cmp rdx, 0x1000
jb 0x18000d415
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d42f
mov rcx, rdi
call fcn.180360d9c
mov rcx, qword [rbp - 0x21]
add rsp, 0xf8
pop rdi
pop rbp
jmp fcn.180001ae0
call fcn.1803687c0
int3