Function at 0x180201de0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x18051ad08]
imul eax, dword [0x18051ad0c]
and eax, 0x658a252b
imul eax, eax, 0x838e4a2f
and eax, 0xe6f17dea
cmp eax, 0x8ba35d2f
jae 0x180202246
mov eax, dword [0x18051ad10]
xor edx, edx
div dword [0x18051ad14]
xor eax, 0xa087e97b
add eax, 0xad2a5c38
add eax, 0xd9967216
cmp eax, 0x8910d37c
je 0x180202246
jmp 0x180201e41
mov rdi, qword [rsi]
cmp rdi, 0
sete al
test al, 1
jne 0x180201ec2
jmp 0x180201e51
mov rbx, qword [rsi + 8]
mov eax, dword [0x18051ad18]
sub eax, dword [0x18051ad1c]
imul eax, eax, 0x478654ff
mov ecx, 0xf3470c32
xor edx, edx
div ecx
sub eax, 0xa57e26b8
cmp eax, 0xa8ff8950
jae 0x180202253
mov eax, dword [0x18051ad20]
or eax, dword [0x18051ad24]
mov ecx, 0x894b1e23
xor edx, edx
div ecx
imul ebp, eax, 0xad26f3a0
sub ebp, 0x2a0ac11c
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
cmp ebp, 0xe9a52a33
je 0x180202253
jmp 0x180201ec0
jmp 0x180201ec2
mov rbx, rsi
add rbx, 0x20
mov rdi, qword [rsi + 0x28]
mov rax, rsi
add rax, 0x30
mov r14, qword [rax]
cmp r14, 0
sete al
test al, 1
jne 0x180201fe6
jmp 0x180201ee8
xor eax, eax
jmp 0x180201eec
mov ecx, dword [0x18051ad28]
imul ecx, dword [0x18051ad2c]
and ecx, 0x5176c296
add ecx, 0x6b91c27a
or ecx, 0x3fcf05c9
cmp ecx, 0x41be0100
je 0x180202271
jmp 0x180201f19
mov r9d, dword [0x18051ad30]
or r9d, dword [0x18051ad34]
add r9d, 0xbb13554f
or r9d, 0xe32ce128
add r9d, 0xb50872ac
mov r15, rax
add r15, 1
imul rdx, rax, 0x28
mov rcx, rdi
add rcx, rdx
add rcx, 8
mov rdx, qword [rcx]
cmp rdx, 0
sete r8b
cmp r9d, 0xf9672e8e
ja 0x180201f19
test r8b, 1
jne 0x180201fd2
jmp 0x180201f6d
add rcx, 8
mov rcx, qword [rcx]
mov r8d, 1
call fcn.1802cbf20
mov eax, dword [0x18051ad38]
or eax, dword [0x18051ad3c]
or eax, 0x68e05862
and eax, 0x7143921f
add eax, 0x2aa0a702
cmp eax, 0xad5d742d
je 0x18020227e
mov eax, dword [0x18051ad40]
or eax, dword [0x18051ad44]
and eax, 0x16c2bd3c
imul eax, eax, 0xebe076d6
mov ecx, 0xa1ba1d48
xor edx, edx
div ecx
cmp eax, 0x43631401
ja 0x18020227e
jmp 0x180201fd2
cmp r15, r14
sete al
test al, 1
mov rax, r15
jne 0x180201fe4
jmp 0x180201eec
jmp 0x180201fe6
mov rax, qword [rbx]
cmp rax, 0
sete cl
test cl, 1
jne 0x18020200b
jmp 0x180201ff7
imul rdx, rax, 0x28
mov rcx, rdi
mov r8d, 8
call fcn.1802cbf20
jmp 0x18020200b
mov eax, dword [0x18051ad48]
xor eax, dword [0x18051ad4c]
xor eax, 0xbf81b010
or eax, 0x7121b3eb
xor eax, 0x64267bb2
cmp eax, 0xf778f884
jae 0x18020228b
mov eax, dword [0x18051ad50]
or eax, dword [0x18051ad54]
sub eax, 0x209ddc4c
xor eax, 0x945b3293
imul edi, eax, 0x72a3e39d
mov rcx, rsi
add rcx, 0x88
call fcn.18026c6f0
mov rax, rsi
add rax, 0x38
cmp edi, 0x5a363f79
jb 0x18020228b
jmp 0x180202071
mov r8, qword [rax]
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x180202100
cmp r8, 0
sete al
test al, 1
jne 0x180202100
jmp 0x180202090
mov r9, rsi
add r9, 0x40
mov eax, dword [0x18051ad58]
imul eax, dword [0x18051ad5c]
or eax, 0x78ffb899
and eax, 0x195c4cce
mov ecx, 0x58f6df51
xor edx, edx
div ecx
cmp eax, 0xc6c69783
ja 0x1802022ab
mov eax, dword [0x18051ad60]
imul eax, dword [0x18051ad64]
sub eax, 0x39f7fe86
mov ecx, 0xd36203f9
xor edx, edx
div ecx
xor eax, 0x410c9eaf
mov rcx, qword [r9]
cmp eax, 0x3f9e2bd9
je 0x1802022ab
jmp 0x1802020f2
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
mov rax, rsi
add rax, 0x58
mov eax, dword [rax]
mov ecx, eax
sub ecx, 4
jb 0x18020217f
jmp 0x180202112
sub eax, 6
je 0x18020217f
jmp 0x180202119
mov rdi, qword [rsi + 0x60]
mov eax, dword [0x18051ad68]
xor eax, dword [0x18051ad6c]
xor eax, 0xedcf787d
or eax, 0xb30a1ef7
sub eax, 0x69a665f7
cmp eax, 0x3c7a135c
jbe 0x1802022bc
mov eax, dword [0x18051ad70]
or eax, dword [0x18051ad74]
mov ecx, 0x64bbc8cf
xor edx, edx
div ecx
mov ebx, eax
xor ebx, 0x631bf91d
or ebx, 0x93adb09d
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp ebx, 0x72ab4691
je 0x1802022bc
jmp 0x18020217d
jmp 0x18020217f
mov rax, rsi
add rax, 0x68
mov ecx, dword [0x18051ad78]
and ecx, dword [0x18051ad7c]
xor ecx, 0xf5260844
xor ecx, 0x6f370a50
add ecx, 0xae39b8b1
cmp ecx, 0x79a7988e
ja 0x1802022d2
jmp 0x1802021b2
mov edx, dword [0x18051ad80]
and edx, dword [0x18051ad84]
or edx, 0x9a91208f
xor edx, 0x98f6036b
add edx, 0x415f91a8
mov ecx, dword [rax]
cmp edx, 0x796e6048
ja 0x1802021b2
jmp 0x1802021dc
mov eax, ecx
sub eax, 4
jb 0x1802021fe
jmp 0x1802021e5
sub ecx, 6
je 0x1802021fe
jmp 0x1802021ec
mov rax, rsi
add rax, 0x70
mov rcx, qword [rax]
call qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x1802021fe
mov rax, rsi
add rax, 0x78
mov eax, dword [rax]
mov ecx, eax
sub ecx, 4
jb 0x180202229
jmp 0x180202210
sub eax, 6
je 0x180202229
jmp 0x180202217
mov rax, rsi
add rax, 0x80
mov rcx, qword [rax]
call qword [sym.imp.kernel32.dll_CloseHandle]
add rsi, 0xa8
mov rcx, rsi
call fcn.18026b2b0
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
push rax
cmp byte [r9], spl
xchg edi, eax
mov ch, dh
jmp 0x180201e17
sti
invalid
int 0xb8
int3
mov ah, 0x2f
jo 0x1802022bb
invalid
and bl, ah
hlt
mov fs, word [rbx]
xlatb
scasd eax, dword [rdi]
sti
xchg ebp, eax
invalid
pop rbx
std
jmp 0x180202250
invalid
jge 0x1802022ad
lodsb al, byte [rsi]
hlt
int1
invalid