Function at 0x14001bca0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push rdi
push r14
sub rsp, 0x90
or rbp, 0xffffffffffffffff
mov rdi, rcx
mov rcx, qword [rcx + 0x90]
mov rax, rbp
mov r14, rdx
inc rax
cmp byte [rcx + rax], 0
jne 0x14001bcc0
test rax, rax
je 0x14001c0b4
cmp word [rdi + 0x128], 0
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], r15
movaps xmmword [rsp + 0x80], xmm6
movss xmm6, dword [rdi + 0xc]
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm8
movaps xmmword [rsp + 0x50], xmm9
movaps xmmword [rsp + 0x40], xmm11
je 0x14001bd28
mulss xmm6, dword [0x140051c5c]
addss xmm6, dword [0x140051c50]
mov rax, qword [rdi + 0xe0]
mov byte [rsp + 0xb1], 0
movzx ecx, byte [rax]
mov byte [rsp + 0xb0], cl
mov ecx, 0x2a
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rdx, [rsp + 0xb0]
mov rcx, rdi
mov ebx, eax
call fcn.140002970
movss xmm0, dword [rdi + 0x14]
movzx ecx, ax
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
divss xmm2, dword [0x140051d44]
xorps xmm2, xmmword [0x140051d70]
subss xmm2, xmm0
test ebx, ebx
je 0x14001bd8c
subss xmm2, dword [0x140051c4c]
mov rax, qword [rdi + 0xe0]
xor r15d, r15d
subss xmm6, dword [0x140051c54]
movss xmm11, dword [0x140051c74]
mov rdx, r14
mov word [rsp + 0x30], r15w
mov rcx, rdi
movzx eax, byte [rax]
movss dword [rsp + 0x28], xmm11
movaps xmm3, xmm6
mov byte [rsp + 0x20], al
call fcn.140002680
mov rcx, qword [rdi + 0xd0]
mov ebx, 2
mov esi, ebx
xorps xmm9, xmm9
xorps xmm6, xmm6
nop
cmp byte [rsi + rcx], 0x53
lea rax, [rsi + rcx]
jne 0x14001bdff
movsx ecx, byte [rax + 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
mov rcx, qword [rdi + 0xd0]
test eax, eax
je 0x14001be20
movsx eax, byte [rsi + rcx + 1]
add ebx, 2
sub eax, 0x30
add rsi, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rdi + 0x14]
addss xmm6, xmm0
jmp 0x14001bde0
movss xmm0, dword [rdi + 0x14]
add ebx, 2
movss xmm8, dword [rdi + 0xc]
addss xmm0, xmm0
subss xmm8, dword [0x140051c54]
movaps xmm7, xmm9
movsxd rsi, ebx
subss xmm0, dword [0x140051c44]
addss xmm6, xmm0
nop
cmp byte [rsi + rcx], 0x4c
lea rax, [rsi + rcx]
jne 0x14001be6f
movsx ecx, byte [rax + 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
je 0x14001be90
mov rcx, qword [rdi + 0xd0]
movsx eax, byte [rsi + rcx + 1]
add ebx, 2
sub eax, 0x30
add rsi, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rdi + 0x14]
addss xmm7, xmm0
jmp 0x14001be50
divss xmm7, dword [0x140051d24]
mov rsi, r15
nop dword [rax + rax]
mov rax, qword [rdi + 0xe0]
movaps xmm3, xmm8
mov word [rsp + 0x30], r15w
movaps xmm2, xmm6
movss dword [rsp + 0x28], xmm11
mov rdx, r14
mov rcx, rdi
movzx eax, byte [rax + rsi + 1]
mov byte [rsp + 0x20], al
call fcn.140002680
inc rsi
addss xmm6, xmm7
cmp rsi, 6
jl 0x14001bea0
subss xmm6, dword [rdi + 0x14]
mov rcx, qword [rdi + 0xd0]
add ebx, 2
movsxd rsi, ebx
nop
cmp byte [rsi + rcx], 0x53
lea rax, [rsi + rcx]
jne 0x14001bf0f
movsx ecx, byte [rax + 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
mov rcx, qword [rdi + 0xd0]
test eax, eax
je 0x14001bf30
movsx eax, byte [rsi + rcx + 1]
add ebx, 2
sub eax, 0x30
add rsi, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rdi + 0x14]
addss xmm6, xmm0
jmp 0x14001bef0
lea eax, [rbx + 2]
movaps xmm7, xmm9
movsxd rbx, eax
nop word [rax + rax]
cmp byte [rbx + rcx], 0x4c
jne 0x14001bf55
movsx ecx, byte [rbx + rcx + 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
je 0x14001bf7a
mov rcx, qword [rdi + 0xd0]
movsx eax, byte [rcx + rbx + 1]
sub eax, 0x30
add rbx, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rdi + 0x14]
addss xmm7, xmm0
jmp 0x14001bf40
divss xmm7, dword [0x140051d24]
mov rbx, r15
mov rax, qword [rdi + 0xe0]
movaps xmm3, xmm8
mov word [rsp + 0x30], r15w
movaps xmm2, xmm6
movss dword [rsp + 0x28], xmm11
mov rdx, r14
mov rcx, rdi
movzx eax, byte [rax + rbx + 7]
mov byte [rsp + 0x20], al
call fcn.140002680
inc rbx
addss xmm6, xmm7
cmp rbx, 6
jl 0x14001bf85
mov rax, qword [rdi + 0x98]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
nop dword [rax + rax]
inc rbp
cmp byte [rax + rbp], r15b
jne 0x14001bfe0
test rbp, rbp
jne 0x14001c090
cmp word [rdi + 0x12e], r15w
je 0x14001c090
mov rcx, qword [rdi + 0xd0]
mov esi, r15d
cmp byte [rcx], sil
je 0x14001c05c
mov rbx, r15
movsx ecx, byte [rbx + rcx + 1]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
mov rcx, qword [rdi + 0xd0]
test eax, eax
je 0x14001c04c
movsx eax, byte [rbx + rcx + 1]
sub eax, 0x30
add rbx, 2
movd xmm0, eax
mov eax, 2
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rdi + 0x14]
addss xmm9, xmm0
jmp 0x14001c054
inc rbx
mov eax, 1
add esi, eax
cmp byte [rcx + rbx], r15b
jne 0x14001c012
movss xmm3, dword [rdi + 0xc]
mov rdx, r14
addss xmm9, dword [rdi + 0x14]
subss xmm3, dword [0x140051c54]
mov word [rsp + 0x30], r15w
mov rcx, rdi
movss dword [rsp + 0x28], xmm11
mov byte [rsp + 0x20], 0x3e
movaps xmm2, xmm9
call fcn.140002680
movaps xmm9, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb8]
movaps xmm11, xmmword [rsp + 0x40]
add rsp, 0x90
pop r14
pop rdi
pop rbp
ret