Function at 0x180025d60
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 - 0x90]
sub rsp, 0x190
mov rax, qword [0x1800c8010]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rsi, rcx
mov qword [rsp + 0x78], rcx
mov ecx, dword [0x1800ca00c]
mov rax, qword gs:[0x58]
mov r8d, 4
mov rdx, qword [rax + rcx*8]
xor ebx, ebx
lea rdi, [rbx - 1]
lea r15, [0x1800c92c0]
mov eax, dword [r8 + rdx]
cmp dword [0x1800cb378], eax
jg 0x180026224
movdqa xmm0, xmmword [0x1800baf20]
movdqu xmmword [rsp + 0x28], xmm0
movdqa xmm1, xmmword [0x1800bac00]
movdqu xmmword [rsp + 0x38], xmm1
mov dword [rsp + 0x48], 0xb09060f
mov dword [rsp + 0x4c], 0xf7f0a0e
mov dword [rsp + 0x50], 0x73750c7d
mov word [rsp + 0x54], 0x70
mov rcx, rbx
nop dword [rax]
nop dword [rax + rax]
movzx eax, cl
add al, byte [rsp + 0x28]
xor byte [rsp + rcx + 0x29], al
inc rcx
cmp rcx, 0x2c
jb 0x180025e20
mov byte [rsp + 0x55], 0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
lea rax, [rsp + 0x29]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x180025e54
lea rdx, [rsp + 0x29]
lea rcx, [rsp + 0x58]
call fcn.18000b0f0
lea rdx, [rsp + 0x58]
call fcn.18000a540
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x180025e84
mov rcx, qword [rsi]
call rax
mov ebx, eax
mov r12d, 1
movsd xmm1, qword [0x1800ba7c0]
movq rdx, xmm1
lea rcx, [0x1800a7d98]
call fcn.18000ba10
cmp ebx, 0xffffffff
jne 0x1800261aa
cmp qword [0x1800c92d8], 8
cmovae r15, qword [0x1800c92c0]
mov r13, qword [rsi + 0x10]
mov rbx, rsi
cmp qword [rsi + 0x18], 8
jb 0x180025ed1
mov rbx, qword [rsi]
mov r14, qword [0x1800c92d0]
test r14, r14
je 0x180026035
test r13, r13
je 0x180026035
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp - 0x80]
call fcn.180059570
mov rcx, r15
lea rdx, [r15 + r14*2]
mov r9d, 0x100
cmp r15, rdx
je 0x180025f2a
nop dword [rax]
movzx eax, word [rcx]
cmp ax, r9w
jae 0x180025f71
movzx eax, al
mov byte [rbp + rax - 0x80], r12b
add rcx, 2
cmp rcx, rdx
jne 0x180025f10
lea rcx, [r13 - 1]
mov rax, rdi
cmp rcx, rdi
cmovb rax, rcx
lea r8, [rbx + rax*2]
nop dword [rax]
movzx eax, word [r8]
cmp ax, r9w
jae 0x180025f51
cmp byte [rbp + rax - 0x80], 0
jne 0x180025fc6
cmp r8, rbx
je 0x180026035
sub r8, 2
jmp 0x180025f40
inc r8
cmp word [rax + r8*2], 0
je 0x1800261f9
jmp 0x180025f60
lea rcx, [r13 - 1]
mov rax, rdi
cmp rcx, rdi
cmovb rax, rcx
lea r8, [rbx + rax*2]
movzx r9d, word [r15]
nop word [rax + rax]
mov rax, r14
movzx edx, word [r8]
mov rcx, r15
cmp r9w, dx
je 0x180025fc6
cmp rax, r12
je 0x180025fb6
dec rax
add rcx, 2
cmp word [rcx], dx
jne 0x180025fa0
test rcx, rcx
jne 0x180025fc6
cmp r8, rbx
je 0x180025fc1
sub r8, 2
jmp 0x180025f90
mov r8, rdi
jmp 0x180025fcc
sub r8, rbx
sar r8, 1
xor ebx, ebx
cmp r8, 0xffffffffffffffff
je 0x180026012
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], bx
cmp r13, r8
cmovb r8, r13
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x180025ffb
mov rdx, qword [rsi]
lea rcx, [rsp + 0x58]
call fcn.18000af70
lea rcx, [rsp + 0x58]
call fcn.180025d60
mov r12d, eax
movsd xmm1, qword [0x1800ba7c0]
movq rdx, xmm1
lea rcx, [0x1800a7d98]
call fcn.18000ba10
test r12d, r12d
jne 0x180026050
jmp 0x18002619e
movsd xmm1, qword [0x1800ba7c0]
movq rdx, xmm1
lea rcx, [0x1800a7d98]
call fcn.18000ba10
xor ebx, ebx
movdqa xmm0, xmmword [0x1800bae70]
movdqu xmmword [rsp + 0x28], xmm0
movdqa xmm1, xmmword [0x1800bab80]
movdqu xmmword [rsp + 0x38], xmm1
mov dword [rsp + 0x48], 0xd060174
mov dword [rsp + 0x4c], 0xa7d0e73
mov word [rsp + 0x50], 0x7b
mov rcx, rbx
nop word [rax + rax]
movzx eax, byte [rsp + 0x28]
add al, cl
xor byte [rsp + rcx + 0x29], al
inc rcx
cmp rcx, 0x28
jb 0x180026090
mov byte [rsp + 0x51], 0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
lea rax, [rsp + 0x29]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x1800260c4
lea rdx, [rsp + 0x29]
lea rcx, [rsp + 0x58]
call fcn.18000b0f0
lea rdx, [rsp + 0x58]
call fcn.18000a540
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1800260f4
mov rcx, qword [rsi]
xor edx, edx
call rax
test eax, eax
jne 0x1800261aa
movdqa xmm0, xmmword [0x1800bbd00]
movdqu xmmword [rsp + 0x28], xmm0
movdqa xmm1, xmmword [0x1800bbcc0]
movdqu xmmword [rsp + 0x38], xmm1
mov word [rsp + 0x48], 0x3f
mov rcx, rbx
nop word [rax + rax]
movzx eax, byte [rsp + 0x28]
xor byte [rsp + rcx + 0x29], al
movzx eax, byte [rsp + 0x28]
xor byte [rsp + rcx + 0x2a], al
add rcx, 2
cmp rcx, 0x20
jb 0x180026130
mov byte [rsp + 0x49], 0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
lea rax, [rsp + 0x29]
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x180026170
mov r8, rdi
lea rdx, [rsp + 0x29]
lea rcx, [rsp + 0x58]
call fcn.18000b0f0
lea rdx, [rsp + 0x58]
call fcn.18000a540
call rax
cmp eax, 0xb7
je 0x1800261aa
mov rcx, rsi
call fcn.18000af00
xor eax, eax
jmp 0x1800261b7
mov rcx, rsi
call fcn.18000af00
mov eax, 1
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1800555d0
lea r11, [rsp + 0x190]
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
mov word [rsp + 0x26], bx
lea rax, [rsp + 0x22]
mov r8, rdi
jmp 0x180025f60
lea rdx, [rsp + 0x22]
mov rcx, r15
call fcn.18000af70
lea rcx, [0x180086610]
call fcn.180055d1c
nop
lea rcx, [0x1800cb378]
call fcn.180055e88
jmp 0x180025dd6
lea rcx, [0x1800cb378]
call fcn.180055ee8
cmp dword [0x1800cb378], edi
jne 0x180025dd6
mov edx, 0x39d7
mov dword [rsp + 0x20], 0x398b39d7
mov dword [rsp + 0x24], 0x39f7
mov rcx, rbx
nop dword [rax]
nop dword [rax + rax]
lea eax, [rdx + rcx]
xor word [rsp + rcx*2 + 0x22], ax
inc rcx
cmp rcx, 2
jae 0x1800261e7
movzx edx, word [rsp + 0x20]
jmp 0x180026260