Function at 0x180073ec0
Capabilities:
Encrypt data using rc4 prga
Parse pe header

Disassembly:
mov r11, rsp
push rbx
push r12
push r13
push r15
sub rsp, 0x438
mov r15, qword [rdx]
mov r12, r8
mov r13, rcx
test r15, r15
je 0x180074198
xor eax, eax
mov ecx, 0x5a4d
cmp word [r15], cx
cmove rax, r15
test rax, rax
je 0x180074198
mov eax, dword [rax + 0x3c]
xor ecx, ecx
add rax, r15
cmp dword [rax], 0x4550
cmove rcx, rax
test rcx, rcx
je 0x180074198
lea rbx, [rcx + 0x90]
test rbx, rbx
je 0x180074198
test r8, r8
je 0x180074198
mov qword [r11 + 8], rbp
lea rcx, [rsp + 0x20]
mov qword [r11 + 0x10], rsi
xor edx, edx
mov qword [r11 + 0x18], rdi
mov r8d, 0x408
mov qword [r11 - 0x28], r14
call fcn.18004ebf0
mov ebp, dword [rbx]
add rbp, r15
je 0x18007402a
movabs r10, 0xcbf29ce484222325
movabs r11, 0xaf63bd4c8601b7df
mov eax, dword [rbp + 0xc]
test eax, eax
je 0x18007402a
mov r14d, eax
add r14, r15
je 0x180074021
mov edi, dword [rbp]
mov esi, 0
add rdi, r15
je 0x18007401d
mov rax, qword [rdi]
test rax, rax
je 0x18007401d
lea rbx, [rax + r15]
test rbx, rbx
je 0x180074010
add rbx, 2
xor r8d, r8d
cmp byte [rbx], r8b
je 0x180073fbf
inc r8
cmp byte [r8 + rbx], 0
jne 0x180073fb5
movzx edx, byte [rbx]
lea ecx, [rdx - 0x41]
cmp cl, 0x19
lea eax, [rdx + 0x20]
movzx r9d, al
cmova r9d, edx
test r8, r8
jne 0x180073fdd
mov rax, r10
jmp 0x180074007
movsx rcx, r9b
lea rdx, [rbx + 1]
xor rcx, r11
dec r8
mov r9b, 1
call fcn.18005b470
movabs r10, 0xcbf29ce484222325
movabs r11, 0xaf63bd4c8601b7df
cmp rax, r12
je 0x1800740db
inc rsi
add rdi, 8
jne 0x180073f98
add rbp, 0x14
test rbp, rbp
jne 0x180073f70
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x408
call fcn.18004ebf0
mov rcx, r13
lea rax, [rsp + 0x20]
mov edx, 8
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180074050
mov rdi, qword [rsp + 0x470]
mov rsi, qword [rsp + 0x468]
mov r14, qword [rsp + 0x430]
mov rbp, qword [rsp + 0x460]
mov rax, qword [rax]
mov qword [rcx], rax
mov rax, r13
add rsp, 0x438
pop r15
pop r13
pop r12
pop rbx
ret
lea rcx, [rsp + 0x20]
sub rcx, r14
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r14]
mov byte [rcx + r14], al
lea r14, [r14 + 1]
test al, al
jne 0x1800740f0
lea rcx, [rsp + 0x220]
sub rcx, rbx
nop dword [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x180074110
mov ecx, dword [rbp + 0x10]
mov edx, 8
add rcx, r15
lea rax, [rcx + rsi*8]
mov rcx, r13
mov qword [rsp + 0x420], rax
lea rax, [rsp + 0x20]
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180074140
jmp 0x1800740a3
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x408
call fcn.18004ebf0
mov rcx, r13
lea rax, [rsp + 0x20]
mov edx, 8
nop word [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1800741c0
jmp 0x1800740c3