Function at 0x14009b200
Capabilities:
Check for time delay via gettickcount
Copy file
Extract resource via kernel32 functions

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x158
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov ebx, dword [rsp + 0x1c0]
mov edi, r9d
mov r12, r8
mov rsi, rdx
mov r14, rcx
cmp r9d, ebx
jne 0x14009b276
mov edx, 0x55
xor ecx, ecx
lea r8d, [rdx - 0x3d]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov edx, 0x3a2
lea r8d, [rcx + 0x1c]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r13, rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
xor ecx, ecx
lea r8d, [rcx + 9]
mov edx, 0xd4
mov qword [rsp + 0x28], rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r15, rax
cmp ebx, edi
jne 0x14009b30e
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov edx, 0x33
xor ecx, ecx
lea r8d, [rdx - 0x23]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LockResource]
lea rdx, [0x1400ed4fc]
lea rcx, str.pyramid
xor r8d, r8d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_CopyFileA]
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov eax, dword [rsi + 0x18]
lea ecx, [r12 + r12*2]
mov ebp, r14d
imul ebp, edi
lea edi, [rax + rcx*2]
sub edi, r13d
add edi, r14d
add edi, ebp
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
xor ecx, ecx
mov edx, 0x1ea
lea r8d, [rcx + 0x13]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rdx, str.c4a6
imul ebx, edi, 7
lea rcx, str.pyramid
mov r8d, edi
lea esi, [rbx - 1]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [rbx + r12]
mov ebx, dword [rsp + 0x20]
add eax, ebp
xor ecx, ecx
add ebx, 0xfffffffe
add eax, dword [rsp + 0x28]
lea r8d, [rcx + 7]
mov edx, 0x229
add eax, r13d
add ebx, eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, str.c4a6
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
lea rdx, str.acid
lea rcx, str.c4a6
mov r8d, esi
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LockResource]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
cmp esi, ebx
jl 0x14009b3f5
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, 0xffff
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorCount]
mov rax, r14
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1400dd340
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret