Function at 0x180298a50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rax, rcx
add rax, 0x18
mov rax, qword [rax]
cmp rax, 0
je 0x180298fe6
mov edx, dword [0x1805249a0]
and edx, dword [0x1805249a4]
or edx, 0x5ad28042
xor edx, 0xf698f554
and edx, 0xef546d6c
cmp edx, 0xbc7469d2
ja 0x180298ffa
jmp 0x180298aa3
mov edx, dword [0x1805249a8]
or edx, dword [0x1805249ac]
xor edx, 0xfe7f5c79
and edx, 0xbfbc7d34
imul r8d, edx, 0xc637a69e
mov rdx, rcx
add rdx, 0x10
cmp r8d, 0x9d391b
jbe 0x180298aa3
jmp 0x180298ad4
mov rdx, qword [rdx]
mov r9, qword [rcx]
xor r8d, r8d
cmp rdx, r9
mov r10, r9
cmovb r10, r8
sub rdx, r10
mov r10, r9
sub r10, rdx
cmp r10, rax
setb dil
mov r8, rdx
add r8, rax
xor r11d, r11d
mov rsi, rax
sub rsi, r10
cmovb rsi, r11
cmp r10, rax
cmovb r8, r9
mov rbx, qword [rcx + 8]
imul rax, rdx, 0x70
mov qword [rsp + 0x80], rbx
add rbx, rax
mov r14, r8
sub r14, rdx
cmp r8, rdx
je 0x180298ce1
lea rax, [rsp + 0xd0]
add rax, 8
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xd0]
add rax, 0x10
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xd0]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xd0]
add rax, 0x28
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xd0]
add rax, 0x30
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x2f], dil
lea r15, [rsp + 0xd0]
add r15, 0x38
lea r12, [rsp + 0xd0]
add r12, 0x20
lea r13, [rsp + 0xd0]
add r13, 0x40
xor ebp, ebp
imul rax, rbp, 0x70
mov rdi, rbx
add rdi, rax
add rbp, 1
mov rdx, qword [rdi]
cmp rdx, 0
je 0x180298bdf
mov rax, rdi
add rax, 8
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov rax, rdi
add rax, 0x18
mov rdx, qword [rax]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180298c1c
cmp rdx, 0
sete al
test al, 1
jne 0x180298c1c
jmp 0x180298c05
mov rax, rdi
add rax, 0x20
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
jmp 0x180298c1c
mov rdx, qword [rdi + 0x30]
movabs rax, 0x8000000000000000
cmp rdx, rax
sete al
test al, 1
jne 0x180298c5a
jmp 0x180298c36
cmp rdx, 0
sete al
test al, 1
jne 0x180298c5a
jmp 0x180298c43
mov rax, rdi
add rax, 0x38
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
jmp 0x180298c5a
mov rax, rdi
add rax, 0x50
mov rcx, qword [rax]
xor edx, edx
cmp rcx, 0
mov eax, 0
je 0x180298cb4
mov rax, qword [rdi + 0x60]
add rdi, 0x58
mov rdx, qword [rdi]
mov r8, qword [rsp + 0x50]
mov qword [r8], 0
mov r8, qword [rsp + 0x48]
mov qword [r8], rcx
mov r8, qword [rsp + 0x40]
mov qword [r8], rdx
mov r8, qword [rsp + 0x38]
mov qword [r8], 0
mov r8, qword [rsp + 0x30]
mov qword [r8], rcx
mov qword [r15], rdx
mov edx, 1
mov qword [rsp + 0xd0], rdx
mov qword [r12], rdx
mov qword [r13], rax
lea rcx, [rsp + 0xd0]
call fcn.180265460
cmp rbp, r14
jne 0x180298bb3
mov dil, byte [rsp + 0x2f]
jmp 0x180298ce1
mov eax, dword [0x1805249b0]
add eax, dword [0x1805249b4]
or eax, 0xd66b1476
or eax, 0xa2e89bc4
sub eax, 0xe056f884
cmp eax, 0x14ee157
jbe 0x180299007
jmp 0x180298d09
mov eax, dword [0x1805249b8]
sub eax, dword [0x1805249bc]
sub eax, 0xfbee739b
and eax, 0xa6f31108
or eax, 0xd841c459
cmp eax, 0x4f65daf1
je 0x180298d09
test dil, 1
jne 0x180298d36
jmp 0x180298fe6
lea rax, [rsp + 0x88]
add rax, 8
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x88]
add rax, 0x10
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x88]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x88]
add rax, 0x28
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x88]
add rax, 0x30
mov qword [rsp + 0x58], rax
lea rbp, [rsp + 0x88]
add rbp, 0x38
lea rdi, [rsp + 0x88]
add rdi, 0x20
lea rbx, [rsp + 0x88]
add rbx, 0x40
xor r14d, r14d
jmp 0x180298db4
imul rax, r14, 0x70
mov r15, qword [rsp + 0x80]
add r15, rax
add r14, 1
mov rdx, qword [r15]
cmp rdx, 0
je 0x180298de1
mov rcx, qword [r15 + 8]
mov r8d, 1
call fcn.1802cbf20
jmp 0x180298de1
mov rax, r15
add rax, 0x18
mov rdx, qword [rax]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180298e6c
cmp rdx, 0
sete al
test al, 1
jne 0x180298e6c
jmp 0x180298e07
mov rcx, qword [r15 + 0x20]
mov r8d, 1
call fcn.1802cbf20
mov eax, dword [0x1805249c0]
add eax, dword [0x1805249c4]
mov ecx, 0xc4ffd944
xor edx, edx
div ecx
xor eax, 0x7f4abb17
or eax, 0x32b4fdae
cmp eax, 0xe0385e1f
ja 0x180299014
jmp 0x180298e42
mov eax, dword [0x1805249c8]
xor edx, edx
div dword [0x1805249cc]
xor eax, 0xc4dd48bb
mov ecx, 0xef7cc2e6
xor edx, edx
div ecx
add eax, 0x5fcfef95
cmp eax, 0xe6f8c5fc
jae 0x180298e42
jmp 0x180298e6c
mov rax, r15
add rax, 0x30
mov rdx, qword [rax]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180298efa
mov eax, dword [0x1805249d0]
sub eax, dword [0x1805249d4]
imul eax, eax, 0xcb6e840
sub eax, 0x5f981b76
add eax, 0xbc670fc9
cmp eax, 0x28eaa0d9
jb 0x180299025
mov ecx, dword [0x1805249d8]
or ecx, dword [0x1805249dc]
and ecx, 0xb79df450
sub ecx, 0x96ece912
xor ecx, 0x16322c4
cmp rdx, 0
sete al
cmp ecx, 0xea8bda47
ja 0x180299025
jmp 0x180298edf
test al, 1
jne 0x180298efa
jmp 0x180298ee5
mov rax, r15
add rax, 0x38
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov rax, r15
add rax, 0x50
mov rax, qword [rax]
xor r13d, r13d
cmp rax, 0
mov r12d, 0
je 0x180298f5b
mov rcx, r15
add rcx, 0x60
mov r12, qword [rcx]
mov rcx, qword [r15 + 0x58]
mov rdx, qword [rsp + 0x78]
mov qword [rdx], 0
mov rdx, qword [rsp + 0x70]
mov qword [rdx], rax
mov rdx, qword [rsp + 0x68]
mov qword [rdx], rcx
mov rdx, qword [rsp + 0x60]
mov qword [rdx], 0
mov rdx, qword [rsp + 0x58]
mov qword [rdx], rax
mov qword [rbp], rcx
mov r13d, 1
mov eax, dword [0x1805249e0]
xor edx, edx
div dword [str.xfP]
imul eax, eax, 0x493b85d8
mov ecx, 0xb7d6e503
xor edx, edx
div ecx
mov ecx, 0x4110a456
xor edx, edx
div ecx
cmp eax, 0x58f320b9
ja 0x180299032
jmp 0x180298f8e
mov r15d, dword [0x1805249e8]
and r15d, dword [0x1805249ec]
sub r15d, 0xb44a620a
and r15d, 0x502ab17f
add r15d, 0xf4a3d14f
mov qword [rsp + 0x88], r13
mov qword [rdi], r13
mov qword [rbx], r12
lea rcx, [rsp + 0x88]
call fcn.180265460
cmp r14, rsi
sete al
cmp r15d, 0x566710a8
jae 0x180298f8e
test al, 1
jne 0x180298fe4
jmp 0x180298db4
jmp 0x180298fe6
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 0xb19cc347
cdq
imul ebx, ebx, 0xffffffe9
invalid
sub dword [rbp + 0x1d69198d], eax
mov ecx, 0xfcf3e900
invalid
invalid
push r12
movabs r13, 0xfffe7ae98b1801e1
call [rbp + 0x3d]
out 0xd5, al
pop rsp
jb 0x180298fbf
pop rbp
cmp eax, 0x725cd5e6
xchg byte [rcx], dl
mov qword [rsp + 0x88], r13
mov qword [rdi], r13
adc dword [rcx + rcx*4 - 0x54], ecx
and al, 0x88
add byte [rax], al
add byte [rcx + rcx*4 + 0x2f], cl
mov qword [rbx], r12
lea rcx, [rsp + 0x88]
call fcn.180265460
jmp 0x180298f8c