Function at 0x14007d0c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x530
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov qword [r11 + 8], rbp
mov ebp, r8d
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x10], r12
mov r12, qword [rsp + 0x560]
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
movaps xmm9, xmm0
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x88], xmm11
movaps xmmword [r11 - 0x98], xmm12
movaps xmmword [r11 - 0xa8], xmm13
movaps xmmword [r11 - 0xb8], xmm14
movaps xmmword [r11 - 0xc8], xmm15
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x34], edx
mov qword [rsp + 0x38], 0
test r8d, r8d
js 0x14007d19b
mov ebx, 0x400
cmp r8d, ebx
jb 0x14007d19b
lea eax, [r8 + 0x20]
mov r9d, 0x14e8
movsxd rcx, eax
lea r8, str.D:DocumentsdevelopmentDxLibMakeDxChar.cpp
call fcn.140075550
test rax, rax
mov qword [rsp + 0x38], rax
lea r14, [rsp + 0x40]
cmovne ebx, ebp
cmovne r14, rax
mov ebp, ebx
jmp 0x14007d1a0
lea r14, [rsp + 0x40]
test ebp, ebp
mov eax, 6
xorps xmm14, xmm14
cmovs ebp, eax
comisd xmm14, xmm9
jbe 0x14007d1bd
xorps xmm9, xmmword [0x14013c2c0]
movsd xmm10, qword [0x14013bea0]
xor r13d, r13d
movsd xmm8, qword [0x14013be80]
movsd xmm11, qword [0x14013bec8]
movsd xmm13, qword [0x14013be60]
movsd xmm12, qword [0x14013bf08]
lea r15d, [r13 + 1]
movsd xmm15, qword [0x14013bef8]
nop word [rax + rax]
ucomisd xmm9, xmm14
mov word [r12], 0x7830
movaps xmm0, xmm9
movaps xmm6, xmm10
jp 0x14007d21c
jne 0x14007d21c
xor ebx, ebx
jmp 0x14007d262
xor ebx, ebx
comisd xmm10, xmm9
jbe 0x14007d244
nop word [rax + rax]
addsd xmm0, xmm0
mulsd xmm6, xmm8
dec ebx
comisd xmm10, xmm0
ja 0x14007d230
jmp 0x14007d262
comisd xmm9, xmm11
jb 0x14007d262
nop dword [rax + rax]
mulsd xmm0, xmm8
addsd xmm6, xmm6
inc ebx
comisd xmm0, xmm11
jae 0x14007d250
cvttsd2si eax, xmm0
movaps xmm1, xmm10
add al, 0x30
mov byte [r12 + 2], al
call fcn.1401213f0
movaps xmm7, xmm0
test ebp, ebp
je 0x14007d2b5
mov rdi, r14
mov esi, ebp
mulsd xmm7, xmm12
movaps xmm1, xmm12
mulsd xmm6, xmm13
movaps xmm0, xmm7
call fcn.1401213f0
cvttsd2si eax, xmm0
mov byte [rdi], al
inc rdi
movzx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm7, xmm0
sub rsi, r15
jne 0x14007d282
test r13d, r13d
jne 0x14007d2df
mulsd xmm7, xmm12
movaps xmm1, xmm12
movaps xmm0, xmm7
call fcn.1401213f0
comisd xmm0, xmm15
jbe 0x14007d2df
addsd xmm9, xmm6
mov r13d, r15d
jmp 0x14007d200
movaps xmm15, xmmword [rsp + 0x470]
movaps xmm14, xmmword [rsp + 0x480]
movaps xmm13, xmmword [rsp + 0x490]
movaps xmm12, xmmword [rsp + 0x4a0]
movaps xmm11, xmmword [rsp + 0x4b0]
movaps xmm10, xmmword [rsp + 0x4c0]
movaps xmm9, xmmword [rsp + 0x4d0]
movaps xmm8, xmmword [rsp + 0x4e0]
movaps xmm7, xmmword [rsp + 0x4f0]
movaps xmm6, xmmword [rsp + 0x500]
mov r13, qword [rsp + 0x520]
mov rsi, qword [rsp + 0x548]
test ebp, ebp
jne 0x14007d351
cmp dword [rsp + 0x34], ebp
je 0x14007d35f
mov byte [r12 + 3], 0x2e
mov r10d, 4
jmp 0x14007d365
mov r10d, 3
mov r9d, ebp
test ebp, ebp
je 0x14007d3ad
movsxd r11, dword [rsp + 0x30]
lea rdi, str.0123456789abcdef0123456789ABCDEF
mov edx, r10d
mov r8, r11
shl r8, 4
xor ecx, ecx
add rdx, r12
add r10d, ebp
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
lea rdx, [rdx + 1]
add rax, r8
inc rcx
movzx eax, byte [rax + rdi]
mov byte [rdx - 1], al
cmp rcx, r9
jl 0x14007d390
jmp 0x14007d3b2
mov r11d, dword [rsp + 0x30]
test r11d, r11d
movsxd rcx, r10d
mov edx, 0x50
mov r8d, ebx
mov eax, 0x70
cmovne eax, edx
neg r8d
test ebx, ebx
mov byte [rcx + r12], al
mov eax, 0x2d
mov edx, 0x2b
cmovns r8d, ebx
cmovns eax, edx
mov byte [rcx + r12 + 1], al
lea ebx, [r10 + 2]
mov rdi, qword [rsp + 0x558]
mov rbp, qword [rsp + 0x540]
test r8d, r8d
jne 0x14007d405
mov byte [r14], r8b
jmp 0x14007d442
xor r15d, r15d
mov r9, r14
nop dword [rax + rax]
mov eax, 0x66666667
lea r9, [r9 + 1]
imul r8d
inc r15d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
mov byte [r9 - 1], r8b
mov r8d, edx
test edx, edx
jne 0x14007d410
lea eax, [r15 - 1]
mov r15, qword [rsp + 0x510]
movsxd rdx, eax
test eax, eax
js 0x14007d476
movsxd r8, ebx
inc ebx
add r8, r12
add ebx, edx
nop
movzx ecx, byte [r14 + rdx]
lea r8, [r8 + 1]
add cl, 0x30
sub rdx, 1
mov byte [r8 - 1], cl
jns 0x14007d460
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x518]
mov r12, qword [rsp + 0x528]
test rax, rax
je 0x14007d498
mov rcx, rax
call fcn.140075a50
mov eax, ebx
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.140107200
add rsp, 0x530
pop rbx
ret