Function at 0x180025db0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r13
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rdi, rdx
mov rsi, rcx
mov edx, 0x19e42122
mov ecx, 0x89a17f76
mov r13, r9
mov rbx, r8
call fcn.180048dc0
test rax, rax
je 0x1800263ad
xor ecx, ecx
mov edx, 0x8a0
mov r8d, 0x3000
lea r9d, [rcx + 0x40]
call rax
mov qword [rbp - 0x80], rax
test rax, rax
je 0x1800263ad
lea rcx, [rax + 0x800]
mov qword [rsp + 0x1a0], r12
lea rdx, [0x180025140]
mov qword [rbp - 0x70], rcx
mov r8d, 0x800
mov rcx, rax
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b0], r15
call fcn.180046390
mov edx, 0xc2cf1adf
mov ecx, 0x89a17f76
call fcn.180048dc0
mov edx, 0xefaaa078
mov ecx, 0x89a17f76
mov qword [rbp - 0x58], rax
call fcn.180048dc0
mov edx, 0x2c4347
mov ecx, 0x89a17f76
mov qword [rbp - 0x48], rax
call fcn.180048dc0
mov edx, 0xded8c1c0
mov ecx, 0x89a17f76
mov qword [rbp - 0x50], rax
call fcn.180048dc0
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x38], rbx
mov byte [rbp + 0x3c], 0
mov qword [rbp - 0x60], rax
nop
xor edx, edx
xor ecx, ecx
call fcn.180065b30
mov byte [rbp + 0x3c], al
test al, al
je 0x180025ea0
xor edx, edx
lea rcx, [rbp + 0x40]
lea r8d, [rdx + 0x30]
call fcn.1800462b0
xor esi, esi
xor ecx, ecx
mov r15d, esi
mov qword [rsp + 0x78], rsi
call fcn.18004ddb0
mov edx, 0x13dcdfe4
mov ecx, 0x701ac3f9
mov r14d, esi
mov qword [rsp + 0x58], rax
mov edi, esi
mov qword [rbp - 0x68], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x48], rsi
mov ebx, esi
mov qword [rsp + 0x40], rsi
mov r12d, esi
call fcn.180048dc0
mov qword [rsp + 0x38], rax
call fcn.18004d730
lea r9, [rbp + 0x40]
xor r8d, r8d
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x30
call qword [rsp + 0x38]
test eax, eax
jne 0x18002602c
lea rcx, [0x180081540]
lea rdx, [fcn.180025db0]
mov r13d, esi
nop dword [rax]
mov rbx, qword [rbp + 0x40]
mov rdi, qword [rbp + 0x58]
cmp rcx, rbx
jb 0x180025f70
lea rax, [rdi + rbx]
cmp rcx, rax
jae 0x180025f70
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x68], rdi
cmp rdx, rbx
jb 0x180025f88
lea rax, [rdi + rbx]
cmp rdx, rax
jae 0x180025f88
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x48], rdi
call fcn.180046680
mov rcx, qword [rbp + 0x40]
cmp rcx, rax
jne 0x180025f9e
mov r13, rbx
mov qword [rsp + 0x40], rdi
cmp rcx, qword [0x180093080]
jne 0x180025faf
mov r15, rbx
mov qword [rsp + 0x78], rdi
cmp rcx, qword [rsp + 0x58]
jne 0x180025fbd
mov r14, rbx
mov qword [rbp - 0x68], rdi
cmp qword [rsp + 0x50], rsi
je 0x180025fda
cmp qword [rsp + 0x60], rsi
je 0x180025fda
test r13, r13
je 0x180025fda
test r14, r14
je 0x180025fda
test r15, r15
jne 0x180026017
add r12, rdi
call fcn.18004d730
lea r9, [rbp + 0x40]
xor r8d, r8d
mov rdx, r12
mov rcx, rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x30
call qword [rsp + 0x38]
lea rcx, [0x180081540]
lea rdx, [fcn.180025db0]
test eax, eax
je 0x180025f50
mov rdi, qword [rbp - 0x68]
mov qword [rsp + 0x38], r13
mov r13, qword [rbp + 0xb8]
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp - 0x60]
mov qword [rbp - 0x20], rax
mov rax, qword [rsp + 0x50]
mov r8d, 0xa0
mov qword [rbp - 8], rax
mov rax, qword [rsp + 0x68]
mov qword [rbp - 0x18], r14
mov qword [rbp], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x10], rdi
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x28], r15
mov qword [rbp + 0x10], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rax
call fcn.180046390
xor ecx, ecx
call fcn.180053f20
xor ecx, ecx
call fcn.180054ba0
mov edx, 0xa87eaa97
mov ecx, 0x89a17f76
mov r14d, eax
call fcn.180048dc0
mov edx, 0xad5c8059
mov ecx, 0x89a17f76
mov r12, rax
mov qword [rsp + 0x40], rax
call fcn.180048dc0
mov edx, 0x285892d1
mov ecx, 0x89a17f76
mov r15, rax
call fcn.180048dc0
mov edx, 0x80402ad8
mov ecx, 0x89a17f76
mov qword [rsp + 0x48], rax
call fcn.180048dc0
mov edx, 0x7e42f614
mov ecx, 0x89a17f76
call fcn.180048dc0
mov edx, 0xf072972d
mov ecx, 0x89a17f76
call fcn.180048dc0
mov rdi, qword [0x180092dd8]
movabs rax, 0x2d3c96b00c36852a
mov qword [rsp + 0x58], rdi
cmp rdi, rax
je 0x1800261d5
lea rcx, [rsp + 0x30]
call fcn.1800465c0
add rdi, 0x38
mov r12d, esi
mov rcx, rdi
call fcn.18003f400
movsxd rcx, eax
shr rcx, 2
test ecx, ecx
jle 0x1800261c1
mov r13, qword [rsp + 0x40]
mov ebx, esi
nop word [rax + rax]
mov edx, ebx
mov rcx, rdi
call fcn.18003f3f0
cmp dword [rax], r14d
je 0x1800261a0
mov edx, ebx
mov rcx, rdi
call fcn.18003f3f0
xor edx, edx
mov r8d, dword [rax]
lea ecx, [rdx + 2]
call r13
mov byte [rsp + 0x70], 1
mov qword [rsp + 0x68], rax
test rax, rax
je 0x180026196
cmp rax, 0xffffffffffffffff
je 0x180026196
mov rcx, rax
call r15
cmp byte [rsp + 0x70], sil
je 0x1800261a0
lea rcx, [rsp + 0x68]
call fcn.180046c90
mov rcx, rdi
inc r12d
add ebx, 4
call fcn.18003f400
movsxd rcx, eax
shr rcx, 2
cmp r12d, ecx
jl 0x180026150
mov r13, qword [rbp + 0xb8]
lea rcx, [rsp + 0x30]
call fcn.180046610
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov rcx, r13
mov ebx, esi
call fcn.18003f400
test eax, eax
jle 0x180026201
mov edx, ebx
mov rcx, r13
call fcn.18003f3f0
movzx ecx, byte [rbp + 0x3c]
inc ebx
xor byte [rax], cl
mov rcx, r13
call fcn.18003f400
cmp ebx, eax
jl 0x1800261e3
mov rcx, qword [0x180093088]
test rcx, rcx
je 0x18002623e
mov eax, dword [rcx + 0x410]
test eax, eax
je 0x18002623e
mov rcx, qword [rcx + 0x418]
mov r9d, esi
movzx eax, byte [rbp + 0x3c]
inc r9d
inc rcx
xor byte [rcx - 1], al
mov rax, qword [0x180093088]
cmp r9d, dword [rax + 0x410]
jb 0x180026221
mov rbx, qword [rbp - 0x70]
mov r15, qword [rbp - 0x80]
mov rcx, rbx
call r15
lea rcx, [rbp - 0x60]
mov r8d, 0xa0
mov rdx, rbx
call fcn.180046390
mov rcx, qword [0x180093088]
test rcx, rcx
je 0x18002629b
mov eax, dword [rcx + 0x410]
test eax, eax
je 0x18002629b
mov rcx, qword [rcx + 0x418]
mov edx, esi
nop dword [rax]
movzx eax, byte [rbp + 0x3c]
inc edx
inc rcx
xor byte [rcx - 1], al
mov rax, qword [0x180093088]
cmp edx, dword [rax + 0x410]
jb 0x180026280
mov rcx, r13
mov ebx, esi
call fcn.18003f400
test eax, eax
jle 0x1800262ce
nop dword [rax]
mov edx, ebx
mov rcx, r13
call fcn.18003f3f0
movzx ecx, byte [rbp + 0x3c]
inc ebx
xor byte [rax], cl
mov rcx, r13
call fcn.18003f400
cmp ebx, eax
jl 0x1800262b0
movabs rax, 0x2d3c96b00c36852a
cmp rdi, rax
je 0x180026364
add rdi, 0x38
mov rcx, rdi
call fcn.18003f400
movsxd rcx, eax
shr rcx, 2
test ecx, ecx
jle 0x180026364
mov r13, qword [rsp + 0x48]
mov ebx, esi
nop
mov edx, ebx
mov rcx, rdi
call fcn.18003f3f0
cmp dword [rax], r14d
je 0x18002634c
mov edx, ebx
mov rcx, rdi
call fcn.18003f3f0
xor edx, edx
mov r8d, dword [rax]
lea ecx, [rdx + 2]
call r12
mov byte [rbp - 0x78], 1
mov qword [rbp - 0x80], rax
test rax, rax
je 0x180026343
cmp rax, 0xffffffffffffffff
je 0x180026343
mov rcx, rax
call r13
cmp byte [rbp - 0x78], 0
je 0x18002634c
lea rcx, [rbp - 0x80]
call fcn.180046c90
mov rcx, rdi
inc esi
add ebx, 4
call fcn.18003f400
movsxd rdx, eax
shr rdx, 2
cmp esi, edx
jl 0x180026300
mov edx, 0xdd79d9b5
mov ecx, 0x89a17f76
call fcn.180048dc0
mov r14, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x1a0]
test rax, rax
je 0x180026395
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call rax
mov al, 1
mov r15, qword [rsp + 0x1b0]
add rsp, 0x170
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor al, al
add rsp, 0x170
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret