Function at 0x180297ef0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
mov rbx, rdx
mov rsi, rcx
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov r8, rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov r12, rsp
mov rax, rbx
add rax, 0x18
mov r14, qword [rax]
mov ecx, 0x70
mov rax, r14
mul rcx
mov rdi, rax
seto al
movabs rcx, 0x7ffffffffffffff8
cmp rdi, rcx
seta cl
or al, cl
xor ecx, ecx
test al, 1
jne 0x180298011
mov eax, dword [0x180524930]
xor eax, dword [0x180524934]
mov ecx, 0x33a26ec3
xor edx, edx
div ecx
add eax, 0x5519f8fa
imul eax, eax, 0x47a9761b
cmp eax, 0xc3b13863
je 0x1802986ba
mov ecx, dword [0x180524938]
or ecx, dword [0x18052493c]
xor ecx, 0x68892517
add ecx, 0x32e314eb
sub ecx, 0xd2d118a
cmp rdi, 0
sete al
cmp ecx, 0xab1c0a25
je 0x1802986ba
jmp 0x180297fc6
xor r13d, r13d
mov r15d, 8
test al, 1
mov qword [rbp + 0xa0], r8
jne 0x18029801d
jmp 0x180297fdc
mov al, byte [0x1805297c8]
sub rsp, 0x20
mov rcx, rdi
mov edx, 8
call fcn.1802cbf10
add rsp, 0x20
mov r15, rax
cmp r15, 0
sete al
mov ecx, 8
test al, 1
jne 0x180298011
jmp 0x18029800c
mov r13, r14
jmp 0x18029801d
sub rsp, 0x20
mov rdx, rdi
call fcn.180407090
mov rcx, r12
add rcx, 0x10
mov rax, r12
add rax, 0x18
mov qword [rbp + 0x58], rax
sub rsp, 0x20
mov qword [rbp + 0x78], rcx
xor edx, edx
mov r8d, 0x10
call fcn.1804691b0
add rsp, 0x20
mov qword [r12], r13
mov rax, r12
add rax, 8
mov qword [rbp + 0x80], rax
mov qword [r12 + 8], r15
mov rax, qword [rbx]
xor r15d, r15d
cmp r14, 0
mov ecx, 0
mov r8d, 0
mov rdi, r13
je 0x18029810b
mov r15, qword [rbx + 0x10]
xor ecx, ecx
cmp r15, rax
mov rdx, rax
cmovb rdx, rcx
sub r15, rdx
mov rcx, rax
sub rcx, r15
cmp rcx, r14
setb dl
test dl, 1
jne 0x1802980a3
jmp 0x1802980ae
sub r14, rcx
mov rcx, rax
mov r8, r14
jmp 0x18029810b
mov eax, dword [0x180524940]
and eax, dword [0x180524944]
add eax, 0xdb22b3e8
add eax, 0xe97989ed
or eax, 0xefa5f60
cmp eax, 0x38a6f9df
jbe 0x1802986c7
mov eax, dword [0x180524948]
or eax, dword [0x18052494c]
xor eax, 0x4825e883
sub eax, 0xef30de72
mov ecx, 0x4e116f39
xor edx, edx
div ecx
mov rcx, r15
add rcx, r14
cmp eax, 0x67a583e3
jae 0x1802986c7
jmp 0x180298106
xor r8d, r8d
jmp 0x18029810b
mov qword [rbp + 0x90], r8
mov qword [rbp + 0x98], r12
mov qword [rbp + 0x70], rsi
mov r9, qword [rbx + 8]
imul rax, r15, 0x70
mov r10, r9
add r10, rax
mov qword [rbp + 0x48], rcx
imul rax, rcx, 0x70
mov r12, r9
add r12, rax
imul rax, r8, 0x70
mov r11, r9
add r11, rax
mov rax, r12
sub rax, r10
mov ecx, 0x70
xor edx, edx
div rcx
mov r13, rax
mov qword [rbp + 0x50], r13
add r13, r8
xor ebx, ebx
cmp r13, rdi
mov qword [rbp + 0xa8], r9
mov qword [rbp + 0x40], r15
ja 0x180298181
mov rsi, rdi
xor r15d, r15d
mov r8, qword [rbp + 0xa0]
jmp 0x1802982be
mov qword [rbp + 0xb0], r11
mov qword [rbp + 0x88], r10
sub rsp, 0x30
mov rsi, qword [rbp + 0x98]
mov rcx, rsi
xor edx, edx
mov r8, r13
mov r9d, 8
mov qword [rsp + 0x20], 0x70
call fcn.180268a00
add rsp, 0x30
mov rsi, qword [rsi]
mov rax, qword [rbp + 0x58]
mov rbx, qword [rax]
mov rax, qword [rbp + 0x78]
mov r14, qword [rax]
mov rax, rdi
sub rax, rbx
cmp r14, rax
mov r10, qword [rbp + 0x88]
mov r11, qword [rbp + 0xb0]
ja 0x1802981fa
mov r15, r14
mov r8, qword [rbp + 0xa0]
mov r9, qword [rbp + 0xa8]
jmp 0x1802982be
mov rax, rdi
sub rax, r14
mov r8, rbx
sub r8, rax
cmp rax, r8
setbe cl
mov rdx, rsi
sub rdx, rdi
cmp rdx, r8
setb dl
or cl, dl
test cl, 1
jne 0x180298221
jmp 0x180298278
mov r15, rsi
sub r15, rax
mov rcx, qword [rbp + 0x80]
mov rcx, qword [rcx]
imul r8, r14, 0x70
mov rdx, rcx
add rdx, r8
imul r8, r15, 0x70
add rcx, r8
imul r8, rax, 0x70
sub rsp, 0x20
call fcn.180468b10
add rsp, 0x20
mov rax, qword [rbp + 0x78]
mov qword [rax], r15
mov r8, qword [rbp + 0xa0]
mov r9, qword [rbp + 0xa8]
mov r10, qword [rbp + 0x88]
mov r11, qword [rbp + 0xb0]
jmp 0x1802982be
mov rax, qword [rbp + 0x80]
mov rdx, qword [rax]
imul rax, rdi, 0x70
mov rcx, rdx
add rcx, rax
imul r8, r8, 0x70
sub rsp, 0x20
call fcn.180468b10
add rsp, 0x20
mov r15, r14
mov r8, qword [rbp + 0xa0]
mov r9, qword [rbp + 0xa8]
mov r10, qword [rbp + 0x88]
mov r11, qword [rbp + 0xb0]
jmp 0x1802982be
add rbx, r15
xor eax, eax
cmp rbx, rsi
mov rcx, rsi
cmovb rcx, rax
sub rbx, rcx
mov qword [r8], r10
mov rdi, r8
add rdi, 8
mov qword [r8 + 8], r12
mov r15, r8
add r15, 0x10
mov qword [r8 + 0x10], r9
mov r14, r8
add r14, 0x18
mov qword [r8 + 0x18], r11
mov rax, rsi
sub rax, rbx
mov rcx, qword [rbp + 0x98]
mov qword [rbp + 0x60], rcx
lea r9, [rbp + 0x60]
add r9, 8
mov qword [rbp + 0x68], 0
cmp rax, r13
jae 0x18029854a
mov qword [rbp + 0x30], rbx
mov qword [rbp - 0x38], r8
lea rcx, [rbp - 0x38]
add rcx, 8
mov qword [rbp - 0x30], rax
mov r13, qword [rbp + 0x98]
cmp rsi, rbx
jne 0x18029834d
mov rax, r13
mov r14, qword [rbp + 0xa8]
jmp 0x18029841e
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], r13
lea rax, [rbp + 0x30]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], r9
mov qword [rbp - 0x60], 0
lea rax, [rbp - 0x80]
mov qword [rbp + 0x20], rax
cmp r10, r12
je 0x1802983b8
mov qword [rbp + 0xb0], r11
mov rbx, r9
mov rsi, r10
add rsi, 0x70
mov qword [r8], rsi
lea rcx, [rbp + 0x20]
sub rsp, 0x20
mov rdx, r10
call fcn.18027d1d0
add rsp, 0x20
test al, 1
mov r10, rsi
mov r8, qword [rbp + 0xa0]
mov r9, rbx
mov r11, qword [rbp + 0xb0]
jne 0x180298407
jmp 0x180298371
lea rax, [rbp - 0x80]
mov qword [rbp + 0x18], rax
mov rdx, qword [rbp + 0xa8]
jmp 0x1802983c9
cmp rdx, r11
je 0x180298405
mov r12, r11
mov rbx, r9
mov rsi, rdx
add rsi, 0x70
mov qword [r15], rsi
lea rcx, [rbp + 0x18]
sub rsp, 0x20
call fcn.18027d1d0
add rsp, 0x20
test al, 1
mov rdx, rsi
mov r8, qword [rbp + 0xa0]
mov r9, rbx
mov r11, r12
jne 0x180298405
jmp 0x1802983c9
jmp 0x180298409
jmp 0x180298409
mov rax, qword [rbp + 0x60]
mov r10, qword [r8]
mov r12, qword [rdi]
mov rcx, qword [r15]
mov r11, qword [r14]
mov r14, rcx
jmp 0x18029841e
mov qword [rbp + 0x28], 0
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r9
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x58]
mov qword [rbp + 0x10], rax
cmp r10, r12
je 0x1802984a2
sub r12, r10
mov qword [rbp + 0xb0], r11
mov rbx, r9
mov ecx, 0x70
mov rax, r12
xor edx, edx
div rcx
mov rdi, rax
xor esi, esi
jmp 0x18029846c
imul rax, rsi, 0x70
mov rdx, r10
add rdx, rax
lea rcx, [rbp + 0x10]
sub rsp, 0x20
mov r15, r10
call fcn.18027d520
mov r10, r15
add rsp, 0x20
add rsi, 1
cmp rsi, rdi
jne 0x18029846c
mov r9, rbx
mov r11, qword [rbp + 0xb0]
jmp 0x1802984a2
mov rbx, qword [rbp + 0x70]
lea rax, [rbp - 0x58]
mov qword [rbp + 8], rax
cmp r14, r11
je 0x1802984f4
mov r15, r9
sub r11, r14
mov ecx, 0x70
mov rax, r11
xor edx, edx
div rcx
mov rdi, rax
xor esi, esi
imul rax, rsi, 0x70
mov rdx, r14
add rdx, rax
lea rcx, [rbp + 8]
sub rsp, 0x20
call fcn.18027d520
add rsp, 0x20
add rsi, 1
cmp rsi, rdi
jne 0x1802984cb
mov r9, r15
jmp 0x1802984f4
mov eax, dword [0x180524950]
xor edx, edx
div dword [0x180524954]
or eax, 0xb3ebb9bb
mov ecx, 0x1796e02d
xor edx, edx
div ecx
sub eax, 0x6bca9191
cmp eax, 0xd1fd18cc
jae 0x1802986d4
jmp 0x180298522
mov eax, dword [0x180524958]
xor eax, dword [0x18052495c]
and eax, 0x1bc8369e
or eax, 0xd213b6f5
imul eax, eax, 0x240be98e
cmp eax, 0x1b24d294
jae 0x180298522
jmp 0x180298675
mov qword [rbp + 0x38], rbx
mov eax, dword [0x180524960]
xor edx, edx
div dword [0x180524964]
sub eax, 0xb7144d0d
xor eax, 0x14eea09c
add eax, 0x26ee8887
cmp eax, 0x16c25246
mov rbx, qword [rbp + 0x70]
mov r13, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x90]
mov r12, qword [rbp + 0x50]
jbe 0x1802986e5
jmp 0x180298599
mov eax, dword [0x180524968]
or eax, dword [0x18052496c]
imul eax, eax, 0x622fd700
imul eax, eax, 0x51bf4590
imul ecx, eax, 0x1f7b8940
mov qword [rbp - 0x28], r13
lea rax, [rbp - 0x28]
add rax, 8
cmp ecx, 0xf4d73bfd
je 0x180298599
jmp 0x1802985cd
lea rcx, [rbp + 0x38]
mov qword [rax], rcx
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x10], 0
lea rax, [rbp - 0x28]
mov qword [rbp], rax
cmp rdx, qword [rbp + 0x48]
je 0x18029862a
mov r14, r9
xor esi, esi
jmp 0x1802985f5
imul rax, rsi, 0x70
mov rdx, r10
add rdx, rax
mov rcx, rbp
sub rsp, 0x20
mov r15, r10
call fcn.18027d520
mov r10, r15
add rsp, 0x20
add rsi, 1
cmp rsi, r12
jne 0x1802985f5
mov r9, r14
mov r8, qword [rbp + 0x90]
jmp 0x18029862a
lea rax, [rbp - 0x28]
mov qword [rbp - 8], rax
cmp r8, 0
sete al
test al, 1
jne 0x180298673
jmp 0x18029863f
mov r14, r9
xor esi, esi
jmp 0x180298646
imul rax, rsi, 0x70
mov rdx, rdi
add rdx, rax
lea rcx, [rbp - 8]
sub rsp, 0x20
call fcn.18027d520
add rsp, 0x20
add rsi, 1
cmp rsi, qword [rbp + 0x90]
jne 0x180298646
mov r9, r14
jmp 0x180298673
jmp 0x180298675
mov rax, qword [r9]
mov rcx, qword [rbp + 0x60]
add rax, qword [rcx + 0x18]
mov qword [rcx + 0x18], rax
mov rax, qword [r13]
mov qword [rbx], rax
mov rax, qword [r13 + 8]
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x10]
mov qword [rbx + 0x10], rax
mov rax, qword [r13 + 0x18]
mov qword [rbx + 0x18], rax
mov rax, rbx
lea rsp, [rbp + 0xb8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
enter 0x42c, 0x32
clc
sbb dword [rax - 0x7f], ebx
jmp 0x180297f93
retf 0xd3aa
mov ah, 0x11
push rbx
sub al, 0x7a
rcr dword [rcx], cl
in eax, dx
or ch, cl
cmp edi, esi
invalid
sbb dword [rdx], 0xab469720
sti
invalid