Function at 0x1804c2a80
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, qword [rcx]
mov rcx, rsi
add rcx, 0x18
mov eax, dword [0x1807adb48]
and eax, dword [0x1807adb4c]
or eax, 0x4c38bc18
imul eax, eax, 0x1103687b
mov r8d, 0xa81cc1c3
xor edx, edx
div r8d
cmp eax, 0x1958de97
jae 0x1804c2d01
jmp 0x1804c2ac1
mov eax, dword [0x1807adb50]
sub eax, dword [0x1807adb54]
mov r8d, 0xd9da88d0
xor edx, edx
div r8d
or eax, 0x31ed6cdb
imul edx, eax, 0x58acf6cd
mov r8, qword [rcx]
cmp r8, 0
sete al
cmp edx, 0x551ce8f5
jbe 0x1804c2ac1
test al, 1
jne 0x1804c2c21
jmp 0x1804c2aff
mov eax, dword [0x1807adb58]
imul eax, dword [0x1807adb5c]
or eax, 0x44b626a0
mov r9d, 0x138360b2
xor edx, edx
div r9d
and eax, 0x6febdbaf
cmp eax, 0x6302c368
je 0x1804c2d0e
jmp 0x1804c2b2e
mov eax, dword [0x1807adb60]
xor eax, dword [0x1807adb64]
sub eax, 0xe0d89e53
add eax, 0x55bd672d
imul edx, eax, 0xfd17ee89
lock dec qword [r8]
sete al
cmp edx, 0x1ff74c26
jb 0x1804c2b2e
jmp 0x1804c2b5b
jmp 0x1804c2b5d
test al, 1
jne 0x1804c2b66
jmp 0x1804c2c21
mov eax, dword [0x1807adb68]
xor eax, dword [0x1807adb6c]
imul eax, eax, 0xcdeeb1c3
xor eax, 0x3b765d70
and eax, 0x1b9d5a41
cmp eax, 0xd598816
jbe 0x1804c2d1f
jmp 0x1804c2b8f
mov eax, dword [0x1807adb70]
mov edx, dword [0x1807adb74]
sub eax, edx
add eax, 0xace5b897
xor eax, 0xf1fe9a82
mov rdi, qword [rcx]
mov rbx, rsi
add rbx, 0x20
cmp eax, 0xe2c02d2b
ja 0x1804c2b8f
jmp 0x1804c2bba
mov eax, dword [0x1807adb78]
sub eax, dword [0x1807adb7c]
mov ecx, 0xdd94e067
xor edx, edx
div ecx
and eax, 0x33af1c26
mov ecx, 0xffd9f405
xor edx, edx
div ecx
cmp eax, 0x86f6049d
ja 0x1804c2d2c
mov eax, dword [0x1807adb80]
add eax, dword [0x1807adb84]
imul ebp, eax, 0x943cd946
and ebp, 0xcd5e8c02
add ebp, 0x405f94c5
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1804bdb80
cmp ebp, 0x366d6da8
jb 0x1804c2d2c
jmp 0x1804c2c1f
jmp 0x1804c2c21
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
test al, 1
jne 0x1804c2ca9
jmp 0x1804c2c34
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
jmp 0x1804c2c44
test al, 1
jne 0x1804c2c4a
jmp 0x1804c2ca9
mov eax, dword [0x1807adb88]
or eax, dword [0x1807adb8c]
sub eax, 0xc5fd5d91
sub eax, 0x2c270a3a
imul eax, eax, 0xb9e32dbb
cmp eax, 0xbe372569
je 0x1804c2d48
jmp 0x1804c2c73
mov eax, dword [0x1807adb90]
mov ecx, dword [0x1807adb94]
sub eax, ecx
or eax, 0x2ef564b7
add eax, 0xa2bc4654
cmp eax, 0x2e006098
jb 0x1804c2c73
jmp 0x1804c2c94
mov rcx, rsi
mov edx, 0x28
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804c2ca9
mov eax, dword [0x1807adb98]
imul eax, dword [0x1807adb9c]
add eax, 0x4c421f88
sub eax, 0xd14c4b66
mov ecx, 0x34c545df
xor edx, edx
div ecx
cmp eax, 0x585cdb2a
je 0x1804c2d59
mov eax, dword [0x1807adba0]
xor edx, edx
div dword [0x1807adba4]
add eax, 0xeecf0e16
and eax, 0x48749418
sub eax, 0x4d2d6072
cmp eax, 0x3283ca18
je 0x1804c2d59
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
scasb al, byte [rdi]
sti
sahf
jg 0x1804c2d7d
stc
mov ecx, ds
jmp 0x1804c2abf
mov cl, 0x4f
invalid
lodsb al, byte [rsi]
cld
mov ch, 0x4f
mov dword [rbp - 2], 0xfe61e949
invalid
or al, cl
push rax
push rdi
and ch, byte [rsi - 0x1e0939c6]
fisttp dword [rax + 0x48]
mov edx, dword [rbx]
mov rcx, rdi
call fcn.1804bdb80
jmp 0x1804c2be8
rcl dword [rax - 0x4aabd3db], 0x21
or al, 0xe1
call 0x19935cf02
invalid
invalid