Function at 0x10000a8b0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov r13, rdx
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 0x4c]
lea rcx, [rsp + 0x74]
call sub.msvcrt.dll_memset
mov edx, dword [0x100012b6c]
xor r15d, r15d
lea rax, [0x10000b8c4]
lea ebx, [r15 + 1]
mov ecx, edx
sub ecx, ebx
mov qword [rsp + 0x78], rax
mov rax, qword [0x100012b30]
mov r12d, r15d
mov dword [rsp + 0x70], 0x50
mov dword [rsp + 0x74], 3
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x80], r15d
mov dword [rsp + 0x84], r15d
je 0x10000a992
sub ecx, ebx
je 0x10000a984
cmp ecx, ebx
jne 0x10000a99e
mov qword [rsp + 0xa8], 0x7c
lea rax, [0x100005a18]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0xb0], rax
call fcn.100007498
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
cmp rax, r15
jne 0x10000a9ac
mov ebx, 0x8007000e
jmp 0x10000ac7a
mov qword [rsp + 0xa8], 0x72
jmp 0x10000a9a3
mov qword [rsp + 0xa8], 0x73
cmp edx, 2
jne 0x10000a942
lea rax, [0x1000059f0]
jmp 0x10000a949
mov ecx, dword [0x100012b6c]
mov word [rax], r15w
mov eax, 0x400
sub ecx, ebx
je 0x10000a9f7
sub ecx, ebx
je 0x10000a9ce
cmp ecx, ebx
jne 0x10000aa0f
mov edx, 0x7e
jmp 0x10000a9fc
mov rcx, qword [0x100012b30]
mov r9d, eax
mov r8, rbp
mov edx, 0x6e
call qword [sym.imp.USER32.dll_LoadStringW]
cmp dword [0x100012554], r15d
je 0x10000aa0f
mov r12d, 0x80000
jmp 0x10000aa0f
mov edx, 0x6f
mov rcx, qword [0x100012b30]
mov r9d, eax
mov r8, rbp
call qword [sym.imp.USER32.dll_LoadStringW]
lea rcx, [rsp + 0x110]
call qword [sym.imp.USER32.dll_GetProcessDefaultLayout]
cmp eax, r15d
jne 0x10000aa3c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
cmp eax, r15d
cmovle ecx, eax
cmp ecx, r15d
jl 0x10000aa4a
test byte [rsp + 0x110], bl
je 0x10000aa4a
bts r12d, 0xd
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov edx, 0x58
mov rcx, rax
mov rdi, rax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, 0x5a
mov rcx, rdi
mov esi, eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov rdx, rdi
xor ecx, ecx
mov ebx, eax
call qword [sym.imp.USER32.dll_ReleaseDC]
mov qword [rsp + 0x58], r15
mov r9d, 0x2aaaaaab
imul ebx, ebx, 0x258
imul esi, esi, 0x320
mov eax, r9d
imul ebx
mov eax, r9d
mov r9d, 0xcf0000
mov r8d, edx
imul esi
sar r8d, 4
sar edx, 4
mov ecx, r8d
mov eax, edx
shr ecx, 0x1f
shr eax, 0x1f
add r8d, ecx
mov ecx, r12d
add edx, eax
mov rax, qword [0x100012b30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], edx
mov rdx, qword [rsp + 0xb0]
mov eax, 0x80000000
mov r8, rbp
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call fcn.100007570
mov rdi, rax
cmp rax, r15
je 0x10000ac47
cmp rax, 0xffffffffffffffff
je 0x10000ac47
mov edx, dword [0x100012b6c]
mov qword [r13], rax
mov esi, 1
mov eax, edx
sub eax, esi
je 0x10000ab30
cmp eax, 2
jne 0x10000ab4d
mov rcx, rdi
call fcn.1000085e8
cmp eax, r15d
mov ebx, eax
jl 0x10000ac66
cmp eax, esi
je 0x10000ab68
mov edx, dword [0x100012b6c]
cmp edx, esi
jne 0x10000ab75
mov rcx, rdi
call fcn.100008768
cmp eax, r15d
mov ebx, eax
jl 0x10000ac66
cmp eax, esi
jne 0x10000ab6f
mov ebx, esi
jmp 0x10000ac66
mov edx, dword [0x100012b6c]
cmp edx, 2
jne 0x10000abb0
mov rcx, rdi
cmp dword [0x100012554], r15d
je 0x10000ab99
mov r9d, edx
mov r8b, 0xff
mov edx, 0x1fe01
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
jmp 0x10000abb0
call qword [sym.imp.USER32.dll_GetMenu]
mov r8d, 0x400
mov edx, esi
mov rcx, rax
call qword [sym.imp.USER32.dll_DeleteMenu]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
cmp eax, r15d
mov ebx, eax
jl 0x10000ac66
xor ecx, ecx
call qword [sym.imp.ole32.dll_OleInitialize]
mov r11d, dword [0x100012b6c]
sub r11d, esi
je 0x10000aca1
sub r11d, esi
je 0x10000ac97
cmp r11d, esi
jne 0x10000acc3
movdqu xmm0, xmmword [0x100001710]
lea rdx, [rsp + 0x60]
mov rcx, rdi
movdqu xmmword [rsp + 0x60], xmm0
call fcn.10000b758
cmp eax, r15d
mov ebx, eax
jl 0x10000ac66
lea rax, [rsp + 0x118]
lea r8, [0x100009e48]
mov r9, rdi
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x100012b78], rax
cmp rax, r15
je 0x10000ac47
cmp rax, 0xffffffffffffffff
jne 0x10000acc3
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r15d
cmovle ebx, eax
cmp ebx, r15d
jl 0x10000ac66
mov ebx, 0x80004005
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movdqu xmm0, xmmword [0x1000054e8]
jmp 0x10000aca9
movdqu xmm0, xmmword [0x1000054f8]
lea rdx, [rsp + 0x60]
mov rcx, rdi
movdqu xmmword [rsp + 0x60], xmm0
call fcn.10000b758
cmp eax, r15d
mov ebx, eax
jl 0x10000ac66
mov edx, esi
mov rcx, rdi
call fcn.10000a7bc
mov rcx, rdi
call fcn.10000a608
mov edx, r14d
mov rcx, rdi
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x10000ac66