Function at 0x1804c7fd0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov eax, dword [0x1807ae5f8]
add eax, dword [0x1807ae5fc]
xor eax, 0x304d2491
xor eax, 0x99784507
or eax, 0x9aa8a544
cmp eax, 0xc75058e5
jb 0x1804c8391
jmp 0x1804c8002
mov eax, dword [0x1807ae600]
and eax, dword [0x1807ae604]
xor eax, 0xc9cd902a
and eax, 0x9fbbd5d2
or eax, 0x2babf2a1
mov rsi, qword [rcx]
cmp eax, 0x3750810
jb 0x1804c8002
jmp 0x1804c8029
mov rdi, rsi
add rdi, 0x10
mov r14, qword [rsi + 0x10]
cmp r14, 0
sete al
test al, 1
jne 0x1804c824e
jmp 0x1804c8045
mov rbx, r14
add rbx, 0x30
mov eax, dword [0x1807ae608]
add eax, dword [0x1807ae60c]
sub eax, 0xda7467c0
and eax, 0x8cd08bc
add eax, 0xe154be
cmp eax, 0xafe44f5
je 0x1804c839e
jmp 0x1804c8074
mov eax, dword [0x1807ae610]
xor edx, edx
div dword [0x1807ae614]
or eax, 0x4ab7c907
mov ecx, 0xc6d7eb09
xor edx, edx
div ecx
mov ebp, eax
and ebp, 0xe1df7331
mov rcx, rbx
call fcn.18064ffb0
and rax, 5
cmp rax, 1
sete cl
cmp ebp, 0xec3a1666
jae 0x1804c8074
jmp 0x1804c80b5
mov eax, dword [0x1807ae618]
imul eax, dword [0x1807ae61c]
or eax, 0x6f9d76b3
mov r8d, 0x11a2dc5c
xor edx, edx
div r8d
sub eax, 0xff363507
cmp eax, 0xfd81461
je 0x1804c83b3
mov eax, dword [0x1807ae620]
xor edx, edx
div dword [0x1807ae624]
sub eax, 0xc5b6ae7d
xor eax, 0xd9947fc9
and eax, 0x10021fb4
cmp eax, 0x85048732
je 0x1804c83b3
test cl, 1
jne 0x1804c8111
jmp 0x1804c8122
mov rax, r14
add rax, 0x20
mov rax, qword [rax]
mov rcx, qword [r14 + 0x28]
call qword [rax + 0x10]
mov rcx, qword [rdi]
cmp rcx, 0
je 0x1804c824e
mov rax, 0xffffffffffffffff
lock xadd qword [rcx], rax
mov ecx, dword [0x1807ae628]
xor ecx, dword [0x1807ae62c]
add ecx, 0xe7ee1b74
and ecx, 0xd6a86140
imul ecx, ecx, 0xa633a9c2
cmp ecx, 0xe72839cc
ja 0x1804c83c0
jmp 0x1804c8167
mov ecx, dword [0x1807ae630]
add ecx, dword [0x1807ae634]
or ecx, 0x1ddbbbd7
imul edx, ecx, 0x610bc071
or edx, 0x2e733c90
cmp rax, 1
sete cl
cmp edx, 0xb58ea65c
jbe 0x1804c8167
jmp 0x1804c8196
test cl, 1
jne 0x1804c81a0
jmp 0x1804c824e
mov eax, dword [0x1807ae638]
sub eax, dword [0x1807ae63c]
add eax, 0x60a9bd33
xor eax, 0x2efe4517
or eax, 0xc3e264f0
cmp eax, 0x31271031
je 0x1804c83d1
mov eax, dword [0x1807ae640]
mov ecx, dword [0x1807ae644]
lea eax, [rax + rcx + 0x6c225b60]
mov ecx, 0x9caebacf
imul rax, rcx
shr rax, 0x3e
cmp eax, 0x43d42f67
jae 0x1804c83d1
jmp 0x1804c81f3
mov rcx, rdi
call fcn.1804bd8e0
mov eax, dword [0x1807ae648]
imul eax, dword [0x1807ae64c]
xor eax, 0xe2e1b1e6
add eax, 0x545d98ca
or eax, 0x91d4d5b2
cmp eax, 0x9a45c18a
ja 0x1804c83e2
mov eax, dword [0x1807ae650]
xor eax, dword [0x1807ae654]
and eax, 0xbb2655f8
mov ecx, 0x65f78c90
xor edx, edx
div ecx
add eax, 0x564a039
cmp eax, 0x6de105a8
ja 0x1804c83e2
jmp 0x1804c824e
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
test al, 1
jne 0x1804c8386
jmp 0x1804c8265
mov eax, dword [0x1807ae658]
or eax, dword [0x1807ae65c]
sub eax, 0xb163d60c
add eax, 0xdac5fb3c
or eax, 0x446b755f
cmp eax, 0x31da0b9
jbe 0x1804c83f3
mov ecx, dword [0x1807ae660]
and ecx, dword [0x1807ae664]
xor ecx, 0xa6f80b2c
add ecx, 0x2ef1a23d
add ecx, 0x52f48966
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
cmp ecx, 0xe6d0d330
ja 0x1804c83f3
jmp 0x1804c82c5
jmp 0x1804c82c7
test al, 1
jne 0x1804c82d0
jmp 0x1804c8386
mov eax, dword [0x1807ae668]
or eax, dword [0x1807ae66c]
imul eax, eax, 0xbe0a99b6
and eax, 0xc0fd5966
add eax, 0x65e7840a
cmp eax, 0x95218ed2
je 0x1804c8405
mov eax, dword [0x1807ae670]
mov ecx, dword [0x1807ae674]
xor eax, ecx
or eax, 0x81e4ac18
add eax, 0xea78225d
cmp eax, 0x8a36c149
jbe 0x1804c8405
jmp 0x1804c831c
mov rcx, rsi
mov edx, 0x18
mov r8d, 8
call fcn.1804cafa0
add al, ch
jno 0x1804c8359
add byte [rax], al
mov eax, dword [0x1807ae678]
or eax, dword [0x1807ae67c]
xor eax, 0x1a83bf95
imul eax, eax, 0xdc101f39
mov ecx, 0x110bfd15
xor edx, edx
div ecx
cmp eax, 0xc6e02706
jae 0x1804c8416
add byte [rbx + 0x2e632005], cl
add byte [rbx], dh
add eax, 0x2e631e
mov eax, dword [0x1807ae680]
xor eax, dword [0x1807ae684]
mov ecx, 0x936731b2
xor edx, edx
div ecx
sub eax, 0x57084e72
xor eax, 0xdcefd900
cmp eax, 0x5bd65e2c
or byte [rdi + 0x35], dl
add cl, bl
out dx, eax
fdivr qword [0x1dc22e1aa]
je 0x1804c8416
jmp 0x1804c8386
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
wait
cmp bh, dh
add al, 0x6b
sub bh, byte [rdx]
mov dh, 0xe9
invalid
fild word [rdx - 0x5a]
jl 0x1804c8329
xchg byte [rsi + 0x7b], al
int3
jnp 0x1804c8372
mov rcx, rbx
call fcn.18064ffb0
jmp 0x1804c8072
out dx, eax
or eax, 0x1c822a5b
test al, 0xb6
jmp 0x1804c80e2
invalid
ja 0x1804c83a2
outsb dx, byte [rsi]
mov al, 0xc4
jne 0x1804c8415
out dx, al
ret 0x7515
mov ch, 0xe9
in al, 0xfd
invalid
mov r11d, 0xc03dced7
jo 0x1804c83dc
fidiv dword [rax + 0x2fe903d1]
invalid
mov dh, 0xf5
mov ebx, 0x8934c8fa
pushfq
lock dec qword [rsi + 8]
jmp 0x1804c828b
invalid
jmp [rax - 0x76]
push 0xffffffffc308188a
invalid