Function at 0x1804be070
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, qword [rcx]
mov eax, dword [0x1807ad238]
imul eax, dword [0x1807ad23c]
or eax, 0xdae864ba
mov ecx, 0x87c840a8
xor edx, edx
div ecx
and eax, 0xd29b835e
cmp eax, 0x50a1b7c
ja 0x1804be2ff
jmp 0x1804be0a9
mov eax, dword [0x1807ad240]
xor eax, dword [str.k__XB_]
imul eax, eax, 0xf15ac136
add eax, 0x7c45ffd1
imul ecx, eax, 0xa9810f50
mov rax, rsi
add rax, 0x18
cmp ecx, 0x23bd6901
jbe 0x1804be0a9
jmp 0x1804be0d7
mov ecx, dword [0x1807ad248]
and ecx, dword [0x1807ad24c]
and ecx, 0x2d0e879b
xor ecx, 0xbe3d200f
imul ecx, ecx, 0xdc605146
cmp ecx, 0x737152c4
je 0x1804be30c
mov ecx, dword [0x1807ad250]
imul ecx, dword [0x1807ad254]
imul edx, ecx, 0xb656535
sub edx, 0xc95da2b4
or edx, 0x19e7ef8a
mov rdi, qword [rax]
cmp rdi, 0
sete cl
cmp edx, 0x9bbb8231
je 0x1804be30c
test cl, 1
jne 0x1804be208
jmp 0x1804be141
mov eax, dword [0x1807ad258]
add eax, dword [0x1807ad25c]
imul eax, eax, 0xbe26d73f
or eax, 0x24e83cf2
and eax, 0x6207651a
cmp eax, 0x556bb79
jb 0x1804be319
mov eax, dword [0x1807ad260]
imul eax, dword [0x1807ad264]
sub eax, 0xd140f09
and eax, 0x6e1d16ff
or eax, 0x37dfd929
mov r14, rsi
add r14, 0x20
cmp eax, 0x7b91d7a8
je 0x1804be319
jmp 0x1804be198
mov eax, dword [0x1807ad268]
xor eax, dword [0x1807ad26c]
add eax, 0x973b88cf
mov ecx, 0xfd1934a
xor edx, edx
div ecx
imul eax, eax, 0x3cd7a93
cmp eax, 0xf68005b1
ja 0x1804be326
mov eax, dword [0x1807ad270]
xor edx, edx
div dword [0x1807ad274]
xor eax, 0x3bfc14b7
imul eax, eax, 0x33ec64f2
mov ecx, 0x8f8ede2
xor edx, edx
div ecx
mov ebx, eax
mov rcx, qword [r14]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebx, 0x1a53b9ec
ja 0x1804be326
jmp 0x1804be206
jmp 0x1804be208
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete cl
mov eax, dword [0x1807ad278]
add eax, dword [0x1807ad27c]
and eax, 0x9312266f
mov r8d, 0xfb85e48b
xor edx, edx
div r8d
or eax, 0x85b73941
cmp eax, 0x2536b941
jb 0x1804be348
mov eax, dword [0x1807ad280]
imul eax, dword [0x1807ad284]
mov r8d, 0x9defd8e6
xor edx, edx
div r8d
mov r8d, 0x64d5a53c
xor edx, edx
div r8d
add eax, 0x9b8a1965
cmp eax, 0x51767530
jbe 0x1804be348
test cl, 1
jne 0x1804be2f5
jmp 0x1804be27b
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
test al, 1
jne 0x1804be28f
jmp 0x1804be2f5
mov eax, dword [0x1807ad288]
imul eax, dword [0x1807ad28c]
add eax, 0x2eeff0
sub eax, 0xded1fb1f
add eax, 0x9c8245c4
add eax, 0x8ec485c8
cmp eax, 0xe38309d7
jae 0x1804be355
jmp 0x1804be2b8
mov eax, dword [0x1807ad290]
and eax, dword [0x1807ad294]
imul edi, eax, 0x6733171a
sub edi, 0x86054e19
add edi, 0x3633394f
mov rcx, rsi
mov edx, 0x30
mov r8d, 8
call fcn.1804cafa0
cmp edi, 0xbb01495
jb 0x1804be2b8
jmp 0x1804be2f3
jmp 0x1804be2f5
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
jmp 0x1804be297
invalid
invalid
mov bh, 0xd1
fld xword [rbp - 0x2b]
invalid
jns 0x1804be3b9
ret
mov ecx, 0xb8404c7e
mov esp, dword [rsi + 0x7d]
mov rcx, rsi
mov edx, 0x30
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804be2b6
xor eax, 2
add byte [rax], al
jmp 0x1804be3c0
mov eax, dword [0x1807ad2a0]
or eax, dword [0x1807ad2a4]
sub eax, 0x1d746a47
or eax, 0x8195504a
mov ecx, 0x5860e9d0
xor edx, edx
div ecx
mov rdi, rsi
add rdi, 0x18
mov r14, qword [rsi + 0x18]
mov r15, qword [rsi + 0x20]
cmp r15, 0
sete cl
cmp eax, 0xc2a50f3c
je 0x1804be3c0
jmp 0x1804be3fe
test cl, 1
jne 0x1804be4a4
jmp 0x1804be409
xor r8d, r8d
jmp 0x1804be40e
mov eax, dword [0x1807ad2a8]
xor edx, edx
div dword [0x1807ad2ac]
sub eax, 0x2ccb4b08
mov ecx, 0xba6a5711
xor edx, edx
div ecx
sub eax, 0xc0be949d
cmp eax, 0x57d6f866
jae 0x1804be6bb
jmp 0x1804be43c
mov eax, dword [0x1807ad2b0]
xor edx, edx
div dword [0x1807ad2b4]
mov ecx, 0x26995261
xor edx, edx
div ecx
or eax, 0xb4191bef
and eax, 0x566cd9ef
mov rdx, r8
shl rdx, 4
mov rcx, r14
add rcx, rdx
mov r12, r8
add r12, 1
mov rdx, qword [rcx]
lock dec qword [rdx]
sete dl
cmp eax, 0xef229be5
je 0x1804be43c
test dl, 1
jne 0x1804be489
jmp 0x1804be490
call fcn.1804c1900
jmp 0x1804be490
cmp r12, r15
sete al
test al, 1
mov r8, r12
jne 0x1804be4a2
jmp 0x1804be40e
jmp 0x1804be4a4
mov r8, qword [rbx]
cmp r8, 0
sete cl
mov eax, dword [0x1807ad2b8]
xor edx, edx
div dword [0x1807ad2bc]
mov r9d, 0x761fe44b
xor edx, edx
div r9d
xor eax, 0x817bbbe2
imul eax, eax, 0x13dcf5ce
cmp eax, 0x3e91a745
jb 0x1804be6df
jmp 0x1804be4df
mov eax, dword [0x1807ad2c0]
xor eax, dword [0x1807ad2c4]
add eax, 0xd1d6b9e1
imul eax, eax, 0xf543a591
xor eax, 0x80c7e01b
cmp eax, 0x1ea5eae1
je 0x1804be4df
test cl, 1
jne 0x1804be51e
jmp 0x1804be509
mov rcx, qword [rdi]
shl r8, 4
mov rdx, r8
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x1807ad2c8]
xor eax, dword [0x1807ad2cc]
and eax, 0x7303acd0
or eax, 0xb28392de
sub eax, 0xa9d216d4
cmp eax, 0x91c9b082
jae 0x1804be6f0
jmp 0x1804be546
mov eax, dword [0x1807ad2d0]
sub eax, dword [0x1807ad2d4]
add eax, 0x6da09d1e
add eax, 0x41515e60
imul eax, eax, 0x9fee0179
mov rcx, 0xffffffffffffffff
cmp rsi, rcx
sete cl
cmp eax, 0x34e15a4f
jae 0x1804be546
jmp 0x1804be578
mov eax, dword [0x1807ad2d8]
or eax, dword [0x1807ad2dc]
or eax, 0x4d5af55
imul eax, eax, 0xb184805e
or eax, 0x5e98d134
cmp eax, 0xa787701f
jbe 0x1804be701
jmp 0x1804be5a1
mov eax, dword [0x1807ad2e0]
sub eax, dword [0x1807ad2e4]
mov r8d, 0xa58c471b
xor edx, edx
div r8d
imul eax, eax, 0x918ecdb5
imul eax, eax, 0xdb5c8b14
cmp eax, 0x874e6446
jbe 0x1804be5a1
test cl, 1
jne 0x1804be64d
jmp 0x1804be5d2
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
test al, 1
jne 0x1804be5e6
jmp 0x1804be64d
mov rcx, rsi
mov edx, 0x28
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x1807ad2e8]
xor eax, dword [str._D__]
mov ecx, 0xc0ae95d7
xor edx, edx
div ecx
xor eax, 0x7b58043f
sub eax, 0x10e82bb1
cmp eax, 0xf445971f
je 0x1804be70e
jmp 0x1804be625
mov eax, dword [0x1807ad2f0]
xor eax, dword [0x1807ad2f4]
mov ecx, 0x128bed29
xor edx, edx
div ecx
sub eax, 0xd4a23a0
or eax, 0x7003f76e
cmp eax, 0x4ca7e264
jb 0x1804be625
jmp 0x1804be64d
mov eax, dword [0x1807ad2f8]
and eax, dword [0x1807ad2fc]
mov ecx, 0x23a1c583
xor edx, edx
div ecx
or eax, 0xf2974186
or eax, 0xc456cfc2
cmp eax, 0xf5cec5e4
jbe 0x1804be71f
jmp 0x1804be679
mov eax, dword [0x1807ad300]
or eax, dword [0x1807ad304]
imul eax, eax, 0xec681e35
or eax, 0xf3a5346d
mov ecx, 0x143c7b4e
xor edx, edx
div ecx
cmp eax, 0xbb8ec32b
jae 0x1804be679
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
test al, 0xe2
sbb dword [rdi - 0xf], esp
add ch, byte [rax - 0x3f76b374]
shl rax, 4
shl eax, 4
mov rcx, r14
add rcx, rax
mov rax, qword [rcx]
lock dec qword [rax]
sete al
jmp 0x1804be43a
or dword [rbx + 0x60e7ea55], edx
sbb dword [rdi], ebx
sbb dl, byte [rdx]
jmp 0x1804be74e
hlt
in eax, dx
stosd dword [rdi], eax
invalid
mov cs, word [rcx - 0x35]
jmp 0x1804be6c7
invalid
add ebx, 0xc0