Function at 0x1804b97b0
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, rcx
mov eax, dword [0x1807ac950]
xor eax, dword [0x1807ac954]
mov ecx, 0xfb0c5a4b
xor edx, edx
div ecx
imul eax, eax, 0x4a972d06
and eax, 0xecaa3775
cmp eax, 0xaf4161c4
je 0x1804b9c5c
jmp 0x1804b97f0
mov eax, dword [0x1807ac958]
xor eax, dword [0x1807ac95c]
imul eax, eax, 0x7caae87b
or eax, 0x1cfcc040
imul ecx, eax, 0x7d285420
mov rbx, rsi
add rbx, 0x10
mov rdi, rsi
add rdi, 0x18
mov r14, qword [rsi + 0x18]
mov rax, rsi
add rax, 0x20
cmp ecx, 0x1c7881a9
je 0x1804b97f0
jmp 0x1804b9830
mov r15, qword [rax]
cmp r15, 0
sete al
mov ecx, dword [0x1807ac960]
imul ecx, dword [0x1807ac964]
add ecx, 0x8f277d9d
and ecx, 0xa46d363
or ecx, 0xf6b53f65
cmp ecx, 0xc73f3f63
je 0x1804b9c6d
mov ecx, dword [0x1807ac968]
sub ecx, dword [0x1807ac96c]
and ecx, 0xee8d5021
imul ecx, ecx, 0x87022750
sub ecx, 0x684a1a04
cmp ecx, 0x3ee13065
jb 0x1804b9c6d
test al, 1
jne 0x1804b9a8a
jmp 0x1804b9899
xor r12d, r12d
jmp 0x1804b989e
imul rax, r12, 0x50
mov r13, r14
add r13, rax
add r12, 1
mov rdx, qword [r13]
cmp rdx, 0
je 0x1804b991b
mov eax, dword [0x1807ac970]
and eax, dword [0x1807ac974]
sub eax, 0x46dd4eac
add eax, 0x9c73bc00
or eax, 0x21a90270
cmp eax, 0xd6b3605b
ja 0x1804b9c7e
mov eax, dword [0x1807ac978]
xor eax, dword [0x1807ac97c]
and eax, 0x388ec144
and eax, 0x1d157d9e
imul ecx, eax, 0x2e631227
mov rax, r13
add rax, 8
cmp ecx, 0x1a590624
jbe 0x1804b9c7e
jmp 0x1804b990d
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
mov r8, qword [r13 + 0x18]
cmp r8, 0
sete cl
mov eax, dword [0x1807ac980]
xor eax, dword [0x1807ac984]
sub eax, 0xd3c7e3ca
and eax, 0x2c7653a8
mov r9d, 0xa981b54f
xor edx, edx
div r9d
cmp eax, 0xb5ed164
ja 0x1804b9c8f
mov eax, dword [0x1807ac988]
and eax, dword [0x1807ac98c]
xor eax, 0xe09f1a1f
mov r9d, 0x292157d2
xor edx, edx
div r9d
imul eax, eax, 0x3ea657fc
cmp eax, 0x13fde1f0
je 0x1804b9c8f
test cl, 1
jne 0x1804b999a
jmp 0x1804b9986
mov rcx, qword [r13 + 0x20]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x1804b999a
mov rax, r13
add rax, 0x30
mov rdx, qword [rax]
mov eax, dword [0x1807ac990]
and eax, dword [0x1807ac994]
sub eax, 0x1e900758
imul eax, eax, 0xe724e1ed
or eax, 0x77c21664
cmp eax, 0x8bc8ae7b
jae 0x1804b9ca0
mov eax, dword [0x1807ac998]
sub eax, dword [0x1807ac99c]
or eax, 0x6bba82c0
sub eax, 0xc1bfe794
imul ecx, eax, 0x88e0c7dd
movabs rax, 0x8000000000000000
cmp rdx, rax
sete al
cmp ecx, 0xad499308
jae 0x1804b9ca0
test al, 1
jne 0x1804b9a79
jmp 0x1804b9a09
cmp rdx, 0
sete al
test al, 1
jne 0x1804b9a79
jmp 0x1804b9a16
mov rcx, qword [r13 + 0x38]
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x1807ac9a0]
xor edx, edx
div dword [0x1807ac9a4]
and eax, 0x8d3796fe
sub eax, 0x4df676de
sub eax, 0x1a927cf7
cmp eax, 0xfde1dc0d
jae 0x1804b9cb1
jmp 0x1804b9a4f
mov eax, dword [0x1807ac9a8]
xor edx, edx
div dword [0x1807ac9ac]
and eax, 0x75033374
or eax, 0x1880401f
mov ecx, 0x33315869
xor edx, edx
div ecx
cmp eax, 0x22adc721
ja 0x1804b9a4f
jmp 0x1804b9a79
cmp r12, r15
sete al
test al, 1
jne 0x1804b9a88
jmp 0x1804b989e
jmp 0x1804b9a8a
mov rax, qword [rbx]
cmp rax, 0
je 0x1804b9b59
mov rdi, qword [rdi]
imul rbx, rax, 0x50
mov eax, dword [0x1807ac9b0]
imul eax, dword [0x1807ac9b4]
and eax, 0x240ded21
xor eax, 0x8d73e3bb
mov ecx, 0x3c813281
xor edx, edx
div ecx
cmp eax, 0x7b546355
ja 0x1804b9cc2
jmp 0x1804b9acb
mov eax, dword [0x1807ac9b8]
sub eax, dword [0x1807ac9bc]
and eax, 0x7618d9e7
mov ecx, 0xc82e884f
xor edx, edx
div ecx
mov ebp, eax
xor ebp, 0xb4dd84ff
mov rcx, rdi
mov rdx, rbx
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0x693aacae
jb 0x1804b9acb
jmp 0x1804b9b08
mov eax, dword [0x1807ac9c0]
and eax, dword [0x1807ac9c4]
mov ecx, 0xb3e8f2f9
xor edx, edx
div ecx
or eax, 0x21a97cbe
add eax, 0x3839ad17
cmp eax, 0x2159fbb6
jbe 0x1804b9ce0
jmp 0x1804b9b34
mov eax, dword [0x1807ac9c8]
sub eax, dword [0x1807ac9cc]
imul eax, eax, 0x213e1f52
sub eax, 0x5ec16854
add eax, 0xc4fbe6c7
cmp eax, 0xccbfbcf1
je 0x1804b9b34
jmp 0x1804b9b59
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
test al, 1
jne 0x1804b9c4b
jmp 0x1804b9b70
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
jmp 0x1804b9b80
test al, 1
jne 0x1804b9b89
jmp 0x1804b9c4b
mov eax, dword [0x1807ac9d0]
add eax, dword [0x1807ac9d4]
mov ecx, 0x2cf6ebac
xor edx, edx
div ecx
imul eax, eax, 0x45c3ec5c
or eax, 0xb0303ed8
cmp eax, 0x21e83ee8
je 0x1804b9cf1
mov eax, dword [0x1807ac9d8]
mov ecx, dword [0x1807ac9dc]
sub eax, ecx
add eax, 0x6f537b4b
mov ecx, 0xd1254d07
imul rax, rcx
shr rax, 0x3f
or eax, 0x20fca922
cmp eax, 0x9abe72c
jbe 0x1804b9cf1
jmp 0x1804b9be6
mov eax, dword [0x1807ac9e0]
xor eax, dword [str.37TZ]
xor eax, 0xbe695bfd
add eax, 0x727402bd
sub eax, 0x17e03271
cmp eax, 0x4800f39f
je 0x1804b9cfe
mov eax, dword [0x1807ac9e8]
xor eax, dword [0x1807ac9ec]
add eax, 0xc7897dfa
or eax, 0x8a177fe3
imul edi, eax, 0xfdf201eb
mov rcx, rsi
mov edx, 0x28
mov r8d, 8
call fcn.1804cafa0
cmp edi, 0x8fc652a7
je 0x1804b9cfe
jmp 0x1804b9c49
jmp 0x1804b9c4b
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea esi, [0x1d4f67ea4]
or dh, byte [rcx + rdx*4]
xchg ecx, eax
fucomp st(1)
cmp ebx, 0x8b94ffff
invalid
xchg esp, eax
mov eax, dword [rdx + 0x7a8631f6]
stosb byte [rdi], al
jp 0x1804b9c41
jmp 0x1804b9865
fsub qword [r15 + 0x686c6943]
fistp qword [rax]
invalid
invalid
loop 0x1804b9ceb
mov r14d, r13d
mov edi, dword [rax + rdx*2 - 0x160650a9]
sbb bh, ch
invalid
test byte [rsi], bh
fistp qword [rbp - 0x26]
add byte [rdx + 0x551cd9dc], ch
mov cl, 0xe9
mov edi, ebp
invalid
invalid
jmp 0x1804b9d3c
invalid
movabs al, byte [0xe93cace40abec889]
mov dh, 0xfe
invalid
mov ch, 0xc6
push rcx
sbb ch, byte [rcx]
test esp, 0x506b9714
invalid