Function at 0x180352570
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rcx, rsi
call fcn.18063cdb0
mov rax, qword [rsi]
test rax, rax
je 0x18035261c
jmp 0x180352590
sub rax, 1
je 0x180352739
jmp 0x18035259c
mov rdi, rsi
add rdi, 8
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x1803527a4
mov eax, dword [0x1807882f0]
imul eax, dword [0x1807882f4]
or eax, 0xadb5b4f2
imul eax, eax, 0x2e25af95
mov ecx, 0xc95e0707
xor edx, edx
div ecx
cmp eax, 0xcbb5c686
je 0x1803528d7
jmp 0x1803525e3
mov eax, dword [0x1807882f8]
xor edx, edx
div dword [0x1807882fc]
mov ebx, eax
or ebx, 0x3b099b67
or ebx, 0x7ee9c4e0
and ebx, 0xd3a63d67
mov rcx, rdi
call fcn.1804be730
cmp ebx, 0x8e318d48
ja 0x1803525e3
jmp 0x180352617
jmp 0x1803527a4
mov eax, dword [0x180788300]
xor edx, edx
div dword [0x180788304]
xor eax, 0x2f6d1ce
imul eax, eax, 0x98663728
or eax, 0x544f7a84
cmp eax, 0x98adb64b
jb 0x1803528ec
mov eax, dword [0x180788308]
imul eax, dword [0x18078830c]
sub eax, 0x114cb2af
add eax, 0xa6809a89
imul eax, eax, 0xcf3a225
mov rcx, rsi
add rcx, 8
cmp eax, 0x17fb514
jb 0x1803528ec
jmp 0x180352676
mov eax, dword [0x180788310]
sub eax, dword [0x180788314]
mov r8d, 0x57f9a6bc
xor edx, edx
div r8d
sub eax, 0x37179c84
or eax, 0xb85673c
cmp eax, 0x7dc344b8
jbe 0x1803528fd
jmp 0x1803526a4
mov eax, dword [0x180788318]
or eax, dword [0x18078831c]
mov r8d, 0x5d520b65
xor edx, edx
div r8d
sub eax, 0xe2acf66e
imul eax, eax, 0xe4dfbac0
cmp eax, 0x54ca3b43
jb 0x1803526a4
jmp 0x1803526cf
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x1803527a4
call fcn.1804bab90
mov eax, dword [0x180788320]
xor edx, edx
div dword [0x180788324]
and eax, 0x31dd8625
and eax, 0x9377e61
add eax, 0x43f59da9
cmp eax, 0xd189094d
je 0x18035290e
jmp 0x180352710
mov eax, dword [0x180788328]
and eax, dword [0x18078832c]
mov ecx, 0xae233eb
xor edx, edx
div ecx
imul eax, eax, 0xe25f079b
xor eax, 0xa20e5a19
cmp eax, 0x3bd832da
jae 0x180352710
jmp 0x1803527a4
mov rcx, rsi
add rcx, 8
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x1803527a4
call fcn.1804b80b0
mov eax, dword [0x180788330]
imul eax, dword [0x180788334]
sub eax, 0x9ae963df
mov ecx, 0x43d91ccb
xor edx, edx
div ecx
and eax, 0x62386b42
cmp eax, 0xe5636a10
je 0x18035291b
jmp 0x180352780
mov eax, dword [0x180788338]
or eax, dword [0x18078833c]
or eax, 0xcb313af4
or eax, 0x325c30c7
add eax, 0x38b1c639
cmp eax, 0x85b5a8f2
jae 0x180352780
jmp 0x1803527a4
mov eax, dword [0x180788340]
xor edx, edx
div dword [0x180788344]
xor eax, 0x5aa93c9d
mov ecx, 0x808c0b6a
xor edx, edx
div ecx
imul eax, eax, 0xf814792
cmp eax, 0x8d83091e
je 0x180352928
jmp 0x1803527d3
mov ecx, dword [0x180788348]
or ecx, dword [str._eYgM]
xor ecx, 0x67b9150d
or ecx, 0xff4465f9
sub ecx, 0xf3069ab2
mov rax, qword [rsi + 0x20]
cmp ecx, 0x502dbb33
je 0x1803527d3
jmp 0x1803527ff
cmp rax, 0
sete al
test al, 1
jne 0x1803528ce
jmp 0x180352810
mov r8, qword [rsi + 0x48]
cmp r8, 0
sete cl
mov eax, dword [0x180788350]
xor edx, edx
div dword [0x180788354]
sub eax, 0x43c3e8a8
and eax, 0xfe7a179e
and eax, 0x32673c14
cmp eax, 0xfa7d097
je 0x180352935
mov eax, dword [0x180788358]
and eax, dword [0x18078835c]
or eax, 0xe2be3a3a
imul eax, eax, 0x404c30f8
xor eax, 0xd56187a6
cmp eax, 0x2f9bb3af
je 0x180352935
test cl, 1
jne 0x1803528ce
jmp 0x180352871
mov rcx, qword [rsi + 0x50]
mov eax, dword [0x180788360]
imul eax, dword [0x180788364]
add byte [rdi], cl
scasd eax, dword [rdi]
add eax, 0x435ae2
xor eax, 0x1cc0eea
imul eax, eax, 0xcb619a46
imul eax, eax, 0x2b79e5f3
cmp eax, 0xa1a75487
ja 0x180352942
jmp 0x1803528a0
mov edx, dword [0x180788368]
xor edx, dword [0x18078836c]
sub edx, 0x2291c8ba
sub edx, 0xaf23fa84
sub edx, 0xce18ffcc
mov rax, qword [r8 + 0x18]
cmp edx, 0x5078273f
ja 0x1803528a0
jmp 0x1803528cc
call rax
nop
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
nop
jrcxz 0x18035287a
mov esp, dword [rdi + rbx - 0x6f]
xchg ecx, eax
or ecx, dword [rax - 0x77]
stc
call fcn.1804be730
jmp 0x1803525e1
cwde
cli
fcomp dword [rax]
xor byte [rax + rcx*2 + 0x6ca5e465], dl
jmp 0x180352645
cld
add dword [rax], esi
ret 0x8ce6
xchg ecx, eax
out dx, eax
invalid
orps xmm1, xmmword [rbx - 0x21]
enter 0x2124, 0xfffffffffffffff7
jmp 0x18035277e
scasb al, byte [rdi]
sar bl, cl
mov eax, 0xb8a049d
jmp 0x1803527d1
sub eax, 0x3cddd230
test qword [r11 - 0xfe17], rbx
call rax
xchg edi, eax
loop 0x1803528dd
rcl byte [rdi + 0x5e6d97e2]
insd dword [rdi], dx
pop rsi
mov dl, 0x83
jmp 0x18035289e