Function at 0x18000a900
Capabilities:
Encode data using xor

Disassembly:
push rsi
push r12
push r14
sub rsp, 0x60
cmp byte [rcx + 0xf1], 0
mov r12, rdx
movsxd r14, r8d
mov rsi, rcx
jne 0x18000ac12
cmp byte [rcx + 0xf0], 0
xorps xmm0, xmm0
mov qword [rsp + 0x58], rbp
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], 0
je 0x18000a970
mov rdx, r14
lea rcx, [rsp + 0x28]
call fcn.1803566a0
mov r9, qword [rsp + 0x28]
lea rcx, [rsi + 8]
mov r8d, r14d
mov rdx, r12
call fcn.180002750
mov rcx, qword [rsp + 0x28]
mov r12, rcx
jmp 0x18000a975
mov rcx, qword [rsp + 0x28]
xor r15d, r15d
xor ebp, ebp
test r14d, r14d
jle 0x18000abd5
mov ecx, dword [0x18039b468]
mov rax, qword gs:[0x58]
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x48], r13
mov ebx, 4
lea r13, [rax + rcx*8]
mov qword [rsp + 0x50], rdi
nop dword [rax]
xor eax, eax
cmp qword [rsi + 0xf8], rax
jne 0x18000aba9
mov r8d, r14d
movsxd rdx, ebp
sub r8d, ebp
add rdx, r12
mov rcx, rsi
call fcn.18000a3a0
test eax, eax
jns 0x18000aba9
mov dword [rsp + 0x98], 0xb1
mov dword [rsp + 0x80], 0x337
mov ecx, dword [rsp + 0x80]
mov eax, dword [rsp + 0x98]
add ecx, eax
mov dword [rsp + 0x80], ecx
mov eax, dword [rsp + 0x80]
cmp r15d, eax
jae 0x18000abb6
cmp qword [rsi + 0xf8], 0
jne 0x18000abb6
call fcn.180009d80
cmp eax, 0x2733
je 0x18000aa42
call fcn.180009d80
cmp eax, 0x2747
jne 0x18000abb6
cmp qword [0x18039c6e8], 0
jne 0x18000ab6a
xor eax, eax
mov dword [rsp + 0x20], 0x101820cf
mov byte [rsp + 0x26], al
mov word [rsp + 0x24], 0x713
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
nop word [rax + rax]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x80]
add cl, 0x73
xor cl, byte [rsp + rax + 0x21]
mov rax, qword [rsp + 0x80]
mov byte [rsp + rax + 0x21], cl
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
cmp rax, 5
jb 0x18000aa80
mov byte [rsp + 0x26], 0
call fcn.1800015d0
add rbx, qword [r13]
mov rdi, rax
mov ecx, dword [rbx]
cmp dword [0x18039d510], ecx
jle 0x18000ab0e
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18000ab0e
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x18000ab47
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18000ab47
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x21]
call qword [0x1803a1560]
mov qword [0x18039c6e8], rax
mov ebx, 4
mov dword [rsp + 0x80], 4
mov dword [rsp + 0x98], 6
mov ecx, dword [rsp + 0x80]
mov eax, dword [rsp + 0x98]
add ecx, eax
mov dword [rsp + 0x80], ecx
mov ecx, dword [rsp + 0x80]
call qword [0x18039c6e8]
inc r15d
jmp 0x18000abab
add ebp, eax
cmp ebp, r14d
jl 0x18000a9b0
jmp 0x18000abbe
mov rcx, rsi
call fcn.18000b220
mov rcx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
test rcx, rcx
je 0x18000ac12
mov rdx, qword [rsp + 0x38]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000ac0d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000ac1c
call fcn.180360d9c
add rsp, 0x60
pop r14
pop r12
pop rsi
ret
call fcn.1803687c0
int3