Function at 0x1400c9e70
Capabilities:
Create thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x218
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x280]
mov r13d, r8d
or rsi, 0xffffffffffffffff
mov qword [rsp + 0x70], rax
mov rbx, r9
mov r15, rdx
mov dword [rsp + 0x6c], r13d
mov rdi, rcx
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x1400c9ec0
mov rbp, rsi
nop dword [rax]
inc rbp
cmp byte [rcx + rbp], 0
jne 0x1400c9ed0
sub ebp, eax
mov rax, rsi
nop
inc rax
cmp byte [r9 + rax], 0
jne 0x1400c9ee0
add ebp, eax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r14, rsi
mov qword [rsp + 0xa0], rax
nop dword [rax]
inc r14
cmp byte [rbx + r14], 0
jne 0x1400c9f00
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x1400c9f10
imul r14d, eax
imul r14d, r13d
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
xor ecx, ecx
mov edx, 0x26a
lea r8d, [rcx + 9]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r9, r13
xor r13d, r13d
lea r8, [0x140001b00]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], r13
mov r12, rax
mov dword [rsp + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, qword [rsp + 0x70]
lea r8, [0x140001b00]
lea ecx, [rcx + rcx*2]
xor edx, edx
mov qword [rsp + 0x28], r13
sub ecx, eax
mov dword [rsp + 0x20], r13d
lea eax, [rcx + 5]
xor ecx, ecx
add eax, r14d
movsx r9, al
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r13, rax
mov qword [rsp + 0x88], rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov qword [rsp + 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
movzx eax, ax
mov dword [rsp + 0x64], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov rcx, rsi
mov dword [rsp + 0x60], eax
inc rcx
cmp byte [rbx + rcx], 0
jne 0x1400c9fc2
mov eax, dword [rsp + 0x80]
imul edx, ecx, 0xffffffec
mov rcx, rsi
imul eax, r13d
imul eax, dword [rsp + 0x64]
sub edx, eax
inc rcx
cmp byte [rdi + rcx], 0
jne 0x1400c9fe3
movsxd r8, dword [rsp + 0x68]
movsx rax, r8b
add eax, edx
mov edx, 0x22c
add ecx, eax
lea eax, [r8 + 0x42]
add eax, ecx
xor ecx, ecx
lea r8d, [rcx + 5]
mov dword [rsp + 0x78], eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rcx, rsi
mov qword [rsp + 0x90], rax
nop
inc rcx
cmp byte [rdi + rcx], 0
jne 0x1400ca020
movzx eax, byte [rsp + 0x6c]
imul cl
movzx ecx, byte [rsp + 0xa0]
movzx ebx, al
movzx eax, byte [rsp + 0x70]
add cl, 2
imul cl
add bl, al
movzx ecx, r13b
shl cl, 3
add bl, cl
add bl, byte [rsp + 0x80]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movzx r13d, byte [rsp + 0x60]
movzx r8d, bl
mov r9, rax
mov rcx, rsi
mov dword [rsp + 0x60], r8d
inc rcx
cmp byte [rdi + rcx], 0
jne 0x1400ca072
mov rax, qword [rsp + 0x88]
mov edx, r13d
imul r12d, eax
imul edx, eax
mov eax, dword [rsp + 0x64]
sub r12d, ebp
add r12d, dword [rsp + 0x6c]
imul r12d, dword [rsp + 0x70]
add eax, r12d
add edx, eax
sub edx, ecx
inc rsi
cmp byte [r15 + rsi], 0
jne 0x1400ca0a6
mov rdi, qword [rsp + 0x90]
sub edx, esi
mov eax, edi
imul eax, dword [rsp + 0x78]
add eax, 0x10
lea ebx, [rax + rdx*8]
sub ebx, r9d
add ebx, r8d
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
call qword [sym.imp.KERNEL32.dll_GetMaximumProcessorGroupCount]
mov ecx, dword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor ecx, ecx
movsxd rax, r14d
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], eax
lea r8, [0x1400ed7c8]
lea rdx, [0x1400ed3b8]
mov r9d, r13d
mov ecx, ebx
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_CreateWindowExA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
call qword [sym.imp.KERNEL32.dll_GetMaximumProcessorGroupCount]
xor ecx, ecx
mov edx, 0x3e5
lea r8d, [rcx + 0x11]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [rsp + 0xc0]
mov edx, 0x104
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov edx, 0x1f4
lea r8d, [rcx + 0x1c]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov edx, 0x3b3
lea r8d, [rcx + 6]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rcx, [rsp + 0xc0]
xor edx, edx
mov r8d, 0x140
call fcn.1400e27d0
lea rdx, [rsp + 0xc0]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov rax, rbx
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.1400dd340
add rsp, 0x218
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret