Function at 0x180273650
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx]
mov rdi, rsi
add rdi, 0x10
mov r12, rsi
add r12, 0x18
mov rax, qword [rsi + 0x18]
mov r14, qword [rsi + 0x20]
test rax, rax
setne bl
mov r15, rsi
add r15, 0x20
test r14, r14
setne cl
and bl, cl
cmp rax, 0
je 0x18027373a
mov rax, rsi
add rax, 0x28
mov r13, qword [rax]
cmp r14, 0
sete al
test al, 1
jne 0x18027373a
jmp 0x1802736b2
mov rax, qword [r13]
cmp rax, 0
je 0x1802736c3
mov rcx, r14
call rax
jmp 0x1802736c3
mov rdx, qword [r13 + 8]
mov eax, dword [0x180521cc0]
add eax, dword [0x180521cc4]
and eax, 0x72ef5f98
imul eax, eax, 0x62d08c61
and eax, 0xba67947e
cmp eax, 0x3412fb04
jb 0x18027394c
jmp 0x1802736f0
mov eax, dword [0x180521cc8]
imul eax, dword [0x180521ccc]
add eax, 0xe1ceb6e
and eax, 0x222ae1e8
imul eax, eax, 0x7bedd78d
mov r8, qword [r13 + 0x10]
movabs rcx, 0x8000000000000001
cmp r8, rcx
setb cl
cmp eax, 0x8d6b6b7e
ja 0x1802736f0
jmp 0x18027372a
cmp rdx, 0
je 0x18027373a
mov rcx, r14
call fcn.1802cbf20
jmp 0x18027373a
mov qword [r12], 0
mov rcx, qword [rdi]
cmp rcx, 0
sete al
test al, 1
jne 0x1802738a8
jmp 0x180273756
add rcx, 0x10
and bl, 1
mov dl, bl
call fcn.180438a80
mov rax, qword [rdi]
cmp rax, 0
je 0x1802737f2
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
mov eax, dword [0x180521cd0]
xor edx, edx
div dword [0x180521cd4]
and eax, 0x64b70194
mov r8d, 0x8cc4b896
xor edx, edx
div r8d
mov r8d, 0xed609c3c
xor edx, edx
div r8d
cmp eax, 0x44cabdef
ja 0x18027395d
jmp 0x1802737b3
mov edx, dword [0x180521cd8]
add edx, dword [str._eP]
and edx, 0x3764f48d
or edx, 0x95da4449
xor edx, 0x7dfff73d
cmp rcx, 1
sete al
cmp edx, 0xf52a7047
jae 0x1802737b3
jmp 0x1802737e2
test al, 1
jne 0x1802737e8
jmp 0x1802737f2
mov rcx, rdi
call fcn.180278fc0
jmp 0x1802737f2
mov rax, qword [r12]
cmp rax, 0
sete cl
mov eax, dword [0x180521ce0]
xor edx, edx
div dword [0x180521ce4]
and eax, 0x23429a30
mov r8d, 0xa75ccb27
xor edx, edx
div r8d
and eax, 0x89948ae1
cmp eax, 0x612327e9
jae 0x18027396e
mov eax, dword [0x180521ce8]
or eax, dword [0x180521cec]
sub eax, 0x32225e7d
add eax, 0xa0d81e97
mov r8d, 0xe5ac2623
xor edx, edx
div r8d
cmp eax, 0x7fdd1660
je 0x18027396e
test cl, 1
jne 0x1802738a8
jmp 0x18027385e
mov rdi, qword [r15]
mov rax, rsi
add rax, 0x28
mov rbx, qword [rax]
cmp rdi, 0
sete al
test al, 1
jne 0x1802738a8
jmp 0x180273878
mov rax, qword [rbx]
cmp rax, 0
sete cl
test cl, 1
jne 0x180273890
jmp 0x180273889
mov rcx, rdi
call rax
jmp 0x180273890
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
cmp rdx, 0
je 0x1802738a8
mov rcx, rdi
call fcn.1802cbf20
jmp 0x1802738a8
mov eax, dword [0x180521cf0]
xor eax, dword [0x180521cf4]
and eax, 0x1c43f556
add eax, 0x909693e3
mov ecx, 0x92d6666b
xor edx, edx
div ecx
cmp eax, 0xd15cf77c
je 0x18027397f
mov eax, dword [0x180521cf8]
and eax, dword [0x180521cfc]
mov ecx, 0xe5480948
xor edx, edx
div ecx
mov ecx, 0x73959610
xor edx, edx
div ecx
imul ecx, eax, 0x8bfd0f
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
cmp ecx, 0x7082205d
jae 0x18027397f
jmp 0x18027390d
test al, 1
jne 0x18027393c
add dword [rbp + 0x2b], esi
jmp 0x180273913
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
test al, 1
jne 0x180273927
jmp 0x18027393c
mov rcx, rsi
mov edx, 0x30
mov r8d, 8
call fcn.1802cbf20
jmp 0x18027393c
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
invalid
int1
xchg ecx, eax
in al, 0x22
leave
pushfq
retf 0x6f1a
jg 0x18027390e
mov word [rbp - 4], ds
cmp ah, byte [rax - 0x10]
xchg r15, rax
popfq
xchg cl, ch
lodsb al, byte [rsi]
invalid
xchg esp, eax
invalid