Function at 0x14006c460
Capabilities:
Create thread
Extract resource via kernel32 functions
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x190], rax
xor ebx, ebx
mov esi, ecx
cmp ecx, 0x20
jb 0x14006c52e
call qword [sym.imp.USER32.dll_GetActiveWindow]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea r9d, [rbx + 0x20]
lea r8, [0x140001b00]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
mov ecx, 0xffff
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorCount]
lea r8d, [rbx + 3]
mov edx, 0x33b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [rsp + 0x80]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
lea rcx, [0x1400ed7c8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
lea rcx, [rsp + 0x80]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea r8, [0x140001b00]
mov r9d, 0x40
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rbx
mov rbp, rax
lea r15d, [rsi - 0x20]
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_CreateThread]
movzx ebx, r15b
shl bl, 3
mov rdi, rax
sub bl, al
add bl, bpl
call qword [sym.imp.KERNEL32.dll_GetLastError]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov r14, rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, 0x83
xor ecx, ecx
mov qword [rsp + 0x60], rax
lea r8d, [rdx - 0x68]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea ecx, [rbp*8]
add r14d, 0x26
mov qword [rsp + 0x68], rax
lea eax, [rbp - 0x63]
mov r8d, esi
sub r8d, ecx
mov dword [rsp + 0x50], eax
mov ecx, ebp
add r8d, 2
add r8d, eax
imul ecx, eax
imul edx, ecx, 0x1c
sub edx, edi
mov eax, r8d
add edx, esi
mov dword [rsp + 0x48], r8d
add r14d, edx
mov dword [rsp + 0x40], r14d
lea ecx, [r14*4]
sub eax, ecx
mov dword [rsp + 0x4c], eax
cmp esi, 0x20
je 0x14006c619
movzx eax, bl
mov dword [rsp + 0x30], r15d
xor r9d, r9d
mov dword [rsp + 0x28], eax
mov r8, rdi
mov rdx, rdi
mov rcx, rdi
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov r12, rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov ecx, r14d
mov r13, rax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
movzx ebx, bl
mov ecx, eax
mov r14, rax
mov rax, qword [rsp + 0x58]
add eax, 4
imul ecx, r13d
sub ecx, r12d
add eax, ecx
mov dword [rsp + 0x44], eax
cmp ebx, 0x40
jge 0x14006c674
lea rcx, [rsp + 0x80]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
mov r10, qword [rsp + 0x70]
mov edx, esi
mov eax, ebp
imul eax, dword [rsp + 0x50]
imul edx, r15d
shl edx, 3
sub edx, eax
sub edx, dword [rsp + 0x4c]
sub edx, r10d
add edx, 0x24
add edx, r12d
add edx, ebx
add edx, r13d
add edx, edi
imul r12d, dword [rsp + 0x4c]
imul r14d, edx
imul r14d, dword [rsp + 0x44]
lea eax, [rdx + 8]
movzx eax, al
lea ecx, [rax + rax*2]
lea eax, [rbp*2]
shl ecx, 2
sub ecx, r12d
lea edx, [r14 + rcx*4]
sub edx, eax
lea eax, [r15 + 0x46]
sub edx, ebx
sub edx, r13d
sub edx, edi
sub edx, dword [rsp + 0x48]
add edx, dword [rsp + 0x60]
add edx, esi
add edx, dword [rsp + 0x58]
add edx, dword [rsp + 0x68]
add edx, r10d
add edx, dword [rsp + 0x40]
add edx, dword [rsp + 0x50]
add eax, edx
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1400dd340
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret