Function at 0x180279e80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rbx, r8
mov rdi, rdx
mov r14, rcx
mov rax, qword [r14]
cmp rax, 0
sete al
add r14, 8
test al, 1
jne 0x180279eae
jmp 0x18027a03b
mov r12, qword [r14]
mov eax, 1
lock xadd qword [r12], rax
cmp rax, 0
setl al
test al, 1
jne 0x18027a027
jmp 0x180279ecd
mov eax, dword [0x180522678]
add eax, dword [0x18052267c]
imul eax, eax, 0x358b3792
and eax, 0xd824b005
and eax, 0x98afd4a9
cmp eax, 0x61dca8ab
jbe 0x18027a16b
jmp 0x180279ef6
mov eax, dword [0x180522680]
imul eax, dword [0x180522684]
imul eax, eax, 0x1503fcf7
mov ecx, 0xf8b3351e
xor edx, edx
div ecx
mov ebp, eax
or ebp, 0xf4271bce
mov al, byte [0x1805297c8]
mov ecx, 0x400
mov edx, 0x80
call fcn.1802cbf10
mov rsi, rax
cmp ebp, 0x3a4ea09
jbe 0x180279ef6
jmp 0x180279f3c
cmp rsi, 0
sete al
test al, 1
jne 0x180279f49
jmp 0x180279f5a
mov ecx, 0x80
mov edx, 0x400
call fcn.180407090
ud2
mov r15, r12
add r15, 0x58
mov qword [rsi], 0xcc
mov qword [rsi + 8], 0
lea rax, [0x180485170]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], r12
mov qword [rsi + 0x28], rbx
mov rcx, rsi
add rcx, 0x30
mov rdx, rdi
mov r8d, 0x390
call fcn.180468b10
mov eax, dword [0x180522688]
imul eax, dword [0x18052268c]
mov ecx, 0x3bad0b1e
xor edx, edx
div ecx
and eax, 0xa2071d57
or eax, 0xe842c817
cmp eax, 0xedfe19b2
jae 0x18027a18d
jmp 0x180279fcd
mov eax, dword [0x180522690]
xor edx, edx
div dword [0x180522694]
xor eax, 0x28d2870
mov ecx, 0xf7aeb122
xor edx, edx
div ecx
or eax, 0x9e00917
mov rcx, rsi
add rcx, 0x3c0
cmp eax, 0x26744f83
je 0x180279fcd
jmp 0x18027a001
xor edx, edx
mov r8d, 0x18
call fcn.1804691b0
mov rcx, r15
mov rdx, rsi
mov r8, rsi
call fcn.180285210
cmp rax, 0
jne 0x18027a02b
jmp 0x18027a159
ud2
mov rcx, r14
mov rdx, rax
call fcn.180409cf0
jmp 0x18027a159
mov r12, qword [r14]
mov eax, 1
lock xadd qword [r12], rax
cmp rax, 0
jl 0x18027a07e
mov al, byte [0x1805297c8]
mov ecx, 0x400
mov edx, 0x80
call fcn.1802cbf10
mov rsi, rax
cmp rsi, 0
jne 0x18027a082
mov ecx, 0x80
mov edx, 0x400
call fcn.180407090
ud2
ud2
mov r15, r12
add r15, 0x68
mov r14, r12
add r14, 0x10
mov qword [rsi], 0xcc
mov qword [rsi + 8], 0
lea rax, [0x180485120]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], r12
mov r12, rsi
add r12, 0x28
mov eax, dword [0x180522698]
and eax, dword [0x18052269c]
xor eax, 0xcd5b95b9
add eax, 0xa0f7fc9f
and eax, 0xcb69f2cc
cmp eax, 0x379ed5fc
jbe 0x18027a19a
jmp 0x18027a0e5
mov eax, dword [0x1805226a0]
or eax, dword [0x1805226a4]
imul eax, eax, 0xee868edf
mov ecx, 0x2bbfcbe6
xor edx, edx
div ecx
imul ebp, eax, 0xa3b2368
mov qword [r12], rbx
mov rcx, rsi
add rcx, 0x30
mov rdx, rdi
mov r8d, 0x390
call fcn.180468b10
mov rcx, rsi
add rcx, 0x3c0
xor edx, edx
mov r8d, 0x18
call fcn.1804691b0
cmp ebp, 0xf32e3a78
ja 0x18027a0e5
jmp 0x18027a140
mov rcx, r15
mov rdx, rsi
mov r8, rsi
call fcn.180285210
mov rcx, r14
mov rdx, rax
call fcn.180412280
mov rax, rsi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
invalid
shl dword [rax + 6], cl
mov ebp, 0x7af80f51
jmp 0x180279fcb
in eax, 0x64
test al, 0x63
sbb eax, 0xfffffff4
jmp rdx