Function at 0x140042720
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r12
push r13
lea rbp, [rsp - 0x47]
sub rsp, 0xf0
mov rax, qword [0x1400ada20]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor eax, eax
xor r12d, r12d
mov r13, rcx
mov qword [rbp - 0x29], rax
mov ecx, r12d
mov qword [rbp - 0x21], rax
mov edx, r12d
mov dword [rbp - 0x71], ecx
mov dword [rbp - 0x6d], edx
movss xmm0, dword [r13 + 0x256dc]
cvtps2pd xmm0, xmm0
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rax
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rax
addsd xmm0, qword [0x140080ef0]
cvttsd2si r8d, xmm0
cmp r8d, 0xa
jge 0x14004279d
mov dword [rsp + 0x20], 0x96
jmp 0x1400427bf
cmp r8d, 0xc
jle 0x1400427ad
mov dword [rsp + 0x20], 0x14
jmp 0x1400427bf
mov eax, reloc.WS2_32.dll_ntohl
sub eax, r8d
lea eax, [rax + rax*4]
shl eax, 2
mov dword [rsp + 0x20], eax
movss xmm1, dword [r13 + 0x256d8]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jp 0x1400427d2
je 0x1400427da
mov dword [rsp + 0x20], 0x50
movzx eax, word [r13 + 0x14]
sub eax, 0xe
mov dword [rbp - 0x75], eax
cmp eax, 0xe
jle 0x140042c37
movzx eax, word [r13 + 0x16]
mov ecx, dword [rbp - 0x75]
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xe0], r15
mov r15d, 0x10
mov dword [rsp + 0x24], r15d
nop dword [rax]
mov r10d, 0xa
mov dword [rbp - 0x79], r10d
cmp eax, r10d
jbe 0x140042bef
mov r11, qword [r13 + 8]
lea r9d, [r15 - 2]
lea ecx, [r9*4]
lea edx, [r9*4]
mov eax, ecx
and eax, 0x1c
and edx, 0x1c
mov dword [rbp - 0x59], eax
lea eax, [rcx + 4]
and eax, 0x1c
mov qword [rbp - 0x51], rdx
mov dword [rbp - 0x61], eax
lea eax, [rcx + 8]
and eax, 0x1c
mov dword [rsp + 0x28], eax
lea eax, [rcx + 0xc]
and eax, 0x1c
mov dword [rbp - 0x7d], eax
nop word [rax + rax]
movzx esi, word [r13 + 0x5d1a4]
lea r8d, [r10 + r10]
movzx r14d, word [r13 + 0x1e]
movzx ecx, dl
mov edx, dword [r13 + 0x220]
mov eax, r8d
and eax, 2
mov ebx, r10d
or cl, al
mov edi, eax
shr rdx, cl
mov ecx, esi
sar r9d, cl
and edx, 3
sar ebx, cl
imul r9d, r14d
lea eax, [r9 + rbx]
movsxd rcx, eax
lea rax, [rdx + rcx*4]
movzx ecx, word [r11 + rax*2]
lea eax, [r8 - 2]
mov r8d, dword [r13 + 0x220]
and eax, 2
mov dword [rbp + rdx*4 - 0x49], ecx
mov r11d, eax
movzx ecx, byte [rbp - 0x59]
mov edx, r8d
or cl, al
shr rdx, cl
mov ecx, esi
and edx, 3
inc r10d
sar r10d, cl
lea eax, [r9 + r10]
mov r9, qword [r13 + 8]
movsxd rcx, eax
lea rax, [rdx + rcx*4]
movzx ecx, word [r9 + rax*2]
mov dword [rbp + rdx*4 - 0x49], ecx
mov edx, r8d
movzx ecx, byte [rbp - 0x61]
lea r8d, [r15 - 1]
or cl, dil
shr rdx, cl
mov ecx, esi
sar r8d, cl
and edx, 3
imul r8d, r14d
lea eax, [r8 + rbx]
movsxd rcx, eax
lea rax, [rdx + rcx*4]
movzx ecx, word [r9 + rax*2]
lea eax, [r8 + r10]
mov dword [rbp + rdx*4 - 0x49], ecx
movzx ecx, byte [rbp - 0x61]
mov edx, dword [r13 + 0x220]
or cl, r11b
shr rdx, cl
movsxd rcx, eax
and edx, 3
lea rax, [rdx + rcx*4]
movzx ecx, word [r9 + rax*2]
mov eax, r14d
mov dword [rbp + rdx*4 - 0x49], ecx
mov r9d, r15d
mov ecx, dword [rsp + 0x28]
mov edx, dword [r13 + 0x220]
or ecx, edi
shr edx, cl
mov ecx, esi
and edx, 3
sar r9d, cl
mov rcx, qword [r13 + 8]
imul eax, r9d
mov r8d, edx
add eax, ebx
cdqe
lea rax, [rdx + rax*4]
movzx edx, word [rcx + rax*2]
lea eax, [r8 + 4]
mov dword [rbp + rax*4 - 0x49], edx
mov r8d, dword [r13 + 0x220]
mov eax, r14d
mov ecx, dword [rsp + 0x28]
mov edx, r8d
imul eax, r9d
or ecx, r11d
shr edx, cl
lea r9d, [r15 + 1]
and edx, 3
mov ecx, edx
add eax, r10d
cdqe
lea rax, [rdx + rax*4]
mov rdx, qword [r13 + 8]
movzx edx, word [rdx + rax*2]
lea eax, [rcx + 4]
mov ecx, dword [rbp - 0x7d]
mov dword [rbp + rax*4 - 0x49], edx
or ecx, edi
mov edx, r8d
shr edx, cl
mov ecx, esi
and edx, 3
sar r9d, cl
mov r8d, edx
imul r9d, r14d
lea eax, [rbx + r9]
movsxd rcx, eax
lea rax, [rdx + rcx*4]
mov rcx, qword [r13 + 8]
movzx edx, word [rcx + rax*2]
lea eax, [r8 + 4]
mov ecx, dword [rbp - 0x7d]
mov dword [rbp + rax*4 - 0x49], edx
or ecx, r11d
mov edx, dword [r13 + 0x220]
lea eax, [r10 + r9]
mov r11, qword [r13 + 8]
shr edx, cl
and edx, 3
movsxd rcx, eax
mov r8d, edx
lea rax, [rdx + rcx*4]
movzx edx, word [r11 + rax*2]
lea rcx, [rbp - 0x49]
lea eax, [r8 + 4]
mov dword [rbp + rax*4 - 0x49], edx
mov edx, r12d
nop dword [rax]
mov eax, dword [rcx]
sub eax, 0x96
cmp eax, 0x546
ja 0x140042bca
inc edx
add rcx, 4
cmp edx, 8
jl 0x140042a60
mov rcx, r12
mov eax, dword [rbp + rcx*4 - 0x49]
sub eax, dword [rbp + rcx*4 - 0x39]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x32
jg 0x140042bca
inc rcx
cmp rcx, 4
jl 0x140042a80
mov rdi, r12
lea rsi, [rbp - 0x69]
lea rbx, [rbp - 0x45]
mov r15d, 2
lea r14, [rbp + 0x17]
nop dword [rax]
nop dword [rax + rax]
mov r8, r12
mov r9d, 2
nop dword [rax]
mov eax, dword [rbx]
mov rcx, r8
sub eax, dword [rbx - 4]
add r8, 2
shl eax, 0xa
cdq
sar rcx, 1
idiv dword [rbx - 4]
add rcx, rdi
add rbx, 8
mov dword [rbp + rcx*4 + 0x17], eax
sub r9, 1
jne 0x140042ad0
mov r8d, dword [rsp + 0x20]
mov rdx, r14
mov rcx, r13
call sym.EURawImg.exe_protected:_int___cdecl_LibRaw::canon_600_color_int__const___ptr64__int____ptr64
mov dword [rsi], eax
add r14, 8
add rsi, 4
add rdi, 2
sub r15, 1
jne 0x140042ac0
mov r10d, dword [rbp - 0x69]
or r10d, dword [rbp - 0x65]
cmp r10d, 1
jg 0x140042bc1
mov r8, r12
lea r9, [rbp + 0x1b]
lea rdx, [rbp - 0x45]
cmp dword [rbp + r8*4 - 0x69], r12d
je 0x140042b65
mov eax, dword [r9 - 4]
mov ecx, dword [rdx + 4]
add eax, 0x400
imul eax, dword [rdx - 4]
sar eax, 0xa
mov dword [rdx], eax
mov eax, dword [r9]
add eax, 0x400
imul ecx, eax
sar ecx, 0xa
mov dword [rdx + 8], ecx
inc r8
add r9, 8
add rdx, 0x10
cmp r8, 2
jl 0x140042b38
movsxd r8, r10d
lea rcx, [rbp - 0x29]
mov rax, r8
lea rdx, [rbp - 0x49]
shl rax, 5
add rcx, rax
sub rdx, rax
lea rax, [rbp - 0x29]
sub rdx, rax
mov eax, 2
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + rdx]
lea rcx, [rcx + 0x10]
paddd xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x140042ba0
inc dword [rbp + r8*4 - 0x71]
mov r11, qword [r13 + 8]
mov r15d, dword [rsp + 0x24]
mov r10d, dword [rbp - 0x79]
lea r9d, [r15 - 2]
movzx eax, word [r13 + 0x16]
add r10d, 2
mov rdx, qword [rbp - 0x51]
mov dword [rbp - 0x79], r10d
cmp r10d, eax
jl 0x140042890
mov ecx, dword [rbp - 0x75]
add r15d, 4
mov dword [rsp + 0x24], r15d
lea eax, [r15 - 2]
cmp eax, ecx
movzx eax, word [r13 + 0x16]
jl 0x140042830
mov edx, dword [rbp - 0x6d]
mov ecx, dword [rbp - 0x71]
mov r15, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x118]
mov eax, edx
or eax, ecx
je 0x140042ce3
movss xmm2, dword [0x140080df4]
imul eax, ecx, 0xc8
mov ecx, 0x20
cmp eax, edx
cmovl r12, rcx
mov edx, dword [rbp + r12 - 0x19]
add edx, dword [rbp + r12 - 0x29]
je 0x140042c7d
movd xmm0, edx
movaps xmm1, xmm2
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [r13 + 0x255e4], xmm1
mov edx, dword [rbp + r12 - 0x25]
add edx, dword [rbp + r12 - 0x15]
je 0x140042ca0
movd xmm0, edx
movaps xmm1, xmm2
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [r13 + 0x255e8], xmm1
mov edx, dword [rbp + r12 - 0x21]
add edx, dword [rbp + r12 - 0x11]
je 0x140042cc3
movd xmm0, edx
movaps xmm1, xmm2
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [r13 + 0x255ec], xmm1
mov edx, dword [rbp + r12 - 0x1d]
add edx, dword [rbp + r12 - 0xd]
je 0x140042ce3
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss dword [r13 + 0x255f0], xmm2
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14007c510
add rsp, 0xf0
pop r13
pop r12
pop rbp
ret