Function at 0x180294fb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x180524600]
sub eax, dword [0x180524604]
add eax, 0xd9d0840f
add eax, 0x38335036
imul eax, eax, 0x106f7086
cmp eax, 0xc6415026
je 0x18029532e
jmp 0x180294fe9
mov ecx, dword [0x180524608]
xor ecx, dword [0x18052460c]
or ecx, 0x62dfb6e
sub ecx, 0x54f88cbf
add ecx, 0xb1b594cd
mov rdx, qword [rsi + 0x50]
cmp rdx, 0
sete al
cmp ecx, 0x29293f25
jb 0x180294fe9
jmp 0x18029501c
test al, 1
jne 0x18029503b
jmp 0x180295022
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 rax, rsi
add rax, 0x20
mov rdi, qword [rax]
mov r14, qword [rsi + 0x28]
cmp r14, 0
je 0x18029517b
xor ecx, ecx
jmp 0x18029505e
mov eax, dword [0x180524610]
or eax, dword [0x180524614]
imul eax, eax, 0xa96c7e86
add eax, 0xd304beb2
imul eax, eax, 0x9e3a9aa2
cmp eax, 0xf5b53a5f
je 0x18029533f
jmp 0x180295088
mov r8d, dword [0x180524618]
or r8d, dword [0x18052461c]
sub r8d, 0x6554395e
add r8d, 0xb1c8bb0
sub r8d, 0x1026171d
imul rax, rcx, 0x68
mov r12, rdi
add r12, rax
mov r15, rcx
add r15, 1
mov rax, qword [r12 + 0x40]
cmp rax, 0
sete dl
cmp r8d, 0x8a640e4
je 0x180295088
test dl, 1
jne 0x180295151
jmp 0x1802950d8
mov ecx, dword [0x180524620]
or ecx, dword [0x180524624]
and ecx, 0xe47d74d6
xor ecx, 0xaeed8c36
add ecx, 0x8c21d8df
cmp ecx, 0x81d7b08f
jbe 0x180295350
mov r10d, dword [0x180524628]
or r10d, dword [0x18052462c]
sub r10d, 0x86ba7f8
add r10d, 0x46011b3a
or r10d, 0x2b65eec2
mov r9, qword [rax + 0x20]
mov rcx, r12
add rcx, 0x58
mov rdx, qword [r12 + 0x48]
mov r8, r12
add r8, 0x50
cmp r10d, 0x2128584d
jbe 0x180295350
jmp 0x18029514b
mov r8, qword [r8]
call r9
mov rax, qword [r12 + 0x18]
mov rax, qword [rax + 0x20]
mov rcx, r12
add rcx, 0x30
mov rdx, qword [r12 + 0x20]
mov r8, qword [r12 + 0x28]
call rax
cmp r15, r14
mov rcx, r15
jne 0x18029505e
jmp 0x18029517b
mov rax, qword [rbx]
cmp rax, 0
sete cl
test cl, 1
jne 0x1802951a0
jmp 0x18029518c
imul rdx, rax, 0x68
mov rcx, rdi
mov r8d, 8
call fcn.1802cbf20
jmp 0x1802951a0
mov eax, dword [0x180524630]
and eax, dword [0x180524634]
imul eax, eax, 0x70609665
sub eax, 0xc538f0a6
sub eax, 0x86e1ba39
cmp eax, 0x6c07a598
je 0x18029535d
jmp 0x1802951c9
mov eax, dword [0x180524638]
xor eax, dword [0x18052463c]
mov ecx, 0x6c8e0443
xor edx, edx
div ecx
or eax, 0x5898789b
xor eax, 0x2ee11b58
mov rbx, rsi
add rbx, 0x30
cmp eax, 0x50364df2
je 0x1802951c9
jmp 0x1802951f8
mov rax, rsi
add rax, 0x38
mov rdi, qword [rax]
mov r14, qword [rsi + 0x40]
cmp r14, 0
je 0x18029523f
xor r15d, r15d
jmp 0x180295211
imul rax, r15, 0x48
mov r8, rdi
add r8, rax
add r15, 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 r15, r14
jne 0x180295211
jmp 0x18029523f
mov rax, qword [rbx]
cmp rax, 0
sete cl
test cl, 1
jne 0x180295264
jmp 0x180295250
imul rdx, rax, 0x48
mov rcx, rdi
mov r8d, 8
call fcn.1802cbf20
jmp 0x180295264
mov rax, rsi
add rax, 0x60
mov rdi, qword [rax]
cmp rdi, 0
sete al
test al, 1
jne 0x1802952e9
jmp 0x18029527b
mov eax, dword [0x180524640]
or eax, dword [0x180524644]
xor eax, 0x637b2904
and eax, 0x6e7dab78
imul eax, eax, 0x5175bca5
cmp eax, 0xe25ad109
ja 0x18029536e
jmp 0x1802952a4
mov eax, dword [0x180524648]
and eax, dword [0x18052464c]
imul ebx, eax, 0xe5109c00
sub ebx, 0xa08d1725
and ebx, 0x5e9dfcb0
mov rcx, rdi
call fcn.1802695e0
cmp ebx, 0x5557a74c
jb 0x1802952a4
jmp 0x1802952d4
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1802cbf20
jmp 0x1802952e9
mov rax, rsi
add rax, 0x70
mov rdx, qword [rax]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180295320
cmp rdx, 0
sete al
test al, 1
jne 0x180295320
add dword [rbp + 0x13], esi
jmp 0x18029530f
mov rcx, qword [rsi + 0x78]
mov r8d, 1
call fcn.1802cbf20
jmp 0x180295320
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
loopne 0x180295362
jno 0x18029533c
jmp 0x13c0f8db4
cld
invalid
loop 0x180295354
adc byte [rsi + rsi*2 - 0x4c65bc89], ah
jmp 0x18029530a
adc byte [rdx], 0x25
jg 0x1802953bb
out 0x44, eax
jmp 0x180295102
invalid
or al, byte [rax]
push rbx
sbb eax, 0x59e913e3
invalid
div ebx
out 0xee, eax
invalid
sub al, 0xf1
mov bl, 0x3d
invalid