Function at 0x1804c1c00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
mov rax, 0xffffffffffffffff
cmp rcx, rax
sete al
test al, 1
jne 0x1804c1ba0
jmp 0x1804c1b7a
mov rax, rcx
add rax, 8
add eax, 8
lock dec qword [rax]
sete al
test al, 1
jne 0x1804c1b8e
jmp 0x1804c1ba0
mov edx, 0x28
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804c1ba0
mov eax, dword [0x1807ad968]
imul eax, dword [0x1807ad96c]
or eax, 0xe5ee1bb0
sub eax, 0x46d364fa
mov ecx, 0x3a9ce4b7
xor edx, edx
div ecx
cmp eax, 0xdf1c4ec0
je 0x1804c1bee
mov eax, dword [0x1807ad970]
xor eax, dword [0x1807ad974]
xor eax, 0x98104181
xor eax, 0x69186081
and eax, 0xd4f100f0
cmp eax, 0x318fc4c2
jbe 0x1804c1bee
add rsp, 0x28
ret
pop rbx
jl 0x1804c1b7e
cld
cwde
jle 0x1804c1b93
push rsp
jl 0x1804c1c17
movabs al, byte [0x56cccccccccbebac]
sub rsp, 0x20
mov rsi, qword [rcx]
mov rcx, rsi
add rcx, 0x10
mov eax, dword [0x1807ad978]
and eax, dword [0x1807ad97c]
add eax, 0x3349d2b
imul eax, eax, 0x11ff73fd
and eax, 0x2b7f7874
cmp eax, 0xa15c43d1
jae 0x1804c1f75
invalid
jmp 0x1804c1c38
mov eax, dword [0x1807ad980]
and eax, dword [0x1807ad984]
imul eax, eax, 0x4924d52a
mov r8d, 0x32ef1f3b
xor edx, edx
div r8d
xor eax, 0xa7cd73ae
mov rdx, rsi
add rdx, 0x20
cmp eax, 0x477aa886
je 0x1804c1c38
jmp 0x1804c1c6a
mov al, byte [rdx]
cmp al, 3
je 0x1804c1e31
mov edx, dword [str.hL9]
or edx, dword [0x1807ad98c]
imul edx, edx, 0x5a6a2db5
and edx, 0xf836d079
xor edx, 0xdec9ff64
cmp edx, 0xc67b9519
ja 0x1804c1f86
mov edx, dword [0x1807ad990]
or edx, dword [0x1807ad994]
xor edx, 0x947c79a0
add edx, 0x18a381cf
sub edx, 0xaf9a8d3e
cmp edx, 0x53404171
je 0x1804c1f86
jmp 0x1804c1cca
cmp al, 2
sete al
test al, 1
jne 0x1804c1cd8
jmp 0x1804c1da5
mov rax, qword [rcx]
lock dec qword [rax]
sete al
jmp 0x1804c1ce4
mov edx, dword [0x1807ad998]
or edx, dword [str.YA_zr]
xor edx, 0xbf310a83
or edx, 0xd88e3f02
xor edx, 0x9d6a5a13
cmp edx, 0xb222c671
jae 0x1804c1f93
mov edx, dword [0x1807ad9a0]
or edx, dword [0x1807ad9a4]
sub edx, 0x276f2aeb
sub edx, 0xbc04c9d6
or edx, 0x81b1dcfa
cmp edx, 0xd6f04a12
ja 0x1804c1f93
test al, 1
jne 0x1804c1d41
jmp 0x1804c1e31
mov eax, dword [0x1807ad9a8]
sub eax, dword [0x1807ad9ac]
and eax, 0x3d1e4763
mov r8d, 0xaeaa228d
xor edx, edx
div r8d
mov r8d, 0x37d2fb83
xor edx, edx
div r8d
cmp eax, 0x4119739
ja 0x1804c1fa4
jmp 0x1804c1d75
mov eax, dword [0x1807ad9b0]
mov edx, dword [0x1807ad9b4]
sub eax, edx
add eax, 0x62c306b6
xor eax, 0x363196da
add eax, 0x9b9b7d37
cmp eax, 0x9b81de2c
je 0x1804c1d75
jmp 0x1804c1d9b
call fcn.1804bb540
jmp 0x1804c1e31
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
jne 0x1804c1db5
jmp 0x1804c1dbc
call fcn.1804bb540
jmp 0x1804c1dbc
mov rcx, rsi
add rcx, 0x18
mov eax, dword [0x1807ad9b8]
xor eax, dword [0x1807ad9bc]
add eax, 0xd3aafbe1
and eax, 0xc94b8c4
sub eax, 0x725f0a41
cmp eax, 0x9dc51f51
jae 0x1804c1fb5
mov eax, dword [0x1807ad9c0]
xor eax, dword [0x1807ad9c4]
mov r8d, 0x65a58192
xor edx, edx
div r8d
sub eax, 0x620c74e3
imul edx, eax, 0x4e600496
mov rax, qword [rcx]
lock dec qword [rax]
sete al
cmp edx, 0x6816c53b
jae 0x1804c1fb5
jmp 0x1804c1e23
test al, 1
jne 0x1804c1e29
jmp 0x1804c1e31
mov rcx, qword [rcx]
call fcn.1804c34a0
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
mov ecx, dword [0x1807ad9c8]
and ecx, dword [0x1807ad9cc]
xor ecx, 0x8772de10
xor ecx, 0x6cc95362
or ecx, 0xcdde0c5d
cmp ecx, 0x9f687d3
je 0x1804c1fcd
jmp 0x1804c1e6a
mov ecx, dword [0x1807ad9d0]
add ecx, dword [0x1807ad9d4]
xor ecx, 0xc27dc55
sub ecx, 0x7d04f0d4
or ecx, 0xfef4ab2
cmp ecx, 0xe88df0b6
jbe 0x1804c1e6a
test al, 1
jne 0x1804c1f1c
jmp 0x1804c1e9a
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete cl
mov eax, dword [0x1807ad9d8]
sub eax, dword [0x1807ad9dc]
imul eax, eax, 0xaa74e7b8
sub eax, 0x727be2d4
mov r8d, 0xd59074f2
xor edx, edx
div r8d
cmp eax, 0xdb036bad
ja 0x1804c1fda
jmp 0x1804c1ed7
mov eax, dword [0x1807ad9e0]
imul eax, dword [0x1807ad9e4]
or eax, 0x82e69c0
mov r8d, 0xf0d6b0de
xor edx, edx
div r8d
sub eax, 0x6a980ac1
cmp eax, 0x52311aff
je 0x1804c1ed7
test cl, 1
jne 0x1804c1f07
jmp 0x1804c1f1c
mov rcx, rsi
mov edx, 0x28
mov r8d, 8
call fcn.1804cafa0
nop
add byte [rax], al
jmp 0x1804c1f1c
mov eax, dword [0x1807ad9e8]
or eax, dword [0x1807ad9ec]
mov ecx, 0xeab671e5
xor edx, edx
div ecx
xor eax, 0xc281a0ac
xor eax, 0x1e5a91fe
cmp eax, 0x69b776d0
je 0x1804c1feb
jmp 0x1804c1f48
mov eax, dword [0x1807ad9f0]
and eax, dword [0x1807ad9f4]
imul eax, eax, 0xdad7f14
add eax, 0x830caae4
mov ecx, 0x60eea32e
xor edx, edx
div ecx
cmp eax, 0x385bde1a
jae 0x1804c1f48
add rsp, 0x20
pop rsi
ret
cmp bl, byte [rsp + rax]
or al, 0x1f
mov eax, 0x358357e7
xchg dword [rdi - 0x17], edi
mov al, 0xfc
invalid
jnp 0x1804c1f17
sub eax, 0xbaac37ae
jmp 0x1804c1c9e
push rdi
sal byte [rsi - 0x35c92b69], 1
jbe 0x1804c1fec
je 0x1804c1fec
test al, 0xe9
push 0xfffffffffffffffd
invalid
push rax
scasb al, byte [rdi]
ja 0x1804c1fcf
adc ebx, dword [rdi - 0x752d2441]
test edx, esp
jmp 0x1804c1d73
retf 0x17d4
xor eax, 0x764fd30c
ror dword [rdi + 0x76], cl
invalid
fmul qword [rbp + 0x36a20272]
invalid
sbb eax, edx
nop
xor al, 0x88
sub cl, byte [r10]
sbb eax, 0xe9b76b3b
invalid
ret 0x3490