Function at 0x14009b420
Capabilities:
Create thread
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
movsxd r15, dword [rsp + 0x200]
mov rax, r8
or rsi, 0xffffffffffffffff
mov qword [rsp + 0x58], r9
mov rdi, rdx
mov r12, rcx
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x40], rax
mov rbx, rsi
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x14009b480
mov r14, qword [rsp + 0x208]
imul ebx, eax
xor eax, eax
mov qword [rsp + 0x28], rax
lea r8, [0x140001b00]
mov r9, r15
xor edx, edx
xor ecx, ecx
sub ebx, r14d
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbp, rsi
nop dword [rax]
cmp byte [rdi + rbp + 1], 0
lea rbp, [rbp + 1]
jne 0x14009b4c0
lea rcx, [rsp + 0x60]
mov edx, 0x104
lea ebp, [rbp + r14*2]
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
mov qword [rsp + 0x48], rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
xor ecx, ecx
lea r8d, [rcx + 0xf]
mov edx, 0xed
mov r13, rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r14, rsi
mov qword [rsp + 0x38], rax
nop word [rax + rax]
inc r14
cmp byte [rdi + r14], 0
jne 0x14009b510
movzx eax, r13b
imul bpl
sub al, r15b
sub al, 0xc
add r14b, al
call qword [sym.imp.USER32.dll_GetForegroundWindow]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov r15, rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov rdx, qword [rsp + 0x38]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rcx, [rsp + 0x60]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
lea rcx, [rsp + 0x60]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
mov qword [rsp + 0x50], rax
cmp ebp, ebx
jg 0x14009b5dc
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea rcx, [rsp + 0x60]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8d, 0x140
call fcn.1400e27d0
lea rdx, [rsp + 0x60]
lea rcx, str.icebreaker
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
mov edx, 0xb8
lea r8d, [rcx + 0xd]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov ecx, 0xffff
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorCount]
xor ecx, ecx
mov edx, 0x2b8
lea r8d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [r12 + 8], r13
mov qword [r12], rax
inc rsi
cmp byte [rdi + rsi], 0
jne 0x14009b5f6
mov rax, qword [rsp + 0x38]
lea eax, [rax + rax*4]
lea ecx, [rax*4]
mov rax, qword [rsp + 0x58]
add ecx, r13d
add ecx, ecx
sub r15d, ecx
imul eax, dword [rsp + 0x40]
sub r15d, eax
movsx rax, r14b
sub r15d, eax
mov eax, dword [rsp + 0x30]
sub r15d, dword [rsp + 0x48]
sub r15d, ebp
add eax, r15d
add esi, eax
mov rax, r12
add esi, dword [rsp + 0x50]
mov dword [r12 + 0x10], esi
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.1400dd340
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret