Function at 0x1000a390
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, ecx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebx + 0x34], esi
cmp esi, 3
je 0x1000a3eb
mov eax, dword [ebx + 0x48]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x1000a3cc
push 0x309
push eax
mov eax, dword [ebx + 0x18]
push 0x410
push dword [eax + 0x50]
call edi
mov dword [ebx + 0x48], 0xffffffff
test esi, esi
je 0x1000a3e4
mov eax, dword [ebx + 0x18]
push 0
push 0x22b
push 0x410
push dword [eax + 0x50]
call edi
cmp esi, 2
je 0x1000a423
jmp 0x1000a40e
mov ecx, dword [ebx + 0x30]
call fcn.1002cfe0
cmp dword [ebx + 0x4c], 0
je 0x1000a40e
mov eax, dword [ebx + 0x30]
push 0
push 0
push 0x410
push dword [eax + 0x50]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebx + 0x10]
push 0x1004fd84
call fcn.10026d80
mov ecx, dword [ebx + 0xc]
call fcn.10028500
cmp dword [ebp + 0xc], 0
je 0x1000a43f
mov edx, dword [ebx]
cmp esi, 3
mov ecx, ebx
setne al
dec al
movzx eax, al
push eax
call dword [edx + 0x88]
push 7
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov edx, eax
mov dword [ebp + 0xc], edx
test esi, esi
je 0x1000a45a
mov ecx, 0x9f
cmp esi, 3
jne 0x1000a45f
mov ecx, 0x5f
mov eax, dword [ebx + 0x18]
mov edi, dword [sym.imp.USER32.dll_DeferWindowPos]
push ecx
push 0
push 0
push 0
push 0
push 0
push dword [eax + 0x50]
push edx
call edi
cmp dword [ebp + 8], 1
mov esi, 0x9f
mov ecx, 0x5f
mov eax, esi
cmove eax, ecx
push eax
mov eax, dword [ebx + 0x24]
push 0
push 0
push 0
push 0
push 0
push dword [eax + 0x1c]
push dword [ebp + 0xc]
call edi
cmp dword [ebp + 8], 2
mov ecx, 0x5f
mov eax, esi
cmovne eax, ecx
push eax
mov eax, dword [ebx + 0x20]
push 0
push 0
push 0
push 0
push 0
push dword [eax + 8]
push dword [ebp + 0xc]
call edi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x40]
neg eax
sbb eax, eax
and eax, 0x40
add eax, 0x5f
push eax
mov eax, dword [ebx + 0x14]
push 0
push 0
push 0
push 0
push 0
push dword [eax + 0x50]
push dword [ebp + 0xc]
call edi
cmp dword [ebp + 8], 3
mov ecx, 0x5f
mov eax, esi
cmove eax, ecx
push eax
mov eax, dword [ebx + 0x30]
push 0
push 0
push 0
push 0
push 0
push dword [eax + 0x50]
push dword [ebp + 0xc]
call edi
cmp dword [ebp + 8], 2
mov eax, 0x5f
cmove esi, eax
mov eax, dword [ebx + 0xc]
push esi
push 0
push 0
push 0
push 0
push 0
push dword [eax + 0x24]
push dword [ebp + 0xc]
call edi
mov eax, dword [ebx + 0x28]
push esi
mov esi, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push 0
push dword [eax + 4]
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
mov esi, dword [ebp + 8]
cmp esi, 1
jne 0x1000a56c
mov ecx, dword [ebx + 0x24]
call fcn.10022080
mov ecx, dword [ebx + 0x20]
push esi
call fcn.10021390
jmp 0x1000a586
mov ecx, dword [ebx + 0x20]
xor eax, eax
cmp esi, 1
sete al
push eax
call fcn.10021390
cmp esi, 3
je 0x1000a62d
mov edi, dword [ebx + 0x2c]
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [edi + 0x18]
test eax, eax
je 0x1000a62d
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x1000a5c6
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [edi + 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [edi + 0x18]
mov dword [edi + 0x20], 0
test eax, eax
je 0x1000a5d4
push eax
call dword [sym.imp.SHELL32.dll_ILFree]
mov dword [edi + 0x18], 0
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_EnableWindow]
cmp esi, 2
je 0x1000a624
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x1000
call esi
test eax, eax
jne 0x1000a624
push 0x2001
call esi
test eax, eax
jne 0x1000a624
push eax
push eax
push edi
push 0x1004bb70
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
mov ecx, ebx
mov dword [edi + 0x20], eax
call fcn.100090d0
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
push 0
mov ecx, edi
call fcn.1004bba0
push 0
mov ecx, ebx
call fcn.100090d0
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8