Function at 0x18009f330
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x180127040]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor edi, edi
mov eax, dword [0x180128da4]
cmp eax, 0xb
jge 0x18009f634
movups xmm0, xmmword [0x18010a808]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x18010a818]
movups xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [0x18010a828]
movups xmmword [rbp - 9], xmm0
movzx eax, word [0x18010a838]
mov word [rbp + 7], ax
movzx eax, byte [0x18010a83a]
mov byte [rbp + 9], al
mov r8d, edi
cmp dword [0x180127018], 2
jl 0x18009f4fd
movdqa xmm5, xmmword [0x180110e60]
movdqa xmm4, xmmword [0x180111070]
movdqa xmm6, xmmword [0x180110e90]
movdqa xmm0, xmmword [0x180110f70]
movdqa xmmword [rbp - 0x39], xmm0
lea rcx, [rbp - 0x25]
mov edx, dword [rbp - 0x39]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180110f50]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180110f50]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x30
jl 0x18009f3f0
cmp r8d, 0x33
jge 0x18009f543
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x33
jl 0x18009f510
mov r14d, edi
mov rcx, qword [0x180128be8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
mov rcx, qword [0x180128be8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movsxd rcx, dword [rax + 0x3c]
mov ebx, dword [rcx + rbx + 0x50]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x59]
call fcn.180021880
mov rcx, qword [0x180128be8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rsi, rax
mov r10, qword [rbp - 0x51]
mov r11, qword [rbp - 0x59]
sub r10, r11
sar r10, 2
mov r9d, edi
sub rbx, r10
je 0x18009f5eb
nop
mov edx, edi
test r10, r10
je 0x18009f5d0
mov rax, rdi
nop word [rax + rax]
mov r8d, dword [r11 + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rsi]
cmp eax, r8d
je 0x18009f5c7
cmp r8d, 0xffffffff
jne 0x18009f5d8
inc edx
mov eax, edx
cmp rax, r10
jb 0x18009f5b0
test r14d, r14d
jle 0x18009f5e5
dec r14d
inc r9d
mov eax, r9d
cmp rax, rbx
jb 0x18009f5a0
jmp 0x18009f5eb
mov edi, r9d
add rdi, rsi
test r11, r11
je 0x18009faf8
mov rdx, qword [rbp - 0x49]
sub rdx, r11
and rdx, 0xfffffffffffffffc
mov rax, r11
cmp rdx, 0x1000
jb 0x18009f627
add rdx, 0x27
mov r11, qword [r11 - 8]
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18009f627
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r11
call fcn.1800d3c10
jmp 0x18009faf8
lea rcx, [rbp - 0x29]
cmp eax, 0x17
jge 0x18009f7cf
lea rdx, [0x180129ee8]
call fcn.18003b2b0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.1800a2c40
mov r14, rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
mov edx, 1
lea rcx, [rbp - 0x59]
call fcn.180035ef0
mov rcx, qword [rbp - 0x59]
mov byte [rcx], 0xe8
lea rbx, [rcx + 1]
mov qword [rbp - 0x51], rbx
mov rsi, qword [r14]
test rsi, rsi
jne 0x18009f6d8
mov rbx, rdi
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x18009faf5
mov rdx, qword [rbp - 0x49]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009faf0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f7c8
jmp 0x18009faf0
mov r8, 0xffffffffffffffff
mov r9, rsi
mov r11, qword [rbp - 0x59]
sub r9, r11
dec r9
cmp r8d, 0xfffff800
jle 0x18009f78c
mov edx, edi
mov r10, rbx
sub r10, r11
je 0x18009f720
mov rcx, r11
movzx eax, byte [rcx]
cmp al, 0xff
je 0x18009f713
cmp byte [r9 + rcx], al
jne 0x18009f784
inc edx
inc rcx
movsxd rax, edx
cmp rax, r10
jb 0x18009f706
movsxd rbx, r8d
add rbx, rsi
mov qword [r14], rbx
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x18009f76b
mov rdx, qword [rbp - 0x49]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009f75a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f7c8
call fcn.1800d3c10
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
test rbx, rbx
je 0x18009faf5
movsxd rdi, dword [rbx + 1]
add rdi, 5
add rdi, rbx
jmp 0x18009faf8
dec r8d
jmp 0x18009f6e9
mov rbx, rdi
test r11, r11
je 0x18009faf5
mov rdx, qword [rbp - 0x49]
sub rdx, r11
mov rax, r11
cmp rdx, 0x1000
jb 0x18009faed
add rdx, 0x27
mov r11, qword [r11 - 8]
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18009faed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp eax, 0x1b
jge 0x18009f969
lea rdx, [0x180129f08]
call fcn.18003b2b0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.1800a2c40
mov r14, rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
mov edx, 1
lea rcx, [rbp - 0x59]
call fcn.180035ef0
mov rcx, qword [rbp - 0x59]
mov byte [rcx], 0xe8
lea rbx, [rcx + 1]
mov qword [rbp - 0x51], rbx
mov rsi, qword [r14]
test rsi, rsi
jne 0x18009f86f
mov rbx, rdi
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x18009faf5
mov rdx, qword [rbp - 0x49]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009faf0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f962
jmp 0x18009faf0
mov r8, 0xffffffffffffffff
mov r9, rsi
mov r11, qword [rbp - 0x59]
sub r9, r11
dec r9
cmp r8d, 0xfffff800
jle 0x18009f926
mov edx, edi
mov r10, rbx
sub r10, r11
je 0x18009f8ba
mov rcx, r11
nop dword [rax]
movzx eax, byte [rcx]
cmp al, 0xff
je 0x18009f8ad
cmp byte [r9 + rcx], al
jne 0x18009f91e
inc edx
inc rcx
movsxd rax, edx
cmp rax, r10
jb 0x18009f8a0
movsxd rbx, r8d
add rbx, rsi
mov qword [r14], rbx
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x18009f905
mov rdx, qword [rbp - 0x49]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009f8f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009f962
call fcn.1800d3c10
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
test rbx, rbx
je 0x18009faf5
movsxd rdi, dword [rbx + 1]
add rdi, 5
add rdi, rbx
jmp 0x18009faf8
dec r8d
jmp 0x18009f880
mov rbx, rdi
test r11, r11
je 0x18009faf5
mov rdx, qword [rbp - 0x49]
sub rdx, r11
mov rax, r11
cmp rdx, 0x1000
jb 0x18009faed
add rdx, 0x27
mov r11, qword [r11 - 8]
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18009faed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rdx, [0x180129f28]
call fcn.18003b2b0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.1800a2c40
mov r15, rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
mov edx, 1
lea rcx, [rbp - 0x59]
call fcn.180035ef0
mov rcx, qword [rbp - 0x59]
mov byte [rcx], 0xe8
lea r14, [rcx + 1]
mov qword [rbp - 0x51], r14
mov rsi, qword [r15]
test rsi, rsi
jne 0x18009fa00
mov rbx, rdi
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x18009faf5
mov rdx, qword [rbp - 0x49]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009faf0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009fae6
jmp 0x18009faf0
mov r8, 0xffffffffffffffff
mov rbx, r8
mov r11, qword [rbp - 0x59]
nop
cmp r8d, 0xfffff800
jle 0x18009fab6
mov edx, edi
mov r9, r14
sub r9, r11
je 0x18009fa4e
mov rax, r11
mov r10, rbx
sub r10, r11
add r10, rsi
movzx ecx, byte [rax]
cmp cl, 0xff
je 0x18009fa41
cmp byte [r10 + rax], cl
jne 0x18009faab
inc edx
inc rax
movsxd rcx, edx
cmp rcx, r9
jb 0x18009fa33
movsxd rbx, r8d
add rbx, rsi
mov qword [r15], rbx
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x18009fa99
mov rdx, qword [rbp - 0x49]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fa88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009fae6
call fcn.1800d3c10
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
test rbx, rbx
je 0x18009faf5
movsxd rdi, dword [rbx + 1]
add rdi, 5
add rdi, rbx
jmp 0x18009faf8
dec r8d
dec rbx
jmp 0x18009fa10
mov rbx, rdi
test r11, r11
je 0x18009faf5
mov rdx, qword [rbp - 0x49]
sub rdx, r11
mov rax, r11
cmp rdx, 0x1000
jb 0x18009faed
add rdx, 0x27
mov r11, qword [r11 - 8]
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18009faed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r11
call fcn.1800d3c10
mov rdi, rbx
mov qword [0x180129750], rdi
test rdi, rdi
setne al
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1800d3880
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret