Function at 0x180235a10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rax, rsi
add rax, 0xb8
cmp byte [rax], 0xa
jb 0x180235b62
mov eax, dword [0x18051e2a8]
xor edx, edx
div dword [0x18051e2ac]
sub eax, 0x4909540d
add eax, 0x541db12d
add eax, 0xb70f816c
cmp eax, 0x8cb525f5
je 0x180235e08
jmp 0x180235a5f
mov eax, dword [0x18051e2b0]
xor eax, dword [0x18051e2b4]
or eax, 0xf23f5d16
or eax, 0x478c6893
imul ecx, eax, 0x7894bdb9
mov rax, rsi
add rax, 0xc8
cmp ecx, 0x89452e7b
ja 0x180235a5f
jmp 0x180235a8e
mov rdi, qword [rax]
cmp rdi, 0
sete cl
mov eax, dword [0x18051e2b8]
xor edx, edx
div dword [0x18051e2bc]
sub eax, 0xd360b4cf
add eax, 0x31d665b4
xor eax, 0x9b8c8590
cmp eax, 0x5e0be82
jb 0x180235e19
jmp 0x180235ac2
mov eax, dword [0x18051e2c0]
xor eax, dword [0x18051e2c4]
and eax, 0xcaaa573f
add eax, 0x55325b32
add eax, 0x184323e5
cmp eax, 0xc4a90739
jbe 0x180235ac2
test cl, 1
jne 0x180235b62
jmp 0x180235aeb
mov rbx, qword [rsi + 0xc0]
mov eax, dword [0x18051e2c8]
xor edx, edx
div dword [0x18051e2cc]
xor eax, 0x4838db17
mov ecx, 0x33c5bd69
xor edx, edx
div ecx
mov ecx, 0x30f0e4c6
xor edx, edx
div ecx
cmp eax, 0x4517727b
ja 0x180235e26
mov eax, dword [0x18051e2d0]
imul eax, dword [0x18051e2d4]
imul ebp, eax, 0xbe4aed5b
xor ebp, 0xf8bbf03c
xor ebp, 0x29b8cde7
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
cmp ebp, 0xce48b32a
ja 0x180235e26
jmp 0x180235b60
jmp 0x180235b62
mov rax, rsi
add rax, 0x60
mov al, byte [rax]
cmp al, 2
jb 0x180235b9e
mov rdi, qword [rsi + 0x68]
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
mov rcx, rdi
add rcx, 0x18
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
call rax
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1802cbf20
mov rax, rsi
add rax, 0x70
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, rsi
add rcx, 0x88
mov rdx, qword [rsi + 0x78]
mov r8, qword [rsi + 0x80]
call rax
mov rax, qword [rsi + 0x90]
mov rax, qword [rax + 0x20]
mov rcx, rsi
add rcx, 0xa8
mov rdx, qword [rsi + 0x98]
mov r8, qword [rsi + 0xa0]
call rax
mov rdx, qword [rsi + 0x50]
cmp rdx, 0
je 0x180235c0b
mov rax, rsi
add rax, 0x48
mov rcx, qword [rax]
shl rdx, 2
mov r8d, 2
call fcn.1802cbf20
mov rbx, rsi
add rbx, 0x18
mov rdi, rsi
add rdi, 0x20
mov r14, qword [rsi + 0x20]
mov eax, dword [0x18051e2d8]
and eax, dword [0x18051e2dc]
and eax, 0xcfa63f2e
xor eax, 0xc32e35fe
or eax, 0x21935dac
cmp eax, 0x73aa6f9
je 0x180235e48
mov ecx, dword [0x18051e2e0]
or ecx, dword [0x18051e2e4]
sub ecx, 0x23e8d550
and ecx, 0xefb2815a
add ecx, 0x86bdf015
mov r15, qword [rsi + 0x28]
cmp r15, 0
sete al
cmp ecx, 0x82592f2a
jae 0x180235e48
jmp 0x180235c7a
test al, 1
jne 0x180235cda
jmp 0x180235c80
xor r12d, r12d
jmp 0x180235c85
imul rax, r12, 0x68
mov r13, r14
add r13, rax
add r12, 1
mov rax, qword [r13 + 0x40]
cmp rax, 0
je 0x180235cba
mov rax, qword [rax + 0x20]
mov rcx, r13
add rcx, 0x58
mov rdx, qword [r13 + 0x48]
mov r8, r13
add r8, 0x50
mov r8, qword [r8]
call rax
jmp 0x180235cba
mov rax, qword [r13 + 0x18]
mov rax, qword [rax + 0x20]
mov rcx, r13
add rcx, 0x30
mov rdx, qword [r13 + 0x20]
mov r8, qword [r13 + 0x28]
call rax
cmp r12, r15
jne 0x180235c85
jmp 0x180235cda
mov rax, qword [rbx]
cmp rax, 0
sete cl
test cl, 1
jne 0x180235cff
jmp 0x180235ceb
mov rcx, qword [rdi]
imul rdx, rax, 0x68
mov r8d, 8
call fcn.1802cbf20
jmp 0x180235cff
mov rbx, rsi
add rbx, 0x30
mov rdi, rsi
add rdi, 0x38
mov r14, qword [rsi + 0x38]
mov r15, qword [rsi + 0x40]
cmp r15, 0
je 0x180235d4e
xor r12d, r12d
jmp 0x180235d20
imul rax, r12, 0x48
mov r8, r14
add r8, rax
add r12, 1
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + 0x20]
mov rcx, r8
add rcx, 0x38
mov rdx, qword [r8 + 0x28]
mov r8, qword [r8 + 0x30]
call rax
cmp r12, r15
jne 0x180235d20
jmp 0x180235d4e
mov rax, qword [rbx]
cmp rax, 0
sete cl
test cl, 1
jne 0x180235d71
jmp 0x180235d5f
mov rcx, qword [rdi]
imul rdx, rax, 0x48
mov r8d, 8
call fcn.1802cbf20
mov rsi, qword [rsi + 0xd0]
cmp rsi, 0
sete al
test al, 1
jne 0x180235df7
jmp 0x180235d85
mov rcx, rsi
call fcn.1802695e0
mov rcx, rsi
mov edx, 0x20
mov r8d, 8
call fcn.1802cbf20
mov eax, dword [0x18051e2e8]
imul eax, dword [0x18051e2ec]
and eax, 0xb002ffae
imul eax, eax, 0xc228adc1
mov ecx, 0x70db08b
xor edx, edx
div ecx
cmp eax, 0x8b4ae31e
je 0x180235e55
mov eax, dword [0x18051e2f0]
xor edx, edx
div dword [0x18051e2f4]
xor eax, 0x15b104e6
mov ecx, 0x13e1e043
xor edx, edx
div ecx
imul eax, eax, 0x9606c0be
cmp eax, 0xf7ff2ec1
ja 0x180235e55
jmp 0x180235df7
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
push 0x10460b79
invalid
movsb byte [rdi], byte [rsi]
imul ebx, dword [rcx + rbx*4], 0x2f9ba247
jmp 0x180235ac0
sub eax, 0x7ebcd3d0
jb 0x180235e72
popfq
or dil, byte [rbx - 0x2676b779]
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
jmp 0x180235b22
sub byte [0x1e4560d16], bl
xchg ebp, eax
retf 0xeee9
mov ebx, 0x1070e577
xchg esp, eax
sub al, cl
jmp 0x180235dcc