Function at 0x1802343d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rdi, qword [rsi + 0xb8]
cmp rdi, 0
sete al
test al, 1
jne 0x180234464
jmp 0x1802343f3
mov rbx, qword [rsi + 0xc0]
mov eax, dword [0x18051e078]
imul eax, dword [0x18051e07c]
mov ecx, 0xaac0ce52
xor edx, edx
div ecx
xor eax, 0xb9dfb73e
and eax, 0xb716d41c
cmp eax, 0x1b006857
jbe 0x180234847
mov ebp, dword [0x18051e080]
sub ebp, dword [0x18051e084]
or ebp, 0xe723b3c3
add ebp, 0x9a8b1bad
sub ebp, 0x186697c7
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
cmp ebp, 0x24b5b354
je 0x180234847
jmp 0x180234462
jmp 0x180234464
mov rax, rsi
add rax, 0xd0
mov ecx, dword [0x18051e088]
add ecx, dword [0x18051e08c]
imul ecx, ecx, 0x1d52f99a
and ecx, 0xdf8be027
imul ecx, ecx, 0xbe40600b
cmp ecx, 0x5e635d3b
jbe 0x180234869
jmp 0x180234499
mov edx, dword [0x18051e090]
xor edx, dword [0x18051e094]
sub edx, 0x6bfe0431
or edx, 0x6c8a5a0f
sub edx, 0x93379afe
mov rbx, qword [rax]
movabs rcx, 0x8000000000000000
cmp rbx, rcx
sete cl
cmp edx, 0x6dbca31
je 0x180234499
jmp 0x1802344d4
test cl, 1
jne 0x180234659
jmp 0x1802344df
mov rax, rsi
add rax, 0xd8
mov rdi, qword [rax]
mov eax, dword [0x18051e098]
sub eax, dword [0x18051e09c]
xor eax, 0xc7d80ef
and eax, 0x162261c3
mov ecx, 0x81a00668
xor edx, edx
div ecx
cmp eax, 0xa4f00c60
ja 0x18023487a
jmp 0x180234517
mov ecx, dword [0x18051e0a0]
and ecx, dword [0x18051e0a4]
sub ecx, 0x26937e57
add ecx, 0xfe280d0a
add ecx, 0x37f588cb
mov r14, qword [rsi + 0xe0]
cmp r14, 0
sete al
cmp ecx, 0x722159b8
jb 0x180234517
test al, 1
jne 0x1802345ec
jmp 0x180234555
xor r15d, r15d
jmp 0x18023455a
imul rax, r15, 0x18
mov r9, rdi
add r9, rax
add r15, 1
mov r8, qword [r9]
cmp r8, 0
je 0x1802345db
mov eax, dword [0x18051e0a8]
or eax, dword [0x18051e0ac]
add eax, 0x1fa879e0
mov ecx, 0xff644a32
xor edx, edx
div ecx
mov ecx, 0xbadb4222
xor edx, edx
div ecx
cmp eax, 0x2d28eccf
ja 0x180234887
mov eax, dword [0x18051e0b0]
and eax, dword [0x18051e0b4]
xor eax, 0xde128f67
add eax, 0xd02f6998
xor eax, 0xd3fabbd1
mov rcx, qword [r9 + 8]
cmp eax, 0x23eca64b
je 0x180234887
jmp 0x1802345cb
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802345db
cmp r15, r14
sete al
test al, 1
jne 0x1802345ea
jmp 0x18023455a
jmp 0x1802345ec
cmp rbx, 0
sete al
test al, 1
jne 0x180234659
jmp 0x1802345f9
mov eax, dword [0x18051e0b8]
add eax, dword [0x18051e0bc]
xor eax, 0x4ae213ec
add eax, 0x1e887d5
or eax, 0x67670a23
cmp eax, 0x5b62d405
jbe 0x180234894
jmp 0x180234621
mov eax, dword [0x18051e0c0]
or eax, dword [0x18051e0c4]
xor eax, 0x53e1085f
add eax, 0x71d832f9
xor eax, 0x5e804a78
imul rdx, rbx, 0x18
cmp eax, 0x65fea883
je 0x180234621
jmp 0x180234649
mov rcx, rdi
mov r8d, 8
call fcn.1802cbf20
jmp 0x180234659
mov rcx, rsi
call fcn.1802357b0
mov rcx, rsi
add rcx, 0x28
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
jne 0x180234678
jmp 0x18023467f
call fcn.180275540
jmp 0x18023467f
mov rcx, rsi
add rcx, 0x30
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x18023469b
call fcn.180275540
jmp 0x18023469b
mov r8, qword [rsi + 0x38]
movabs rax, 0x8000000000000002
cmp r8, rax
setl cl
movabs rax, 0x8000000000000001
mov rdx, r8
add rdx, rax
xor eax, eax
test cl, 1
cmovne rax, rdx
test rax, rax
je 0x1802346de
jmp 0x1802346cf
sub rax, 1
je 0x1802347c2
jmp 0x180234839
mov eax, dword [0x18051e0c8]
xor eax, dword [0x18051e0cc]
xor eax, 0x4338a9ce
mov ecx, 0xff3af6a0
xor edx, edx
div ecx
imul eax, eax, 0x6587a2ec
cmp eax, 0x1f613616
ja 0x1802348a5
jmp 0x18023470b
mov eax, dword [0x18051e0d0]
or eax, dword [0x18051e0d4]
xor eax, 0xb8520c44
imul eax, eax, 0x4d36192c
sub eax, 0x3d871e0f
cmp eax, 0xda29bd99
je 0x18023470b
jmp 0x180234730
cmp r8, 0
sete al
mov ecx, 0x58
mov edx, 0x1000
test al, 1
jne 0x18023482a
jmp 0x18023474b
mov eax, dword [0x18051e0d8]
sub eax, dword [0x18051e0dc]
and eax, 0x6aec12d6
and eax, 0x950349e3
sub eax, 0x2cd175d9
cmp eax, 0xdb47c50b
je 0x1802348b2
mov eax, dword [0x18051e0e0]
imul eax, dword [0x18051e0e4]
xor eax, 0x6d771e42
xor eax, 0xd6defa9f
mov ecx, 0xf5e31165
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x40
cmp eax, 0x7f029f34
jae 0x1802348b2
jmp 0x1802347a5
mov rcx, qword [rcx]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
mov ecx, 0x58
mov edx, 0x1000
jmp 0x18023482a
mov rdx, qword [rsi + 0x40]
cmp rdx, 0
sete al
mov ecx, dword [0x18051e0e8]
and ecx, dword [0x18051e0ec]
xor ecx, 0xb0a94e4c
sub ecx, 0x94afa7a5
imul ecx, ecx, 0xdc3999e
cmp ecx, 0xc4f3e132
jb 0x1802348bf
jmp 0x1802347f9
mov ecx, dword [0x18051e0f0]
add ecx, dword [0x18051e0f4]
sub ecx, 0x7c46ba42
xor ecx, 0xfa915e80
or ecx, 0xee4901de
cmp ecx, 0xb28c417
jb 0x1802347f9
mov ecx, 0x48
add byte [rax], al
test al, 1
jne 0x180234839
jmp 0x18023482a
mov rcx, qword [rsi + rcx]
mov r8d, 1
call fcn.1802cbf20
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
invalid
or al, 0x2d
fcom qword [rdx - 0x14]
out 0x48, al
mov ecx, ebx
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
jmp 0x180234425
invalid
cwde
imul edi, dword [rbx - 0x30], 0xfc1de9d5
invalid
jg 0x180234822
or ebp, esi
xor eax, 0x8ee911e3
cld
invalid
hlt
in al, dx
and eax, 0xe9bd8856
or edi, ebp
invalid
jae 0x18023484d
invalid
in eax, 0xc5
wait
loop 0x180234889
adc byte [r9], bl
jmp 0x180234709
call 0x115f3dc50
adc byte [rbx + 0x5a], dh
jmp 0x180234771
rcl byte [rbp - 0x16a58cf0]
mov dl, 0xfe
invalid
xchg edx, eax
scasb al, byte [rdi]
pop rdx
movsb byte [rdi], byte [rsi]
jno 0x180234870
sub byte [rax + riz*2 - 9], bh
jb 0x1802348b5
invalid