Function at 0x140327be0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rdi
push r13
push r14
push r15
sub rsp, 0xb8
mov edi, r8d
mov r14, rcx
test rcx, rcx
je 0x14032816f
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x14032816f
test rdx, rdx
je 0x14032816f
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x14032816f
cmp qword [rsp + 0x128], 0
je 0x14032816f
movsxd r13, dword [rsp + 0x110]
test r13d, r13d
jle 0x14032816f
mov r15d, dword [rsp + 0x118]
test r15d, r15d
jle 0x14032816f
movups xmm0, xmmword [rax]
mov qword [rsp + 0xf0], rbx
movups xmmword [rsp + 0x48], xmm0
call sym.ErrorReportClient.exe_SfGetPixelType
mov rcx, r14
mov ebx, eax
call sym.ErrorReportClient.exe_SfGetPixelType
lea ecx, [rbx - 0x1c]
cmp ecx, 1
ja 0x140328168
add eax, 0xffffffe4
cmp eax, 1
ja 0x140328168
mov ecx, dword [rsp + 0x48]
xor eax, eax
mov r8d, dword [rsp + 0xf8]
test ecx, ecx
mov edx, dword [r14 + 4]
cmovs ecx, eax
mov qword [rsp + 0xb0], rbp
mov ebp, dword [rsp + 0x4c]
test ebp, ebp
mov qword [rsp + 0xa8], rsi
mov esi, dword [rsp + 0x54]
cmovs ebp, eax
mov qword [rsp + 0xa0], r12
mov r12d, dword [rsp + 0x50]
cmp r12d, r13d
mov dword [rsp + 0x20], ecx
cmovg r12d, r13d
mov dword [rsp + 0x24], ebp
cmp esi, r15d
mov eax, r12d
cmovg esi, r15d
sub eax, ecx
add eax, r8d
cmp eax, edx
jle 0x140327d06
mov r12d, edx
sub r12d, r8d
add r12d, ecx
mov edx, dword [rsp + 0x100]
mov eax, esi
mov ecx, dword [r14 + 8]
sub eax, ebp
add eax, edx
cmp eax, ecx
jle 0x140327d21
mov esi, ecx
sub esi, edx
add esi, ebp
mov r8, qword [rsp + 0x120]
movsxd rcx, dword [rsp + 0x118]
mov ebx, dword [rsp + 0x130]
movsxd r15, dword [r8 + 4]
mov rax, r15
shl rax, 0x20
cqo
idiv r13
mov r13, rax
mov qword [rsp + 0x78], rax
movsxd rax, dword [r8 + 8]
mov dword [rsp + 0xe0], eax
shl rax, 0x20
cqo
idiv rcx
mov qword [rsp + 0x40], rax
test ebx, ebx
jne 0x140327d89
movzx ebx, word [r8 + 0xe]
imul ebx, r15d
add ebx, 0x1f
shr ebx, 3
and ebx, 0x1ffffffc
mov dword [rsp + 0x130], ebx
mov rdx, qword [rsp + 0x128]
mov rcx, r8
call fcn.14024f440
mov ecx, dword [rsp + 0xe0]
mov qword [rsp + 0x30], rax
test ecx, ecx
jle 0x140327dc2
neg ebx
dec ecx
mov dword [rsp + 0x130], ebx
imul ecx, ebx
movsxd rcx, ecx
sub rax, rcx
mov qword [rsp + 0x30], rax
test edi, edi
jne 0x140327ddc
movzx edi, word [r14 + 0xe]
imul edi, dword [r14 + 4]
add edi, 0x1f
shr edi, 3
and edi, 0x1ffffffc
mov rdx, qword [rsp + 0xe8]
mov rcx, r14
call fcn.14024f440
mov ecx, dword [r14 + 8]
mov r8, rax
test ecx, ecx
jle 0x140327e04
neg edi
dec ecx
imul ecx, edi
movsxd rcx, ecx
sub r8, rcx
movsxd rax, dword [rsp + 0xf8]
mov ecx, edi
imul ecx, dword [rsp + 0x100]
sub esi, dword [rsp + 0x24]
movsxd rbp, ebp
imul rbp, qword [rsp + 0x40]
movsxd rdx, ecx
add rdx, r8
lea r14, [rdx + rax*4]
movsxd rax, dword [rsp + 0x20]
sub r12d, eax
mov qword [rsp + 0x60], r14
mov rcx, rax
movsxd r12, r12d
imul rcx, r13
cmp dword [rsp + 0x138], 0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x90], r12
je 0x140327ec4
test esi, esi
jle 0x140328137
mov r11, qword [rsp + 0x30]
movsxd rdi, edi
mov r10d, esi
nop
mov rax, rbp
xor edx, edx
sar rax, 0x20
mov r8, rcx
imul eax, ebx
movsxd r9, eax
add r9, r11
test r12, r12
jle 0x140327eb1
nop word [rax + rax]
mov rax, r8
add r8, r13
sar rax, 0x20
cdqe
mov ecx, dword [r9 + rax*4]
mov dword [r14 + rdx*4], ecx
inc rdx
cmp rdx, r12
jl 0x140327e90
mov rcx, qword [rsp + 0x38]
add rbp, qword [rsp + 0x40]
add r14, rdi
sub r10, 1
jne 0x140327e70
jmp 0x140328137
mov eax, dword [rsp + 0xe0]
cdq
mov r8d, eax
mov eax, 0x80000000
xor r8d, edx
sub rbp, rax
sub r8d, edx
mov qword [rsp + 0x68], rbp
sub rcx, rax
mov dword [rsp + 0x20], r8d
mov qword [rsp + 0x38], rcx
test esi, esi
jle 0x140328137
movsxd rax, edi
mov qword [rsp + 0x48], rax
mov eax, esi
mov qword [rsp + 0x70], rax
nop word [rax + rax]
mov rax, rbp
xor r9d, r9d
sar rax, 0x20
lea ecx, [rax + 1]
test eax, eax
jns 0x140327f26
mov eax, r9d
jmp 0x140327f2f
cmp ecx, r8d
jl 0x140327f2f
lea ecx, [r8 - 1]
mov r13, qword [rsp + 0x38]
imul eax, ebx
imul ecx, ebx
movsxd rdx, eax
mov eax, ebp
add rdx, qword [rsp + 0x30]
shr eax, 0x12
mov qword [rsp + 0x80], rdx
mov edx, 0x4000
sub edx, eax
movsxd r8, ecx
add r8, qword [rsp + 0x30]
mov qword [rsp + 0x88], r8
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x24], edx
test r12, r12
jle 0x140328112
mov rbp, qword [rsp + 0x80]
lea rax, [r14 + 1]
mov r14d, dword [rsp + 0xe0]
mov qword [rsp + 0x58], r12
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
nop dword [rax]
mov rax, r13
sar rax, 0x20
lea ecx, [rax + 1]
test eax, eax
jns 0x140327fb3
mov eax, r9d
jmp 0x140327fbc
cmp ecx, r15d
jl 0x140327fbc
lea ecx, [r15 - 1]
movsxd rcx, ecx
mov r11d, edx
mov esi, r13d
mov edi, 0x4000
shr esi, 0x12
add r13, r12
sub edi, esi
imul r11d, esi
mov ebx, edi
imul esi, r14d
imul ebx, edx
lea rdx, [rcx*4]
movsxd rcx, eax
lea r10, [rdx + r8]
movzx eax, byte [rdx + rbp + 2]
shr r11d, 0xe
imul eax, r11d
lea r9, [r8 + rcx*4]
shr ebx, 0xe
lea r8, [rdx + rbp]
shr esi, 0xe
lea rdx, [rcx*4]
imul edi, r14d
add rdx, rbp
movzx ecx, byte [rdx + 2]
imul ecx, ebx
shr edi, 0xe
add ecx, eax
movzx eax, byte [r9 + 2]
imul eax, edi
add ecx, eax
movzx eax, byte [r10 + 2]
imul eax, esi
add ecx, eax
mov rax, qword [rsp + 0x28]
shr ecx, 0xe
mov byte [rax + 1], cl
movzx eax, byte [r8 + 1]
movzx ecx, byte [rdx + 1]
imul eax, r11d
imul ecx, ebx
add ecx, eax
movzx eax, byte [r9 + 1]
imul eax, edi
add ecx, eax
movzx eax, byte [r10 + 1]
imul eax, esi
add ecx, eax
mov rax, qword [rsp + 0x28]
shr ecx, 0xe
mov byte [rax], cl
movzx ecx, byte [r9]
movzx eax, byte [r10]
imul eax, esi
imul ecx, edi
add ecx, eax
movzx eax, byte [rdx]
imul eax, ebx
add ecx, eax
movzx eax, byte [r8]
imul eax, r11d
add ecx, eax
mov rax, qword [rsp + 0x28]
shr ecx, 0xe
mov byte [rax - 1], cl
movzx ecx, byte [rdx + 3]
movzx eax, byte [r8 + 3]
imul eax, r11d
imul ecx, ebx
add ecx, eax
movzx eax, byte [r9 + 3]
mov r9, qword [rsp + 0x28]
imul eax, edi
add ecx, eax
movzx eax, byte [r10 + 3]
imul eax, esi
add ecx, eax
shr ecx, 0xe
mov byte [r9 + 2], cl
add r9, 4
mov qword [rsp + 0x28], r9
sub qword [rsp + 0x58], 1
mov r9d, 0
mov r8, qword [rsp + 0x88]
mov edx, dword [rsp + 0x24]
jne 0x140327fa0
mov r14, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov r12, qword [rsp + 0x90]
mov ebx, dword [rsp + 0x130]
add r14, qword [rsp + 0x48]
add rbp, qword [rsp + 0x40]
sub qword [rsp + 0x70], 1
mov r8d, dword [rsp + 0x20]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], rbp
jne 0x140327f10
mov r12, qword [rsp + 0xa0]
xor eax, eax
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb8
pop r15
pop r14
pop r13
pop rdi
ret
mov eax, 0x80004001
jmp 0x140328151
mov eax, 0x80070057
add rsp, 0xb8
pop r15
pop r14
pop r13
pop rdi
ret