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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
mov r12, rdx
mov r14d, ecx
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movzx r8d, r14b
mov r13, rax
add r8b, r8b
lea r15d, [r8 + r14]
add r15b, r15b
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rbx, rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
xor esi, esi
lea r8, [0x140001b00]
mov r9d, r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rsi
movzx ebp, ax
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rsp + 0x1c0]
mov edx, 0x104
mov rdi, rax
mov qword [rsp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
lea rcx, [rsp + 0x80]
mov edx, 0x104
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
cmp r15b, r14b
jne 0x1400b3fed
call qword [sym.imp.USER32.dll_GetActiveWindow]
movsx rcx, r15b
movsx rsi, bpl
sub ecx, dword [r12 + 0x10]
lea r8, [0x140001b00]
xor edx, edx
sub ecx, dword [rsp + 0x60]
mov r9, rsi
add ecx, r14d
add ecx, esi
add ecx, edi
lea edi, [rbx + 6]
add edi, ecx
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor ecx, ecx
lea r8d, [rcx + 7]
mov edx, 0x27c
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor eax, eax
mov edx, edi
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], ebx
movsx ecx, bpl
movsx r8d, r15b
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r8d
lea rdx, str.score
lea r8, str.score
mov r9d, r14d
call qword [sym.imp.USER32.dll_CreateWindowExA]
xor ecx, ecx
mov edx, 0x174
lea r8d, [rcx + 3]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [rsp + 0x80]
xor edx, edx
mov r8d, 0x140
call fcn.1400e27d0
lea rdx, [rsp + 0x80]
lea rcx, str.helium
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
movsxd rbx, eax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor ecx, ecx
lea r8d, [rcx + 0xe]
mov edx, 0x185
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov edx, 0x3bc
lea r8d, [rcx + 0x18]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov edx, 0x23f
lea r8d, [rcx + 5]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, str.waiter
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.c4a2
mov r9, rbx
mov rcx, rax
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_EnumResourceNamesA]
call qword [sym.imp.USER32.dll_GetActiveWindow]
xor esi, esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
lea r8, [0x140001b00]
mov r9d, 1
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rsi
mov rbx, rax
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateThread]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], r14d
movsx ebp, bpl
mov dword [rsp + 0x30], esi
lea r8, str.c0ret
lea rdx, str.virtue
mov r9d, ebp
mov ecx, ebp
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r14d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rdi, qword [rsp + 0x70]
movsx eax, r15b
add edi, 0xfffffffb
imul eax, dword [r12]
imul eax, r13d
imul esi, eax, 0x1e
mov eax, r14d
sub eax, dword [r12 + 8]
add eax, ebx
add esi, r14d
add edi, eax
imul ebx, dword [rsp + 0x68], 0xfffffffb
sub ebx, dword [r12 + 0x10]
sub ebx, r13d
sub ebx, dword [rsp + 0x60]
add ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor ecx, ecx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
movsxd rax, ebx
lea r9d, [rsi - 9]
lea r8, str.virtue
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], r14d
lea rdx, str.helium
mov ecx, 1
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_CreateWindowExA]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, 0xffff
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorCount]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor ecx, ecx
lea r8d, [rcx + 0xf]
mov edx, 0x1b5
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.1400dd340
mov rbx, qword [rsp + 0x330]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret