Function at 0x1804c76f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
cmp rsi, 0
setne al
mov eax, dword [0x1807ae4d8]
imul eax, dword [0x1807ae4dc]
add eax, 0xd6ce5c4a
mov ecx, 0xd4699d5
xor edx, edx
div ecx
mov ecx, 0xf58d61c7
xor edx, edx
div ecx
cmp eax, 0xae91d918
je 0x1804c7e65
jmp 0x1804c7733
mov ebx, dword [0x1807ae4e0]
xor ebx, dword [0x1807ae4e4]
and ebx, 0x68ead0c7
or ebx, 0x9fccd441
add ebx, 0xa62e19f8
mov rdi, rsi
add rdi, 0x18
mov rcx, rdi
call fcn.18049fe60
cmp ebx, 0x316622dc
jbe 0x1804c7733
jmp 0x1804c776a
mov rax, qword [rdi]
cmp rax, 0
je 0x1804c778f
mov rcx, rsi
add rcx, 0x20
mov rcx, qword [rcx]
imul rdx, rax, 0xc8
mov r8d, 8
call fcn.1804cafa0
mov rdi, rsi
add rdi, 0x30
mov eax, dword [0x1807ae4e8]
xor edx, edx
div dword [0x1807ae4ec]
sub eax, 0xf6793a3a
xor eax, 0x21ae5c0
sub eax, 0x3dadd3ca
cmp eax, 0xba704308
jb 0x1804c7e7e
jmp 0x1804c77c0
mov ecx, dword [0x1807ae4f0]
imul ecx, dword [0x1807ae4f4]
xor ecx, 0x9656845a
sub ecx, 0xf71355d4
xor ecx, 0x8f96706a
mov rax, qword [rdi]
cmp ecx, 0xf623013c
ja 0x1804c77c0
jmp 0x1804c77ec
movabs rcx, 0x8000000000000001
cmp rax, rcx
je 0x1804c7ccc
mov eax, dword [0x1807ae4f8]
xor edx, edx
div dword [0x1807ae4fc]
sub eax, 0x8c2664ef
xor eax, 0x92db2fbe
and eax, 0x72690200
cmp eax, 0xf1ce005c
jae 0x1804c7e8f
jmp 0x1804c7829
mov ebx, dword [0x1807ae500]
imul ebx, dword [0x1807ae504]
xor ebx, 0xa45e5513
xor ebx, 0x53096ca6
xor ebx, 0x4bc8fbf5
mov rcx, rsi
add rcx, 0x90
call fcn.18045ea90
cmp ebx, 0xec1bbdbc
je 0x1804c7829
jmp 0x1804c7861
mov rdi, qword [rdi]
movabs rax, 0x8000000000000000
cmp rdi, rax
sete cl
mov eax, dword [0x1807ae508]
imul eax, dword [0x1807ae50c]
mov r8d, 0x5297e900
xor edx, edx
div r8d
and eax, 0x41379fa7
or eax, 0x202217a
cmp eax, 0x5a37b1e7
je 0x1804c7eaf
jmp 0x1804c78a3
mov eax, dword [0x1807ae510]
xor eax, dword [0x1807ae514]
mov r8d, 0xcac3a335
xor edx, edx
div r8d
and eax, 0x3d2a3d5f
sub eax, 0xd524cfad
cmp eax, 0x1d9e7a1
jbe 0x1804c78a3
test cl, 1
jne 0x1804c79af
jmp 0x1804c78d6
cmp rdi, 0
sete al
test al, 1
jne 0x1804c79af
jmp 0x1804c78e7
mov rcx, rsi
add rcx, 0x38
mov eax, dword [0x1807ae518]
imul eax, dword [str.__9R]
or eax, 0x3636e949
and eax, 0xc08556fd
add eax, 0x4debd873
cmp eax, 0x7f6f58c8
jae 0x1804c7ec0
mov eax, dword [0x1807ae520]
xor eax, dword [0x1807ae524]
mov r8d, 0x1cb7a867
xor edx, edx
div r8d
imul eax, eax, 0xc87c6a56
imul eax, eax, 0x4828e95b
mov rbx, qword [rcx]
cmp eax, 0x5205bb4b
je 0x1804c7ec0
jmp 0x1804c7948
mov eax, dword [0x1807ae528]
xor edx, edx
div dword [0x1807ae52c]
add eax, 0xc4b6b964
sub eax, 0x8985bb9f
mov ecx, 0x123ae518
xor edx, edx
div ecx
cmp eax, 0x394b5b65
ja 0x1804c7ed1
jmp 0x1804c7976
mov ebp, dword [0x1807ae530]
sub ebp, dword [0x1807ae534]
add ebp, 0x4f5c307
and ebp, 0x69767fad
and ebp, 0x3532515
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x1f811247
jae 0x1804c7976
jmp 0x1804c79af
mov r8, qword [rsi + 0x60]
mov eax, dword [0x1807ae538]
sub eax, dword [0x1807ae53c]
add eax, 0xe49a3a01
or eax, 0x419a64bf
xor eax, 0x242f2649
cmp eax, 0x56b512fd
jb 0x1804c7ef3
jmp 0x1804c79db
mov eax, dword [0x1807ae540]
or eax, dword [0x1807ae544]
xor eax, 0xff6c5c58
add eax, 0xcbc6e173
imul ecx, eax, 0x95501e67
movabs rax, 0x8000000000000002
cmp r8, rax
setl al
cmp ecx, 0x323f407b
jbe 0x1804c79db
jmp 0x1804c7a11
test al, 1
jne 0x1804c7ae4
jmp 0x1804c7a1b
mov eax, dword [0x1807ae548]
xor eax, dword [0x1807ae54c]
and eax, 0x71f9ff43
or eax, 0x7e6ec9d4
mov ecx, 0x713f4703
xor edx, edx
div ecx
cmp eax, 0x63a19bb2
ja 0x1804c7f00
jmp 0x1804c7a47
mov eax, dword [0x1807ae550]
sub eax, dword [0x1807ae554]
sub eax, 0xa500e7e2
imul eax, eax, 0xea8f8a15
mov ecx, 0x7aac0ac1
xor edx, edx
div ecx
cmp r8, 0
sete cl
cmp eax, 0xbbe4eeca
ja 0x1804c7a47
jmp 0x1804c7a77
mov eax, dword [0x1807ae558]
imul eax, dword [0x1807ae55c]
mov r9d, 0x301f2989
xor edx, edx
div r9d
or eax, 0x34345c95
sub eax, 0x87489813
cmp eax, 0xa90da017
je 0x1804c7f0d
jmp 0x1804c7aa6
mov eax, dword [0x1807ae560]
or eax, dword [0x1807ae564]
imul eax, eax, 0x6bd49af
xor eax, 0x414cccdd
add eax, 0xec87975f
cmp eax, 0x1703dfff
je 0x1804c7aa6
test cl, 1
jne 0x1804c7ae4
jmp 0x1804c7ad0
mov rcx, qword [rsi + 0x68]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x1804c7ae4
mov rcx, rsi
add rcx, 0x48
mov eax, dword [0x1807ae568]
xor eax, dword [0x1807ae56c]
xor eax, 0xe95a96ae
and eax, 0x80a97c42
imul eax, eax, 0x619137d5
cmp eax, 0x732b081b
jbe 0x1804c7f1e
mov eax, dword [0x1807ae570]
or eax, dword [0x1807ae574]
and eax, 0xd63fb20a
imul eax, eax, 0xf87c3c22
imul edx, eax, 0xa335c2f5
mov rdi, qword [rcx]
movabs rax, 0x8000000000000000
cmp rdi, rax
sete al
cmp edx, 0x859ac4f4
jb 0x1804c7f1e
jmp 0x1804c7b50
mov ecx, dword [0x1807ae578]
sub ecx, dword [0x1807ae57c]
xor ecx, 0xb95fe884
or ecx, 0x41b5a848
and ecx, 0x821ed2d
cmp ecx, 0x84b67196
ja 0x1804c7f2f
jmp 0x1804c7b7c
mov ecx, dword [0x1807ae580]
and ecx, dword [0x1807ae584]
imul ecx, ecx, 0xf04b40bd
sub ecx, 0x52f325ec
and ecx, 0x3eea597e
cmp ecx, 0x28da6f11
je 0x1804c7b7c
test al, 1
jne 0x1804c7ccc
jmp 0x1804c7bac
mov eax, dword [0x1807ae588]
imul eax, dword [0x1807ae58c]
or eax, 0x6cd56d81
xor eax, 0xfaa6993d
mov ecx, 0xd5a65276
xor edx, edx
div ecx
cmp eax, 0x22fd4b7a
je 0x1804c7f3c
jmp 0x1804c7bd9
mov eax, dword [0x1807ae590]
and eax, dword [0x1807ae594]
sub eax, 0xde153679
add eax, 0x5c9ae215
sub eax, 0x6fa1faa7
cmp eax, 0xea629545
ja 0x1804c7bd9
jmp 0x1804c7bfd
cmp rdi, 0
sete al
test al, 1
jne 0x1804c7ccc
jmp 0x1804c7c0e
mov eax, dword [0x1807ae598]
and eax, dword [0x1807ae59c]
imul eax, eax, 0xef555c7c
xor eax, 0x51078021
xor eax, 0x51078021
cmp eax, 0xc1b52162
jbe 0x1804c7f4d
jmp 0x1804c7c37
mov eax, dword [0x1807ae5a0]
imul eax, dword [0x1807ae5a4]
sub eax, 0x57d8d3cc
add eax, 0xcb0c90f4
and eax, 0xc22ed291
mov rbx, qword [rsi + 0x50]
cmp eax, 0x8705d4f2
jbe 0x1804c7c37
jmp 0x1804c7c60
mov eax, dword [0x1807ae5a8]
sub eax, dword [0x1807ae5ac]
or eax, 0x9820bbb1
mov ecx, 0xbf1a2065
xor edx, edx
div ecx
sub eax, 0x9e83cde7
cmp eax, 0x45b46ee4
jb 0x1804c7f5a
mov eax, dword [0x1807ae5b0]
add eax, dword [0x1807ae5b4]
add eax, 0x86b3fe28
add eax, 0xaba8e3d
mov ecx, 0x30501214
xor edx, edx
div ecx
mov ebp, eax
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x873f46ea
je 0x1804c7f5a
jmp 0x1804c7cca
jmp 0x1804c7ccc
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
mov ecx, dword [0x1807ae5b8]
add ecx, dword [str.PC7__]
add ecx, 0xc8ae841
sub ecx, 0x51e51d75
or ecx, 0xb0f25343
cmp ecx, 0x87ce2fa
je 0x1804c7f78
mov ecx, dword [0x1807ae5c0]
sub ecx, dword [0x1807ae5c4]
or ecx, 0x88c70d15
sub ecx, 0x5fbdbf21
or ecx, 0xb5f71c1a
cmp ecx, 0xc1aa0e0e
je 0x1804c7f78
test al, 1
jne 0x1804c7e5c
jmp 0x1804c7d37
mov rcx, 0xffffffffffffffff
lock xadd qword [rsi + 8], rcx
mov eax, dword [0x1807ae5c8]
xor edx, edx
div dword [0x1807ae5cc]
or eax, 0x36830df2
xor eax, 0x255bfa03
sub eax, 0xc91d4eb7
cmp eax, 0x75c5a3d9
jae 0x1804c7f85
jmp 0x1804c7d6e
mov eax, dword [0x1807ae5d0]
or eax, dword [0x1807ae5d4]
imul eax, eax, 0x31090788
and eax, 0x7425fbe5
mov r8d, 0x926eb493
xor edx, edx
div r8d
cmp rcx, 1
sete dl
cmp eax, 0x9dd6bb67
ja 0x1804c7d6e
jmp 0x1804c7da0
test dl, 1
jne 0x1804c7daa
jmp 0x1804c7e5c
mov eax, dword [0x1807ae5d8]
sub eax, dword [0x1807ae5dc]
and eax, 0xaeb1df79
add eax, 0x8d3adf7f
and eax, 0xa6bc7e31
cmp eax, 0x747b5064
jae 0x1804c7f92
jmp 0x1804c7dd2
mov edi, dword [0x1807ae5e0]
xor edi, dword [0x1807ae5e4]
add edi, 0xf4e9a18f
and edi, 0x4bc9fef2
or edi, 0xb76a48e5
mov rcx, rsi
mov edx, 0xc0
mov r8d, 8
call fcn.1804cafa0
cmp edi, 0xf25dec44
je 0x1804c7dd2
jmp 0x1804c7e0d
mov eax, dword [0x1807ae5e8]
and eax, dword [0x1807ae5ec]
add eax, 0xde2d8cc0
xor eax, 0x763e23d4
and eax, 0x89a8873
cmp eax, 0x5235d993
je 0x1804c7fb6
mov eax, dword [0x1807ae5f0]
sub eax, dword [0x1807ae5f4]
sub eax, 0x17e800a2
imul eax, eax, 0x5a78bbcd
add eax, 0xc1f75a7a
cmp eax, 0x8d2e6e51
ja 0x1804c7fb6
jmp 0x1804c7e5c
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
retf 0x9248
mov esp, 0x5f1ebb55
pop rsp
invalid
cmp bl, byte [rdi + 0x2c]
invalid
cdq
push rdi
outsd dx, dword [rsi]
push rax
retf 0xc07e
cmp byte [rcx + 0x44b13982], cl
mov ebx, 0xd18afc81
add eax, 0xfffa44e9
jmp rsi
out 0x2e, al
cmp eax, 0xa08578c
cmp bl, byte [rbx + 0x487dd5d8]
mov ecx, ebx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x1804c7974
call 0x118f1e229
fisub word [rbx - 0x5261700]
invalid
invalid
jnp 0x1804c7f43
sub byte [rdi + 0x74], cl
jl 0x1804c7ef5
out dx, eax
jmp 0x1804c7a45
invalid
clc
mov ah, 0xd3
cmp eax, 0xc5e4291e
loop 0x1804c7f2c
pop rbp
jmp 0x1804c7b12
sti
invalid
div ch
and eax, 0xc01f16f0
sub eax, 0xfffc3ee9
invalid
push qword [rbx + 0x14a3ed70]
invalid
xor bh, byte [rbp + 0x61]
cmp al, 0xa2
jmp 0x1804c7bd7
movabs byte [0xd8bd42fffffc8ae9], al
sbb eax, 0xde5b5c87
jmp 0x1804c7c35
mov ebp, 0x5c871dd8
pop rbx
fsubp st(1)
invalid
sub ah, byte [rax - 0x3a3eead9]
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x1804c7c8a
jne 0x1804c7f47
wait
invalid
invalid
add dh, al
cmpsd dword [rsi], dword [rdi]
sbb eax, 0x42b88f53
xor byte [rdx - 0x2b], bl
mov ch, 0x48
mov ecx, esi
mov edx, 0xc0
mov r8d, 8
or byte [rax], al
add byte [rax], al
call fcn.1804cafa0
jmp 0x1804c7dd0
cmp al, 0x49
mov esp, 0xaf551271
jrcxz 0x1804c7fa8
jo 0x1804c7fbf
invalid