Function at 0x180278c80
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov rdi, rsi
add rdi, 0x18
mov rcx, rdi
call fcn.18025ede0
mov rax, qword [rdi]
cmp rax, 0
je 0x180278cbf
mov rcx, rsi
add rcx, 0x20
mov rcx, qword [rcx]
imul rdx, rax, 0xc8
mov r8d, 8
call fcn.1802cbf20
jmp 0x180278cbf
mov rdi, rsi
add rdi, 0x30
movabs rax, 0x8000000000000001
cmp qword [rdi], rax
sete al
mov ecx, dword [0x1805224c8]
imul ecx, dword [0x1805224cc]
or ecx, 0xa7aaef81
sub ecx, 0xe31d2ba3
sub ecx, 0x302909ab
cmp ecx, 0xc82e658c
jb 0x180278f3d
mov ecx, dword [0x1805224d0]
imul ecx, dword [0x1805224d4]
and ecx, 0x6186289c
or ecx, 0xd52c6d23
and ecx, 0x851a8d90
cmp ecx, 0x6840aa22
jbe 0x180278f3d
test al, 1
jne 0x180278efa
jmp 0x180278d36
mov rcx, rsi
add rcx, 0x90
call fcn.180269700
mov r8, qword [rdi]
movabs rax, 0x8000000000000000
cmp r8, rax
sete al
test al, 1
jne 0x180278e2d
jmp 0x180278d62
mov eax, dword [0x1805224d8]
and eax, dword [0x1805224dc]
mov ecx, 0x344840de
xor edx, edx
div ecx
add eax, 0xb8d8694
imul eax, eax, 0xcb20b581
cmp eax, 0x9c1f7cb
je 0x180278f4a
jmp 0x180278d8f
mov eax, dword [0x1805224e0]
imul eax, dword [0x1805224e4]
xor eax, 0x29acb06f
sub eax, 0x4c7bc24c
xor eax, 0x9c85a526
cmp eax, 0x43073b15
jae 0x180278d8f
jmp 0x180278db4
cmp r8, 0
sete al
test al, 1
jne 0x180278e2d
jmp 0x180278dc1
mov rax, rsi
add rax, 0x38
mov ecx, dword [0x1805224e8]
xor ecx, dword [0x1805224ec]
xor ecx, 0x2b05fb3b
sub ecx, 0x2e638c31
sub ecx, 0xd5f4236f
cmp ecx, 0xa9cbe232
je 0x180278f5b
jmp 0x180278df4
mov edx, dword [0x1805224f0]
xor edx, dword [0x1805224f4]
sub edx, 0x42c202f
sub edx, 0x9ecec692
sub edx, 0xd0e908ff
mov rcx, qword [rax]
cmp edx, 0x1e62745e
je 0x180278df4
jmp 0x180278e1f
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
mov rax, rsi
add rax, 0x60
mov r8, qword [rax]
mov eax, dword [0x1805224f8]
imul eax, dword [0x1805224fc]
or eax, 0x8378883e
sub eax, 0x98eb98a
mov ecx, 0x41d53fa9
xor edx, edx
div ecx
cmp eax, 0x6801405a
ja 0x180278f68
mov ecx, dword [0x180522500]
add ecx, dword [0x180522504]
add ecx, 0x5976d020
xor ecx, 0x2757f849
xor ecx, 0x3f7d0772
movabs rax, 0x8000000000000002
cmp r8, rax
setl al
cmp ecx, 0xf3e3627e
ja 0x180278f68
test al, 1
jne 0x180278ec3
jmp 0x180278ea2
cmp r8, 0
sete al
test al, 1
jne 0x180278ec3
jmp 0x180278eaf
mov rcx, qword [rsi + 0x68]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
jmp 0x180278ec3
mov rax, rsi
add rax, 0x48
mov rdx, qword [rax]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180278efa
cmp rdx, 0
sete al
test al, 1
jne 0x180278efa
jmp 0x180278ee9
mov rcx, qword [rsi + 0x50]
mov r8d, 1
call fcn.1802cbf20
jmp 0x180278efa
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
test al, 1
jne 0x180278f36
invalid
jmp 0x180278f0d
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
test al, 1
jne 0x180278f21
jmp 0x180278f36
mov rcx, rsi
mov edx, 0xc0
mov r8d, 8
add byte [rax], al
call fcn.1802cbf20
jmp 0x180278f36
add rsp, 0x28
pop rdi
pop rsi
ret
pop rbp
cmp eax, 0xb3ae8bb9
mov ss, word [rcx + rbp*8 - 0x49]
std
invalid
jae 0x180278efe
jp 0x180278f2d
jmp 0x124c97e0f
xor dword [rsi - 0x7a], ebp
enter 0x129e, 0x7d
jmp 0x180278df2
fmul st(7)
fnsave dword [rsi + 0x4d]
fimul dword [rsi]
adc ebp, ecx
in eax, dx
invalid