Function at 0x1803516c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
mov cl, byte [rsi + 0x108]
mov eax, dword [0x180788120]
add eax, dword [0x180788124]
mov r8d, 0xbc84e5b9
xor edx, edx
div r8d
xor eax, 0x2b82d9cc
xor eax, 0xe22b5477
cmp eax, 0xb99b7bc6
jb 0x180351a71
jmp 0x1803516fc
mov edx, dword [str.FaR]
xor edx, dword [0x18078812c]
sub edx, 0xe6f6c9a5
add edx, 0x1836083a
xor edx, 0x3ff79097
cmp cl, 3
sete al
cmp edx, 0xc16624d2
jb 0x1803516fc
jmp 0x18035172a
test al, 1
jne 0x18035178b
jmp 0x180351730
mov eax, dword [0x180788130]
xor eax, dword [0x180788134]
xor eax, 0x912612bc
or eax, 0x7b6e1634
mov ecx, 0x67b0c31c
xor edx, edx
div ecx
cmp eax, 0xd2da1148
jae 0x180351a7e
jmp 0x18035175c
mov eax, dword [0x180788138]
xor edx, edx
div dword [0x18078813c]
add eax, 0xcacf7e4d
mov ecx, 0xb95e0274
xor edx, edx
div ecx
imul eax, eax, 0xa5ae4ab2
cmp eax, 0x58d3755e
jbe 0x18035175c
add rsp, 0x20
pop rsi
ret
mov rax, rsi
add rax, 0x100
movzx eax, byte [rax]
test eax, eax
je 0x1803517be
jmp 0x18035179d
sub eax, 3
je 0x180351861
jmp 0x180351730
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x180351730
mov rdx, qword [rsi + 0xa8]
cmp rdx, 0
sete al
test al, 1
jne 0x1803517eb
jmp 0x1803517d2
mov rax, rsi
add rax, 0xa0
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
jmp 0x1803517eb
mov rax, rsi
add rax, 0xd8
mov r8, qword [rax]
cmp r8, 0
je 0x180351730
add rsi, 0xd0
mov eax, dword [0x180788140]
or eax, dword [0x180788144]
xor eax, 0xd38b5b7d
imul eax, eax, 0xf14321bb
mov ecx, 0x7e34a271
xor edx, edx
div ecx
cmp eax, 0xe84d7a8
ja 0x180351a8b
jmp 0x180351835
mov eax, dword [0x180788148]
and eax, dword [0x18078814c]
imul eax, eax, 0x23ae8ebe
imul eax, eax, 0x723b4b9a
sub eax, 0x904ca518
cmp eax, 0x4ed62209
je 0x180351835
mov rax, rsi
jmp 0x1803517a8
mov rcx, rsi
add rcx, 0x60
mov rax, rsi
add rax, 0x89
mov edx, dword [0x180788150]
or edx, dword [0x180788154]
sub edx, 0x8d0a62d1
imul edx, edx, 0x26e12e93
xor edx, 0x48efa450
cmp edx, 0x7bfa75dd
je 0x180351a9c
mov r8d, dword [0x180788158]
or r8d, dword [0x18078815c]
or r8d, 0xa3ec3ae8
or r8d, 0x5d37d072
and r8d, 0x5360ed24
mov dl, byte [rax]
cmp r8d, 0x3654fb9b
jbe 0x180351a9c
jmp 0x1803518cf
cmp dl, 2
jae 0x1803519a1
mov eax, dword [0x180788160]
sub eax, dword [0x180788164]
mov r8d, 0x8b8678c7
xor edx, edx
div r8d
imul eax, eax, 0xaf6d1d3c
imul eax, eax, 0xa56ad7d2
cmp eax, 0xa6a59b4f
je 0x180351aa9
mov eax, dword [0x180788168]
sub eax, dword [0x18078816c]
imul eax, eax, 0x4a0ceeb4
imul eax, eax, 0xf8f7ea01
imul edx, eax, 0xee9056b0
mov rax, rsi
add rax, 0x68
cmp edx, 0xf921d9d0
jae 0x180351aa9
jmp 0x180351939
mov rdx, qword [rax]
cmp rdx, 0
je 0x1803519a1
mov rcx, qword [rcx]
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x180788170]
xor edx, edx
div dword [0x180788174]
or eax, 0x608704ae
xor eax, 0xe2e41bdd
or eax, 0x43762217
cmp eax, 0x222f08bc
jbe 0x180351ab6
mov eax, dword [0x180788178]
or eax, dword [0x18078817c]
sub eax, 0x24a7245
xor eax, 0xc18c1188
imul eax, eax, 0x76ef1348
cmp eax, 0x459af8cc
ja 0x180351ab6
jmp 0x1803519a1
mov eax, dword [0x180788180]
xor eax, dword [0x180788184]
and eax, 0x8188fb1
add eax, 0xcd027223
and eax, 0xbbab9850
cmp eax, 0x28eca36e
jbe 0x180351ac7
jmp 0x1803519c9
mov ecx, dword [0x180788188]
xor ecx, dword [0x18078818c]
sub ecx, 0x1dad1eb9
xor ecx, 0xb81d1992
or ecx, 0x433e2e42
mov rax, rsi
add rax, 0x59
cmp ecx, 0x88c3125e
ja 0x1803519c9
jmp 0x1803519f8
mov al, byte [rax]
cmp al, 2
jae 0x180351730
mov rax, rsi
add rax, 0x30
add rsi, 0x38
mov ecx, dword [0x180788190]
xor ecx, dword [0x180788194]
and ecx, 0xa32d1ad4
sub ecx, 0x3d9bcb52
or ecx, 0xd96bf20
cmp ecx, 0xe5e357dd
jbe 0x180351ad4
mov ecx, dword [0x180788198]
xor ecx, dword [0x18078819c]
and ecx, 0x94332dfc
xor ecx, 0x111b355
and ecx, 0xda434ef5
mov r8, qword [rsi]
cmp ecx, 0x6115c9df
jb 0x180351ad4
jmp 0x180351a62
cmp r8, 0
cmp eax, 0
je 0x180351730
jmp 0x1803517a8
pushfq
loope 0x180351a6c
out 0x57, eax
jae 0x180351a63
jl 0x180351a78
invalid
or byte [rax], bl
retf
outsd dx, dword [rsi]
imul eax, dword [rsi - 0x3301644], 0xf0b0ffff
mov al, 0xf0
movsb byte [rdi], byte [rsi]
sbb eax, dword [rsi + 0x36fc84e9]
xor al, 0x2b
jno 0x180351a81
xchg edi, eax
std
invalid
invalid
pshufw mm3, qword [rsp + rdx*4], 0xf1
cmp eax, 0xfe50e96a
invalid
cmp ch, byte [rcx*2 + 0x3dbf5e45]
sub esi, dword [rbx - 0x162dd5e0]
mov cl, 0xfe
invalid
movabs al, byte [0xe9dec89a0714fdc7]
invalid
invalid