Function at 0x1804c10d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, qword [rcx]
mov rdi, rsi
add rdi, 0x10
mov r12, rsi
add r12, 0x18
mov rcx, qword [r12]
cmp rcx, 0
setne r8b
mov r15, rsi
add r15, 0x20
mov r14, qword [rsi + 0x20]
cmp r14, 0
setne r9b
mov eax, dword [0x1807ad828]
sub eax, dword [0x1807ad82c]
mov r10d, 0x399ee291
xor edx, edx
div r10d
add eax, 0xb49afa8e
imul eax, eax, 0x3c1aafc8
cmp eax, 0xa049d2c0
jb 0x1804c17d4
jmp 0x1804c113f
mov eax, dword [0x1807ad830]
mov edx, dword [0x1807ad834]
xor eax, edx
shr eax, 2
imul rdx, rax, 0x2056db51
shr rdx, 0x3a
add edx, 0x3fde3e71
mov bl, r8b
and bl, r9b
cmp rcx, 0
sete al
cmp edx, 0xe705a61a
ja 0x1804c113f
test al, 1
jne 0x1804c1285
jmp 0x1804c1180
mov rcx, rsi
add rcx, 0x28
mov eax, dword [0x1807ad838]
and eax, dword [0x1807ad83c]
mov r8d, 0x146983a2
xor edx, edx
div r8d
sub eax, 0xf58b7be4
or eax, 0x7f779c48
cmp eax, 0x399649e8
je 0x1804c17e5
jmp 0x1804c11b5
mov eax, dword [0x1807ad840]
or eax, dword [0x1807ad844]
imul eax, eax, 0xed6e0aa5
imul eax, eax, 0x34bf3f3
and eax, 0x7127a328
mov r13, qword [rcx]
cmp eax, 0xd65901d0
je 0x1804c11b5
jmp 0x1804c11de
cmp r14, 0
je 0x1804c1285
cmp r13, 0
setne al
mov rbp, qword [r13]
cmp rbp, 0
je 0x1804c1266
mov qword [rsp + 0x20], r15
mov eax, dword [0x1807ad848]
add eax, dword [0x1807ad84c]
add eax, 0x8d0d2bef
mov ecx, 0x54558e21
xor edx, edx
div ecx
or eax, 0x564e2c1b
cmp eax, 0xef21e6e8
je 0x1804c17f6
mov r15d, dword [0x1807ad850]
xor r15d, dword [0x1807ad854]
and r15d, 0x4b472f17
or r15d, 0xc474cb71
add r15d, 0x859cb3b0
mov rcx, r14
call rbp
cmp r15d, 0x89f8a2e7
ja 0x1804c17f6
jmp 0x1804c125f
mov r15, qword [rsp + 0x20]
jmp 0x1804c1266
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
cmp rdx, 0
sete al
test al, 1
jne 0x1804c1285
jmp 0x1804c127b
mov rcx, r14
call fcn.1804cafa0
jmp 0x1804c1285
mov qword [r12], 0
mov eax, dword [0x1807ad858]
imul eax, dword [0x1807ad85c]
or eax, 0xa341caa2
mov ecx, 0x5e89628a
xor edx, edx
div ecx
imul eax, eax, 0x9ee0de57
cmp eax, 0xaec4f1b9
jae 0x1804c180c
jmp 0x1804c12bb
mov eax, dword [0x1807ad860]
sub eax, dword [0x1807ad864]
sub eax, 0x76a19e40
add eax, 0x45583146
mov ecx, 0x8965e9ee
xor edx, edx
div ecx
mov rcx, qword [rdi]
cmp rcx, 0
sete dl
cmp eax, 0x12d43fef
je 0x1804c12bb
jmp 0x1804c12ed
test dl, 1
jne 0x1804c1635
jmp 0x1804c12f8
add rcx, 0x10
and bl, 1
mov dl, bl
call fcn.180676fb0
mov rax, qword [rdi]
mov ecx, dword [0x1807ad868]
add ecx, dword [0x1807ad86c]
sub ecx, 0x72b9562b
and ecx, 0xcc911513
xor ecx, 0x7fcd78ae
cmp ecx, 0x2b3d3a3e
jbe 0x1804c1819
jmp 0x1804c1335
mov ecx, dword [0x1807ad870]
imul ecx, dword [0x1807ad874]
imul edx, ecx, 0x42250eb1
sub edx, 0x8356ead4
sub edx, 0x74e5e2af
cmp rax, 0
sete cl
cmp edx, 0xdf3c3973
je 0x1804c1335
test cl, 1
jne 0x1804c13dc
jmp 0x1804c136a
lock dec qword [rax]
sete al
jmp 0x1804c1373
test al, 1
jne 0x1804c1379
jmp 0x1804c13dc
mov eax, dword [0x1807ad878]
xor eax, dword [0x1807ad87c]
xor eax, 0xf625cb76
or eax, 0xdd7dfd7d
imul eax, eax, 0xf3cea5e8
cmp eax, 0xc7e7e79e
jae 0x1804c182a
mov eax, dword [0x1807ad880]
mov ecx, dword [0x1807ad884]
and eax, ecx
add eax, 0x2c4d63cc
shr eax, 1
imul rax, rax, 0x2994de25
shr rax, 0x3c
add eax, 0xb9705c0d
cmp eax, 0xacb4953b
jb 0x1804c182a
jmp 0x1804c13d2
mov rcx, rdi
call fcn.1804c2d70
jmp 0x1804c13dc
mov rax, qword [r12]
cmp rax, 0
je 0x1804c1635
mov eax, dword [0x1807ad888]
and eax, dword [0x1807ad88c]
and eax, 0xd6ed78dd
add eax, 0xb509776f
mov ecx, 0x65301008
xor edx, edx
div ecx
cmp eax, 0x4f826725
ja 0x1804c183b
mov eax, dword [0x1807ad890]
imul eax, dword [0x1807ad894]
add eax, 0xb60adb43
add eax, 0xae2b6798
imul eax, eax, 0xd4b36714
mov rdi, qword [r15]
mov r14, qword [rsi + 0x28]
cmp eax, 0x3e5c4a1c
jb 0x1804c183b
jmp 0x1804c1445
mov eax, dword [0x1807ad898]
xor eax, dword [0x1807ad89c]
xor eax, 0x7a08b8ce
xor eax, 0x96714ee5
mov ecx, 0x25a0e877
xor edx, edx
div ecx
cmp eax, 0x6593d8dc
jae 0x1804c184c
jmp 0x1804c1471
mov eax, dword [0x1807ad8a0]
add eax, dword [0x1807ad8a4]
and eax, 0xb470b
sub eax, 0xdd7f7d13
add eax, 0xaccd472c
cmp rdi, 0
sete cl
cmp eax, 0xe5b2e62c
jae 0x1804c1471
jmp 0x1804c149c
mov eax, dword [0x1807ad8a8]
xor eax, dword [0x1807ad8ac]
xor eax, 0x14f38956
imul eax, eax, 0xf172759e
or eax, 0xc4df00b1
cmp eax, 0xbf38cfe8
jb 0x1804c185d
jmp 0x1804c14c5
mov eax, dword [0x1807ad8b0]
or eax, dword [0x1807ad8b4]
or eax, 0xfc900ef
add eax, 0x816cb4f0
mov r8d, 0xc5909c8a
xor edx, edx
div r8d
cmp eax, 0x77b26726
ja 0x1804c14c5
test cl, 1
jne 0x1804c1635
jmp 0x1804c14f8
mov r15, qword [r14]
mov eax, dword [0x1807ad8b8]
sub eax, dword [0x1807ad8bc]
mov ecx, 0x27a3c2ea
xor edx, edx
div ecx
add eax, 0x8a40ddb5
imul eax, eax, 0xe1d6bbbe
cmp eax, 0xed92d6c3
ja 0x1804c186a
jmp 0x1804c1528
mov eax, dword [0x1807ad8c0]
imul eax, dword [0x1807ad8c4]
add eax, 0x1e703db0
mov ecx, 0x4d12116b
xor edx, edx
div ecx
xor eax, 0x231138f1
cmp r15, 0
sete cl
cmp eax, 0x71f1892f
jae 0x1804c1528
jmp 0x1804c1558
mov eax, dword [0x1807ad8c8]
and eax, dword [0x1807ad8cc]
add eax, 0xfbd852c9
add eax, 0x92796047
and eax, 0x32efe579
cmp eax, 0xcb54d8a2
je 0x1804c1877
mov eax, dword [0x1807ad8d0]
and eax, dword [0x1807ad8d4]
mov r8d, 0x947d3be
xor edx, edx
div r8d
and eax, 0x272153a1
imul eax, eax, 0xfa7d482b
cmp eax, 0xf846d94e
je 0x1804c1877
test cl, 1
jne 0x1804c1610
jmp 0x1804c15b2
mov eax, dword [0x1807ad8d8]
or eax, dword [0x1807ad8dc]
and eax, 0xf7ac51ef
xor eax, 0x7dfd9682
sub eax, 0x41d4637
cmp eax, 0xc27b0e92
je 0x1804c1884
mov eax, dword [0x1807ad8e0]
imul eax, dword [0x1807ad8e4]
add eax, 0xe51dd14b
add eax, 0xd8142258
mov ecx, 0x8e65a0a0
xor edx, edx
div ecx
mov ebx, eax
mov rcx, rdi
call r15
cmp ebx, 0xe1acb6c
je 0x1804c1884
jmp 0x1804c160e
jmp 0x1804c1610
mov rax, r14
add rax, 8
mov rdx, qword [rax]
mov r8, qword [r14 + 0x10]
cmp rdx, 0
sete al
test al, 1
jne 0x1804c1635
jmp 0x1804c162b
mov rcx, rdi
call fcn.1804cafa0
jmp 0x1804c1635
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
test al, 1
jne 0x1804c17c3
jmp 0x1804c164c
mov eax, dword [0x1807ad8e8]
sub eax, dword [0x1807ad8ec]
or eax, 0x598ba4a
sub eax, 0x239f7a70
sub eax, 0xfd776ae
cmp eax, 0xd4c935e4
ja 0x1804c189b
mov eax, dword [0x1807ad8f0]
xor edx, edx
div dword [0x1807ad8f4]
or eax, 0xcc1b187
mov ecx, 0x49a60af3
xor edx, edx
div ecx
imul eax, eax, 0xdf723e05
mov rcx, rsi
add rcx, 8
lock dec qword [rcx]
sete cl
cmp eax, 0x42b94065
ja 0x1804c189b
jmp 0x1804c16af
jmp 0x1804c16b1
mov eax, dword [0x1807ad8f8]
imul eax, dword [str.vRq]
mov r8d, 0x86b9f6ce
xor edx, edx
div r8d
xor eax, 0x21e66fbd
mov r8d, 0xbd8b5a71
xor edx, edx
div r8d
cmp eax, 0x443c0065
jae 0x1804c18ad
mov eax, dword [0x1807ad900]
add eax, dword [0x1807ad904]
or eax, 0x365a34dd
add eax, 0x84aa6202
xor eax, 0xf18cb304
cmp eax, 0x5c3540b7
je 0x1804c18ad
test cl, 1
jne 0x1804c1714
jmp 0x1804c17c3
mov eax, dword [0x1807ad908]
or eax, dword [0x1807ad90c]
mov ecx, 0x703e4c18
xor edx, edx
div ecx
sub eax, 0x8ddb4a70
add eax, 0x48f86934
cmp eax, 0x28a65590
jb 0x1804c18be
mov eax, dword [0x1807ad910]
mov ecx, dword [0x1807ad914]
and eax, ecx
add eax, 0xd75d824e
cmp eax, 0x34b925b2
je 0x1804c18be
jmp 0x1804c175e
mov eax, dword [0x1807ad918]
and eax, dword [0x1807ad91c]
xor eax, 0x65555041
xor eax, 0xaceb52a1
and eax, 0x11c8e0c3
cmp eax, 0x298ecdc4
ja 0x1804c18cf
jmp 0x1804c1786
mov edi, dword [0x1807ad920]
or edi, dword [0x1807ad924]
sub edi, 0xd2489baa
xor edi, 0xe9236f96
sub edi, 0xd61863c5
mov rcx, rsi
mov edx, 0x30
mov r8d, 8
call fcn.1804cafa0
cmp edi, 0x9975fe06
jae 0x1804c1786
jmp 0x1804c17c1
jmp 0x1804c17c3
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
invalid
sar byte ds:[rdx], cl
sar byte [rdx], cl
xchg ebx, eax
invalid
movsb byte [rdi], byte [rsi]
or eax, 0x4b9c0edc
scasd eax, dword [rdi]
mov ecx, 0x3ea28f26
mov rcx, r14
call rbp
jmp 0x1804c1228
invalid
nop
stc
jnp 0x1804c184d
jmp 0x1ea741996
pop rax
adc dword [rdx], esp
jbe 0x1804c17e6
int 0x17
retf
invalid
mov esi, 0xa0d2df48
outsb dx, byte [rsi]
iretd
invalid
add dword [rax], esi
and al, 0xc
invalid
and bl, byte [rdi]
test eax, 0x3107b08
xchg esp, eax
jmp 0x1804c1526
jnp 0x1804c18d8
sub bl, dl
pop rdx
jmp 0x1804c157e
neg dword [rsi - 2]
jg 0x1804c188d
fstp dword [rbp + 0x2f]
dec al
mov dword [rdx], 0x41f98948
call rdi
enter 0x2c7, 0x48
mov ecx, edi
call r15
jmp 0x1804c15d8
sbb dword [rsi], ebx
cmp byte [rbx], 0x24
invalid
adc al, byte [rbx - 0x51]
movabs byte [0xc71e54b0fbf8fc16], al
jmp 0x1804c16e4
test al, 0x7d
hlt
pop rax
invalid
lahf
div byte [rax + rcx*2 - 0x77]
int1
mov edx, 0x30
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804c1784