Function at 0x14003f030
Capabilities:
Check for time delay via gettickcount
Generate random numbers via winapi
Get memory capacity

Disassembly:
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x14014dcf0]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov r12d, dword [0x1401a6c1c]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.USER32.dll_GetClipboardOwner]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.USER32.dll_GetClipboardViewer]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call fcn.14003e410
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
call fcn.14003e410
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.14003e410
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.USER32.dll_GetInputState]
mov ecx, eax
call fcn.14003e410
call qword [sym.imp.USER32.dll_GetMessagePos]
mov ecx, eax
call fcn.14003e410
call qword [sym.imp.USER32.dll_GetMessageTime]
mov ecx, eax
call fcn.14003e410
call qword [sym.imp.USER32.dll_GetOpenClipboardWindow]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
call fcn.14003e550
call qword [sym.imp.USER32.dll_GetProcessWindowStation]
mov rcx, rax
call fcn.14003e550
mov ecx, 0x4bf
call qword [sym.imp.USER32.dll_GetQueueStatus]
mov ecx, eax
call fcn.14003e410
lea rcx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_GetCaretPos]
lea rcx, [rsp + 0x58]
mov edx, 8
call fcn.14003df90
lea rcx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_GetCursorPos]
lea rcx, [rsp + 0x58]
mov edx, 8
call fcn.14003df90
lea rcx, [rbp - 0x10]
mov dword [rbp - 0x10], 0x38
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
lea rcx, [rbp - 0x10]
mov edx, 0x38
call fcn.14003df90
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadTimes]
mov edx, 8
lea rcx, [rsp + 0x50]
call fcn.14003df90
lea rcx, [rsp + 0x40]
mov edx, 8
call fcn.14003df90
lea rcx, [rsp + 0x48]
mov edx, 8
call fcn.14003df90
lea rcx, [rsp + 0x30]
mov edx, 8
call fcn.14003df90
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r9, [rsp + 0x48]
mov rdi, rax
lea rax, [rsp + 0x30]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetProcessTimes]
lea rcx, [rsp + 0x50]
mov edx, 8
call fcn.14003df90
lea rcx, [rsp + 0x40]
mov edx, 8
call fcn.14003df90
lea rcx, [rsp + 0x48]
mov edx, 8
call fcn.14003df90
lea rcx, [rsp + 0x30]
mov edx, 8
call fcn.14003df90
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessWorkingSetSize]
mov rcx, qword [rsp + 0x60]
call fcn.14003e550
mov rcx, qword [rsp + 0x70]
call fcn.14003e550
cmp dword [0x1401a6c5c], 0
jne 0x14003f2cd
lea rcx, [rbp - 0x80]
mov dword [rbp - 0x80], 0x68
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
lea rcx, [rbp - 0x80]
mov edx, 0x68
call fcn.14003df90
mov dword [0x1401a6c5c], 1
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14003f2e8
mov edx, 8
lea rcx, [rsp + 0x68]
jmp 0x14003f2fc
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, 4
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x38], eax
call fcn.14003df90
cmp dword [0x1401a6c4c], 0
jne 0x14003f311
xor eax, eax
jmp 0x14003f3d9
mov rcx, qword [0x1401ade68]
mov qword [rsp + 0x140], rbx
lea rbx, [0x1401a6ad0]
mov qword [rsp + 0x148], rsi
mov esi, 0x140
mov r8, rbx
mov edx, esi
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
je 0x14003f3bb
mov edx, esi
mov rcx, rbx
call fcn.14003df90
call fcn.140014fb0
test eax, eax
je 0x14003f391
mov eax, dword [0x1401ac6e0]
test eax, eax
je 0x14003f36e
mov edx, esi
mov rcx, rbx
call fcn.140059b90
test eax, eax
jne 0x14003f387
mov eax, dword [0x1401ac6dc]
test eax, eax
je 0x14003f391
mov rdx, rsi
mov rcx, rbx
call fcn.140059b60
test eax, eax
je 0x14003f391
mov edx, esi
mov rcx, rbx
call fcn.14003df90
mov rdi, rbx
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
nop dword [rax + rax]
mov byte [rbx], al
inc rbx
dec rsi
jne 0x14003f3a0
call fcn.14003dc20
mov dword [0x1401a6c1c], r12d
lea eax, [rsi + 1]
jmp 0x14003f3c9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x1401a6c58], eax
xor eax, eax
mov rbx, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x148]
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1400a4e70
lea r11, [rsp + 0x130]
mov rdi, qword [r11 + 0x20]
mov r12, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret