Function at 0x14008f490
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 8], rax
mov eax, dword [rcx + 0x650]
xor r12d, r12d
mov qword [rsp + 0x50], rcx
mov rsi, rcx
mov dword [rbp - 0x10], r12d
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], r12
test eax, eax
jne 0x14008ff4b
mov eax, dword [rcx + 0x5f0]
cmp dword [rcx + 0x5c0], eax
jge 0x14008fa0b
mov r13d, 0xffffffff
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x14008f515
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + pe_nt_image_headers64]
mov qword [rbp - 0x28], r12
mov rcx, qword [rsi + 0x588]
lea rdx, [rbp - 0x28]
mov qword [rsp + 0x30], rdx
xor r9d, r9d
lea rdx, [rbp]
xor r8d, r8d
mov qword [rsp + 0x28], rdx
lea rdx, [rbp - 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], rdx
mov edx, 0xfffffffc
call qword [rax + 0x48]
test eax, eax
jne 0x14008f9d8
mov eax, dword [rbp - 0x10]
test al, 0x20
jne 0x14008f4ff
test al, 2
jne 0x14008f9d8
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x14008f9dc
mov rax, qword [rsi + 0x680]
cmp rax, r12
jge 0x14008f57c
add rax, 3
mov ecx, dword [rsi + 0x5ac]
xor edx, edx
mov r15, qword [rbp]
sar rax, 2
lea r9, [rax + r15]
mov eax, dword [rsi + 0x5a8]
shl rax, 0xc
div rcx
mov r8d, r9d
mov rdx, r9
mov ecx, eax
mov r11, rax
mov r10d, r9d
imul r10, rcx
sar rax, 0x20
shr rdx, 0x20
imul rdx, rcx
mov qword [rsp + 0x58], r9
sar r9, 0x20
shr r11, 0x20
imul r11, r8
mov ecx, eax
mov r8, r12
mov eax, r9d
imul rcx, rax
mov r14d, edx
mov r9, rcx
mov edi, ecx
shr r9, 0x20
cmp rcx, r13
cmovbe rdi, rcx
cmovbe r9, r12
mov rcx, rdx
shr rcx, 0x20
cmp rdx, r13
cmovbe rcx, r12
cmovbe r14, rdx
cmp r11, r13
jbe 0x14008f613
mov rax, r11
mov r11d, r11d
shr rax, 0x20
add rcx, rax
cmp r10, r13
jbe 0x14008f622
mov r8, r10
mov r10d, r10d
shr r8, 0x20
lea rax, [r14 + r11]
add rcx, rdi
add r8, rax
cmp r10, r13
jbe 0x14008f63e
mov rax, r10
mov r10d, r10d
shr rax, 0x20
add r8, rax
cmp r8, r13
jbe 0x14008f650
mov rax, r8
mov r8d, r8d
shr rax, 0x20
add rcx, rax
cmp rcx, r13
jbe 0x14008f661
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
add r9, rax
mov dword [rbp - 0x74], r8d
lea rdx, [rbp - 0x68]
mov dword [rbp - 0x70], ecx
lea r8, [rsp + 0x58]
movabs rax, 0x989680000
mov dword [rbp - 0x78], r10d
lea rcx, [rbp - 0x78]
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x6c], r9d
call fcn.140075290
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x5b8], r15
mov dword [rsi + 0x5c0], eax
cmp eax, dword [rsi + 0x5f0]
jl 0x14008f503
mov rax, qword [rbx]
lea r8, [rbp - 0x20]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x140]
test eax, eax
jne 0x14008f9d8
mov rcx, qword [rbp - 0x20]
lea r9, [rbp - 0xc]
lea r8, [rbp - 8]
lea rdx, [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x14008f9d8
mov r14d, dword [rsi + 0x5a0]
mov r10d, r14d
mov edi, dword [rsi + 0x5a4]
mov r9d, edi
mov r11d, dword [rbp - 0xc]
shr r10d, 1
shr r9d, 1
lea r8d, [r14 + 0xf]
and r8d, 0xfffffff0
lea ecx, [rdi + 0x1f]
and ecx, 0xffffffe0
imul ecx, r8d
lea ebx, [r10 + 7]
and ebx, 0xfffffff8
lea edx, [r9 + 0xf]
and edx, 0xfffffff0
imul edx, ebx
lea eax, [rcx + rdx*2]
cmp r11d, eax
jae 0x14008f7db
lea ecx, [rdi + 0xf]
and ecx, 0xfffffff0
lea edx, [r9 + 7]
and edx, 0xfffffff8
imul ecx, r8d
imul edx, ebx
lea eax, [rcx + rdx*2]
cmp r11d, eax
jae 0x14008f7db
lea r8d, [r14 + 7]
and r8d, 0xfffffff8
lea ebx, [r10 + 3]
and ebx, 0xfffffffc
lea ecx, [rdi + 7]
and ecx, 0xfffffff8
lea edx, [r9 + 3]
and edx, 0xfffffffc
imul ecx, r8d
imul edx, ebx
lea eax, [rcx + rdx*2]
cmp r11d, eax
jae 0x14008f7db
lea r8d, [r14 + 3]
and r8d, 0xfffffffc
lea ebx, [r10 + 1]
and ebx, 0xfffffffe
lea ecx, [rdi + 3]
and ecx, 0xfffffffc
lea edx, [r9 + 1]
and edx, 0xfffffffe
imul ecx, r8d
imul edx, ebx
lea eax, [rcx + rdx*2]
cmp r11d, eax
jae 0x14008f7db
lea r8d, [r14 + 1]
mov ebx, r10d
and r8d, 0xfffffffe
lea ecx, [rdi + 1]
and ecx, 0xfffffffe
mov edx, r9d
imul ecx, r8d
imul edx, r10d
lea eax, [rcx + rdx*2]
cmp r11d, eax
jae 0x14008f7db
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x20]
jmp 0x14008f9d8
mov r9, qword [rbp - 0x18]
mov eax, dword [rsi + 0x640]
mov r10, qword [rsi + 0x628]
mov r11d, ecx
add r11, r9
mov r13d, edx
cmp r8d, eax
jne 0x14008f827
imul edi, eax
mov ecx, edi
test edi, edi
je 0x14008f8a6
nop word [rax + rax]
movzx eax, byte [r9]
lea r9, [r9 + 1]
mov byte [r10], al
lea r10, [r10 + 1]
sub rcx, 1
jne 0x14008f810
jmp 0x14008f8a6
mov r15d, dword [rsi + 0x638]
mov edi, r12d
mov r14d, r15d
shr r14d, 2
lea eax, [r14*4]
sub r15d, eax
cmp dword [rsi + 0x63c], r12d
jbe 0x14008f8a6
mov r12d, r8d
nop
mov rcx, r10
mov rdx, r9
test r14d, r14d
je 0x14008f872
mov r8d, r14d
nop
mov eax, dword [rdx]
add rdx, 4
mov dword [rcx], eax
add rcx, 4
sub r8, 1
jne 0x14008f860
test r15d, r15d
je 0x14008f890
sub rdx, rcx
mov r8d, r15d
nop dword [rax]
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x14008f880
mov eax, dword [rsi + 0x640]
inc edi
add r10, rax
add r9, r12
cmp edi, dword [rsi + 0x63c]
jb 0x14008f850
mov r15d, dword [rsi + 0x644]
xor edi, edi
mov r14, qword [rsi + 0x630]
mov r12d, r15d
shr r12d, 3
and r15d, 7
cmp dword [rsi + 0x648], edi
jbe 0x14008f9c7
nop dword [rax]
lea rdx, [r11 + r13]
mov rcx, r14
mov r8, r11
test r12d, r12d
je 0x14008f982
mov r9, r11
mov r10d, r12d
sub r9, rdx
nop dword [rax]
movzx eax, byte [r8]
add r8, 8
mov byte [rcx], al
movzx eax, byte [rdx]
mov byte [rcx + 1], al
movzx eax, byte [r9 + rdx + 1]
mov byte [rcx + 2], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 3], al
movzx eax, byte [r9 + rdx + 2]
mov byte [rcx + 4], al
movzx eax, byte [rdx + 2]
mov byte [rcx + 5], al
movzx eax, byte [r9 + rdx + 3]
mov byte [rcx + 6], al
movzx eax, byte [rdx + 3]
mov byte [rcx + 7], al
movzx eax, byte [r9 + rdx + 4]
mov byte [rcx + 8], al
movzx eax, byte [rdx + 4]
mov byte [rcx + 9], al
movzx eax, byte [r9 + rdx + 5]
mov byte [rcx + 0xa], al
movzx eax, byte [rdx + 5]
mov byte [rcx + 0xb], al
movzx eax, byte [r9 + rdx + 6]
mov byte [rcx + 0xc], al
movzx eax, byte [rdx + 6]
mov byte [rcx + 0xd], al
movzx eax, byte [r9 + rdx + 7]
mov byte [rcx + 0xe], al
movzx eax, byte [rdx + 7]
add rdx, 8
mov byte [rcx + 0xf], al
add rcx, 0x10
sub r10, 1
jne 0x14008f8f0
test r15d, r15d
je 0x14008f9ad
sub rdx, r8
mov r9d, r15d
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
lea rcx, [rcx + 2]
movzx eax, byte [rdx + r8 - 1]
mov byte [rcx - 1], al
sub r9, 1
jne 0x14008f990
mov eax, dword [rsi + 0x64c]
inc edi
add r14, rax
add r11, rbx
cmp edi, dword [rsi + 0x648]
jb 0x14008f8d0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
je 0x14008fa0b
xor r12d, r12d
mov rbx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14008f9f3
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rbx, qword [rbp - 0x28]
mov qword [rbp - 0x20], r12
test rbx, rbx
je 0x14008fa01
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + pe_nt_image_headers64]
mov eax, 0xffffffff
jmp 0x14008ff4d
mov eax, dword [rsi + 0x650]
test eax, eax
jne 0x14008ff25
mov r8d, dword [rsi + 0x644]
mov rcx, qword [rsi + 0x630]
add r8d, r8d
mov r12d, dword [rsi + 0x638]
mov r14, qword [rsi + 0x520]
mov r15, qword [rsi + 0x628]
mov qword [rsp + 0x48], rcx
cmp r12d, r8d
jne 0x14008fd5c
mov eax, dword [rsi + 0x648]
mov r9d, dword [rsi + 0x63c]
add eax, eax
cmp r9d, eax
jne 0x14008fd5c
mov r10d, dword [rsi + 0x64c]
lea eax, [r12 + r12]
movsxd r11, dword [rsi + 0x518]
sub r10d, r8d
mov edx, dword [rsi + 0x640]
mov r8d, r11d
add edx, edx
sub r8d, eax
sub edx, r12d
add r8d, r8d
shr r12d, 1
shr r9d, 1
mov dword [rsp + 0x40], r12d
je 0x14008ff1b
movsxd rax, r8d
mov r13, r11
mov qword [rsp + 0x68], rax
movsxd rax, edx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov r8, qword [rsp + 0x70]
movsxd rax, r10d
mov qword [rsp + 0x78], rax
mov eax, r9d
mov r9, qword [rsp + 0x78]
mov qword [rbp - 0x80], rax
test r12d, r12d
je 0x14008fd3b
lea rax, [r13 + 1]
add rax, r14
lea rdx, [0x140000000]
mov qword [rbp - 0x60], rax
mov eax, 1
sub rax, r13
mov qword [rbp - 0x58], rax
mov eax, 2
sub rax, r13
mov qword [rbp - 0x50], rax
mov eax, 5
sub rax, r13
mov qword [rbp - 0x48], rax
mov eax, 4
sub rax, r13
mov qword [rbp - 0x40], rax
mov eax, 3
sub rax, r13
mov qword [rbp - 0x38], rax
mov eax, 6
sub rax, r13
mov qword [rbp - 0x30], rax
mov eax, r12d
mov r12, qword [rbp - 0x60]
mov qword [rsp + 0x60], rax
nop
movzx eax, byte [rcx + 1]
lea r10, [0x140000000]
movzx ecx, byte [rcx]
mov ebx, dword [rdx + rax*4 + 0x204b30]
mov edi, dword [rdx + rcx*4 + 0x205730]
mov r11d, dword [rdx + rcx*4 + 0x204f30]
add r11d, dword [rdx + rax*4 + 0x205330]
mov ecx, dword [rsi + 0x640]
lea rsi, [0x140000000]
movzx eax, byte [r15]
mov edx, dword [rdx + rax*4 + 0x205b30]
movzx eax, byte [r15 + 1]
mov r8d, dword [r10 + rax*4 + 0x205b30]
movzx eax, byte [rcx + r15]
mov r9d, dword [r10 + rax*4 + 0x205b30]
lea eax, [rcx + 1]
movzx eax, byte [rax + r15]
lea rcx, [0x140000000]
mov r10d, dword [r10 + rax*4 + 0x205b30]
lea eax, [rdx + rbx]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rcx + 0x206130]
mov rcx, qword [rbp - 0x58]
mov byte [r12 + rcx], al
lea eax, [rdx + r11]
cdqe
mov rcx, r12
sar rax, 0xe
sub rcx, r13
movzx eax, byte [rax + rsi + 0x206130]
mov byte [rcx], al
lea eax, [rdx + rdi]
mov rcx, qword [rbp - 0x48]
lea rdx, [0x140000000]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rdx + 0x206130]
mov byte [r14], al
mov rax, qword [rbp - 0x50]
mov byte [rax + r12], 0xff
lea eax, [r8 + rbx]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rdx + 0x206130]
mov byte [rcx + r12], al
lea eax, [r8 + r11]
mov rcx, qword [rbp - 0x40]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rdx + 0x206130]
mov byte [rcx + r12], al
lea eax, [r8 + rdi]
mov rcx, qword [rbp - 0x38]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rdx + 0x206130]
mov byte [rcx + r12], al
mov rax, qword [rbp - 0x30]
mov byte [rax + r12], 0xff
lea eax, [r9 + rbx]
cdqe
sar rax, 0xe
mov byte [r12 + 2], 0xff
movzx eax, byte [rax + rdx + 0x206130]
mov byte [r12 + 1], al
lea eax, [r9 + r11]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rdx + 0x206130]
mov byte [r12], al
lea eax, [r9 + rdi]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rdx + 0x206130]
mov byte [r12 - 1], al
lea eax, [r10 + rbx]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rdx + 0x206130]
mov byte [r12 + 5], al
mov rcx, qword [rsp + 0x48]
lea eax, [r10 + r11]
mov rsi, qword [rsp + 0x50]
add rcx, 2
cdqe
add r14, 8
sar rax, 0xe
add r15, 2
mov byte [r12 + 6], 0xff
mov qword [rsp + 0x48], rcx
movzx eax, byte [rax + rdx + 0x206130]
mov byte [r12 + 4], al
lea eax, [r10 + rdi]
cdqe
sar rax, 0xe
movzx eax, byte [rax + rdx + 0x206130]
mov byte [r12 + 3], al
add r12, 8
sub qword [rsp + 0x60], 1
jne 0x14008fb40
mov r12d, dword [rsp + 0x40]
mov rax, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
add rcx, r9
add r14, rdx
add r15, r8
mov qword [rsp + 0x48], rcx
sub rax, 1
mov qword [rbp - 0x80], rax
jne 0x14008fad0
jmp 0x14008ff1b
mov ecx, dword [rsi + 0x640]
lea eax, [r12*4]
mov edx, dword [rsi + 0x518]
sub ecx, r12d
sub edx, eax
xor r11d, r11d
cmp dword [rsi + 0x63c], r11d
jbe 0x14008ff1b
movss xmm5, dword [0x14013be58]
mov r13d, 0xff
movaps xmmword [rsp + 0x140], xmm6
movss xmm6, dword [0x14013be70]
movaps xmmword [rsp + 0x130], xmm7
movss xmm7, dword [0x14013be08]
movaps xmmword [rsp + 0x120], xmm8
movss xmm8, dword [0x14013be34]
movsxd rbx, edx
movaps xmmword [rsp + 0x110], xmm9
movss xmm9, dword [0x14013bed0]
mov qword [rsp + 0x50], rbx
movsxd rdi, ecx
xor r9d, r9d
test r12d, r12d
je 0x14008fee3
mov eax, r11d
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
xor ebx, ebx
nop dword [rax + rax]
mov r8d, r10d
mov eax, r9d
imul r8d, dword [rsi + 0x64c]
cdq
sub eax, edx
sar eax, 1
add eax, eax
movsxd rcx, eax
add r8, rcx
add r8, qword [rsi + 0x630]
movzx eax, byte [r8 + 1]
add eax, 0xffffff80
movd xmm3, eax
movzx eax, byte [r15]
sub eax, 0x10
cvtdq2ps xmm3, xmm3
movd xmm4, eax
movzx eax, byte [r8]
movaps xmm0, xmm3
add eax, 0xffffff80
mulss xmm0, xmm6
cvtdq2ps xmm4, xmm4
movd xmm2, eax
mulss xmm4, xmm5
cvtdq2ps xmm2, xmm2
addss xmm0, xmm4
mulss xmm3, xmm8
movaps xmm1, xmm4
cvttss2si edx, xmm0
movaps xmm0, xmm2
mulss xmm2, xmm9
mulss xmm0, xmm7
addss xmm2, xmm4
subss xmm1, xmm0
cvttss2si ecx, xmm2
subss xmm1, xmm3
cvttss2si eax, xmm1
test edx, edx
jns 0x14008fe90
mov edx, ebx
jmp 0x14008fe97
cmp edx, r13d
cmovg edx, r13d
test eax, eax
jns 0x14008fe9f
mov eax, ebx
jmp 0x14008fea6
cmp eax, r13d
cmovg eax, r13d
test ecx, ecx
jns 0x14008feae
mov ecx, ebx
jmp 0x14008feb5
cmp ecx, r13d
cmovg ecx, r13d
mov byte [r14 + 2], dl
inc r9d
mov byte [r14 + 1], al
inc r15
mov byte [r14], cl
mov byte [r14 + 3], r13b
add r14, 4
mov r12d, dword [rsi + 0x638]
cmp r9d, r12d
jb 0x14008fe00
mov rbx, qword [rsp + 0x50]
inc r11d
add r14, rbx
add r15, rdi
cmp r11d, dword [rsi + 0x63c]
jb 0x14008fde2
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
movaps xmm6, xmmword [rsp + 0x140]
mov dword [rsi + 0x650], 1
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14008ff3c
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [rbp - 0x28], 0
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14008ff4b
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
xor eax, eax
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140107200
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret