Function at 0x1804b5fa0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rcx, qword [rsi]
cmp rcx, 0
sete al
test al, 1
jne 0x1804b63ca
jmp 0x1804b5fc4
mov eax, dword [str.e_qA]
xor edx, edx
div dword [0x1807ac274]
mov r8d, 0xf91ab583
xor edx, edx
div r8d
or eax, 0x60d7188d
or eax, 0x434d351b
cmp eax, 0x69726443
jae 0x1804b6567
mov eax, dword [0x1807ac278]
xor eax, dword [0x1807ac27c]
imul edx, eax, 0xf20c808
and edx, 0x5406aa8a
and edx, 0xe04fc364
lock dec qword [rcx]
sete al
cmp edx, 0x7460c860
ja 0x1804b6567
jmp 0x1804b6025
jmp 0x1804b6027
test al, 1
jne 0x1804b602d
jmp 0x1804b6037
mov rcx, rsi
call fcn.1804b9d30
jmp 0x1804b6037
mov eax, dword [0x1807ac280]
xor eax, dword [0x1807ac284]
add eax, 0xe70ed617
or eax, 0x9b2b7ac
xor eax, 0x991150b5
cmp eax, 0x6bfd9e48
jb 0x1804b6578
mov eax, dword [0x1807ac288]
or eax, dword [0x1807ac28c]
or eax, 0xd12c976f
or eax, 0x2dd0aee0
imul eax, eax, 0x3cf4d6b1
mov rbx, rsi
add rbx, 0x28
mov rdi, rsi
add rdi, 0x30
mov r14, qword [rsi + 0x30]
mov r15, qword [rsi + 0x38]
cmp eax, 0x3465c28a
je 0x1804b6578
jmp 0x1804b609c
cmp r15, 0
sete al
test al, 1
jne 0x1804b61d2
jmp 0x1804b60ad
xor r12d, r12d
jmp 0x1804b60b2
mov rax, r12
mov rdx, rax
shl rdx, 3
mov rcx, r14
add rcx, rdx
add r12, 1
mov rax, qword [r14 + rax*8]
lock dec qword [rax]
sete al
test al, 1
je 0x1804b6164
mov eax, dword [0x1807ac290]
imul eax, dword [0x1807ac294]
xor eax, 0xfa0c80a9
and eax, 0x2e96b6a8
xor eax, 0x527a4329
cmp eax, 0x9d4a8cff
jae 0x1804b6585
xor eax, eax
cmp eax, 0xfb03739b
jae 0x1804b6585
jmp 0x1804b610f
call fcn.1804c2000
mov eax, dword [0x1807ac298]
xor eax, dword [0x1807ac29c]
imul eax, eax, 0xab787660
or eax, 0x697abd6d
and eax, 0xbfd28023
cmp eax, 0xd7b10eac
je 0x1804b6592
mov eax, dword [0x1807ac2a0]
add eax, dword [0x1807ac2a4]
add eax, 0x6dfbe6dc
or eax, 0x84ad6fca
imul eax, eax, 0x4075355d
cmp eax, 0x4ffa8eba
jbe 0x1804b6592
jmp 0x1804b6164
mov eax, dword [0x1807ac2a8]
sub eax, dword [0x1807ac2ac]
mov ecx, 0xc1178318
xor edx, edx
div ecx
or eax, 0xa0f43c85
mov ecx, 0xa2f90c56
xor edx, edx
div ecx
cmp eax, 0xac7c611
je 0x1804b659f
mov eax, dword [0x1807ac2b0]
xor edx, edx
div dword [0x1807ac2b4]
and eax, 0x98b20511
mov ecx, 0x578abbb
xor edx, edx
div ecx
add eax, 0xfd03768c
cmp r12, r15
sete cl
cmp eax, 0xc63c01de
jb 0x1804b659f
jmp 0x1804b61c6
test cl, 1
jne 0x1804b61d0
jmp 0x1804b60b2
jmp 0x1804b61d2
mov r8, qword [rbx]
cmp r8, 0
sete cl
mov eax, dword [0x1807ac2b8]
xor edx, edx
div dword [0x1807ac2bc]
add eax, 0xba4ebfa1
add eax, 0x988db270
xor eax, 0xcc6d4101
cmp eax, 0x4f4984b
je 0x1804b65b0
jmp 0x1804b6206
mov eax, dword [0x1807ac2c0]
and eax, dword [0x1807ac2c4]
add eax, 0xde4b2b44
or eax, 0x80e16544
xor eax, 0xbcef8c2e
cmp eax, 0x7a137d73
ja 0x1804b6206
test cl, 1
jne 0x1804b6295
jmp 0x1804b622f
mov eax, dword [0x1807ac2c8]
or eax, dword [0x1807ac2cc]
imul eax, eax, 0xcc1944b5
add eax, 0x7dd0cda2
add eax, 0x34f8d9d
cmp eax, 0x2082d060
jbe 0x1804b65bd
mov eax, dword [0x1807ac2d0]
and eax, dword [0x1807ac2d4]
and eax, 0x7b43a166
add eax, 0x6850fa83
or eax, 0x1c8c2cf
mov rcx, qword [rdi]
mov rdx, r8
shl rdx, 3
cmp eax, 0x58580daf
jbe 0x1804b65bd
jmp 0x1804b6288
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804b6295
mov rcx, rsi
add rcx, 8
mov rax, qword [rsi + 8]
mov r8, 0xffffffffffffffff
lock xadd qword [rax], r8
mov eax, dword [0x1807ac2d8]
sub eax, dword [0x1807ac2dc]
imul eax, eax, 0x2836ede0
sub eax, 0xaf1431f
and eax, 0xa8c32e85
cmp eax, 0x9595d28f
jae 0x1804b65ce
jmp 0x1804b62d5
mov eax, dword [0x1807ac2e0]
xor edx, edx
div dword [0x1807ac2e4]
sub eax, 0x13d7f4c6
mov r9d, 0xa15a45b8
xor edx, edx
div r9d
add eax, 0x7b14e482
cmp r8, 1
sete dl
cmp eax, 0xbd2ce1ad
je 0x1804b62d5
test dl, 1
jne 0x1804b6310
jmp 0x1804b648d
mov eax, dword [0x1807ac2e8]
imul eax, dword [0x1807ac2ec]
add eax, 0xaa86941a
or eax, 0xbfe3bf96
imul eax, eax, 0x5b70de4f
cmp eax, 0xbb09a7ec
jae 0x1804b65db
jmp 0x1804b633a
mov eax, dword [0x1807ac2f0]
mov edx, dword [0x1807ac2f4]
xor eax, edx
imul eax, eax, 0xbbc4013c
xor eax, 0xe4d4d384
add eax, 0xeed0c041
mov rdi, qword [rcx]
cmp eax, 0xe2d92339
jb 0x1804b633a
jmp 0x1804b6364
mov eax, dword [0x1807ac2f8]
xor edx, edx
div dword [0x1807ac2fc]
mov ecx, 0x356194a0
xor edx, edx
div ecx
or eax, 0x905675e
and eax, 0xf76a472a
cmp eax, 0x4556257e
ja 0x1804b65ec
jmp 0x1804b6392
mov eax, dword [0x1807ac300]
add eax, dword [0x1807ac304]
sub eax, 0x7b35cfc5
add eax, 0x70c49b1b
mov ecx, 0x1bf2b13a
xor edx, edx
div ecx
mov ebx, eax
mov rcx, rdi
call fcn.1804ba7d0
cmp ebx, 0xa69c9df5
jae 0x1804b6392
jmp 0x1804b63c5
jmp 0x1804b648d
mov rcx, rsi
add rcx, 8
mov r8, qword [rsi + 8]
mov eax, dword [0x1807ac308]
xor edx, edx
div dword [0x1807ac30c]
imul eax, eax, 0xf008ce77
xor eax, 0x684c7980
xor eax, 0xc097a871
cmp eax, 0x2aea1fcb
jb 0x1804b6601
mov edx, dword [0x1807ac310]
and edx, dword [0x1807ac314]
or edx, 0x837c0225
add edx, 0x859bd9fb
and edx, 0x52fe634e
lock dec qword [r8]
sete al
cmp edx, 0xffd6046d
jae 0x1804b6601
jmp 0x1804b6431
test al, 1
jne 0x1804b6437
jmp 0x1804b648d
call fcn.1804c1b60
mov eax, dword [0x1807ac318]
xor edx, edx
div dword [0x1807ac31c]
or eax, 0x63706dce
and eax, 0x81c9ef6f
or eax, 0xba4f12e
cmp eax, 0x10a8720a
je 0x1804b6616
mov eax, dword [0x1807ac320]
imul eax, dword [str.Ltp_]
and eax, 0x858d12dc
add eax, 0x2c481e23
or eax, 0xb4556b09
cmp eax, 0x15abc95e
je 0x1804b6616
jmp 0x1804b648d
mov eax, dword [0x1807ac328]
imul eax, dword [0x1807ac32c]
or eax, 0x267bb205
sub eax, 0x919c9092
sub eax, 0x5fd9810d
cmp eax, 0xda79a534
jbe 0x1804b6623
mov eax, dword [0x1807ac330]
add eax, dword [0x1807ac334]
imul eax, eax, 0xb6316058
or eax, 0x3b46c31e
imul ecx, eax, 0xc495a7a8
mov rax, rsi
add rax, 0x98
cmp ecx, 0x845193ce
jae 0x1804b6623
jmp 0x1804b64e8
cmp dword [rax], 0x3b9aca00
sete al
test al, 1
jne 0x1804b6559
jmp 0x1804b64f7
mov rax, rsi
add rax, 0x70
mov rdi, qword [rax]
mov rsi, qword [rsi + 0x78]
cmp rsi, 0
sete al
test al, 1
jne 0x1804b6559
jmp 0x1804b6512
xor eax, eax
xor ebx, ebx
jmp 0x1804b6518
add rbx, 1
imul rax, rax, 0x28
mov rcx, rdi
add rcx, rax
add rcx, 8
mov rcx, qword [rcx]
mov edx, 0x1860
mov r8d, 8
call fcn.1804cafa0
cmp rbx, rsi
mov rax, rbx
jne 0x1804b6518
imul rdx, rsi, 0x28
mov rcx, rdi
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804b6559
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
stosd dword [rdi], eax
push rdi
and ah, bl
sqrtps xmm3, xmmword [rcx]
mov eax, 0x9ff48f0
jmp 0x1804b5ff2
nop
mov eax, 0x52607595
cmp bh, dh
jmp 0x1804b605d
invalid
invalid
call 0x10e43ac90
cmp al, 0x9d
pop rsp
je 0x1804b65c2
xchg dword [rcx - 0x17], esi
loop 0x1804b65a9
invalid
scasb al, byte [rdi]
invalid
out 0xed, eax
leave
jmp 0x1a90ce4a3
jle 0x1804b6585
sub byte [rsi + rbp*8 - 0x7716ae4e], al
cld
invalid
xor eax, 0xb882f174
wait
pop rbx
adc eax, 0xfffcf8e9
invalid
mov esp, 0xc5ba2bfd
mov ecx, 0x91d899e1
movabs al, byte [0x1859fffffd4ce98f]
invalid
pop rcx
sbb ch, al
add al, 0x4a
xor al, 0x48
mov ecx, edi
call fcn.1804ba7d0
jmp 0x1804b6390
call 0x177df2b55
sub ch, bl
sbb dword [rax - 0x1c], eax
lahf
lock dec qword [r8]
jmp 0x1804b63fe
mov dh, ch
std
invalid
or byte [rsi + 0x54], ah
xchg dword ds:[rbx - 0x33], esp
scasd eax, dword [rdi]
jmp 0x1804b64b4