Function at 0x1800599d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov eax, dword [rcx + 0x3b18]
lea r9, [rbp + 0x67]
mov dword [rbp + 0x67], eax
lea r8, [rbp + 0x67]
xorps xmm0, xmm0
xor ebx, ebx
movdqu xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rbx
mov rdi, rcx
mov qword [rbp + 0x7f], 2
lea rcx, [rbp - 0x29]
mov qword [rbp + 0x77], 2
mov rdx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x7f]
add rdx, rax
mov qword [rbp + 0x77], rdx
mov edx, ebx
mov rax, qword [rbp + 0x77]
add r9, rax
call fcn.180240710
mov qword [rbp + 0x7f], 0x1c9
lea r8, [rdi + 0x3d9c]
mov qword [rbp + 0x77], 0x37
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x7f]
add rcx, rax
mov qword [rbp + 0x77], rcx
lea rcx, [rbp - 0x29]
mov r9, qword [rbp + 0x77]
mov rdx, qword [rbp - 0x21]
mov r9d, r9d
add r9, r8
call fcn.180240710
lea rdx, [rbp - 0x29]
lea rcx, [rdi + 0x3b18]
call fcn.18002dd50
mov rdi, qword [rbp - 0x21]
xorps xmm0, xmm0
mov r14, qword [rbp - 0x29]
mov esi, ebx
mov qword [rbp - 1], rbx
movdqu xmmword [rbp - 0x11], xmm0
sub rdi, r14
je 0x180059ad9
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x180059cd3
mov rdx, rdi
lea rcx, [rbp - 0x11]
call fcn.18023c020
mov rsi, qword [rbp - 0x11]
mov r8, rdi
mov rcx, rsi
mov rdx, r14
call fcn.18024af30
lea r14, [rsi + rdi]
mov qword [rbp - 9], r14
jmp 0x180059add
mov r14, qword [rbp - 9]
mov rax, qword gs:[0x58]
mov ecx, dword [0x1802848b4]
mov qword [rsp + 0x88], r15
mov edx, 4
mov r15, qword [rax + rcx*8]
add r15, rdx
mov eax, dword [r15]
cmp dword [0x18028aa10], eax
jle 0x180059b3d
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x180059b3d
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
mov qword [rbp + 0x17], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
cmp rsi, r14
je 0x180059b7c
mov rdi, r14
lea rcx, [rbp + 7]
sub rdi, rsi
mov rdx, rdi
call fcn.18023c020
mov r8, rdi
mov rdx, rsi
mov rdi, qword [rbp + 7]
mov rcx, rdi
call fcn.18024af30
sub rdi, rsi
add rdi, r14
mov qword [rbp + 0xf], rdi
mov dword [rbp + 0x6f], 0x74637d48
movabs r9, 0xaaaaaaaaaaaaaaab
mov word [rbp + 0x73], 0x77
mov qword [rbp + 0x77], rbx
mov rax, qword [rbp + 0x77]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x77]
movzx r8d, byte [rbp + rax + 0x70]
mov rax, r9
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x77]
shl dl, 3
sub cl, dl
mov edx, 0x6547501e
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x70], dl
mov rax, qword [rbp + 0x77]
inc rax
mov qword [rbp + 0x77], rax
mov rax, qword [rbp + 0x77]
cmp rax, 4
jb 0x180059ba0
lea r8, [rbp + 7]
mov byte [rbp + 0x74], bl
lea rdx, [rbp + 0x70]
lea rcx, [0x18028a930]
call fcn.180003e90
mov eax, dword [r15]
cmp dword [0x18028aa10], eax
mov r15, qword [rsp + 0x88]
jle 0x180059c47
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x180059c47
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
lea rcx, [0x18028a930]
call fcn.180003860
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x180059c89
mov rdx, qword [rbp - 1]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180059c84
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180059ccd
call fcn.180249cb8
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x180059cbf
mov rdx, qword [rbp - 0x19]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180059cba
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180059ccd
call fcn.180249cb8
add rsp, 0x90
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1802514a4
int3
call fcn.18023c000
int3