Function at 0x10019210
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10080c65
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x100a6250]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x100a95a8]
test eax, eax
jne 0x100192ea
push 0x38
call fcn.1001a729
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x1001927a
push 0x38
push 0
push esi
call fcn.100456c0
add esp, 0xc
mov ecx, esi
call fcn.10011d10
mov esi, eax
jmp 0x1001927c
xor esi, esi
push dword [ebp - 0x24]
lea eax, [esi + 0x20]
mov dword [ebp - 4], 0xffffffff
push eax
push 0x100a61c0
push 0x100a6048
push 0x100a9e38
mov dword [0x100a95a8], esi
call fcn.1000a2a0
movzx ebx, ax
add esp, 0x14
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x100193cd
call fcn.1001ead7
mov dword [esi + 0x14], eax
test eax, eax
jne 0x100193cd
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [0x100a95a8]
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x100a95a8]
test eax, eax
je 0x100195dd
push dword [eax + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x100195dd
push 0x90
call fcn.1001a729
mov ebx, eax
add esp, 4
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], 1
test ebx, ebx
je 0x10019461
push 0x90
push 0
push ebx
call fcn.100456c0
add esp, 0xc
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [ebx + 8], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], eax
lea edi, [ebx + 0x2c]
mov dword [ebx], vtable.WindowContainer.0
mov dword [ebp - 0x28], edi
lea esi, [edi + 4]
mov dword [ebx + 4], vtable.WindowContainer.1.0
mov ecx, esi
push 0
mov dword [edi], 0
mov dword [ebp - 0x2c], esi
push 0
mov byte [ebp - 4], 3
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.1001a280
mov dword [esi], eax
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
push 8
mov ecx, edi
mov byte [ebp - 4], 5
mov dword [edi], 0x3f800000
call fcn.1001a450
lea ecx, [ebx + 0x54]
mov byte [ebp - 4], 6
mov dword [ebx + 0x50], 0
call fcn.100182e0
jmp 0x10019463
push 0
push 0
push eax
call fcn.1001ebd9
test bx, bx
je 0x100192cd
lea edi, [esi + 8]
test edi, edi
je 0x10019652
test esi, esi
je 0x10019652
mov dword [edi], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x100a604c
mov dword [edi + 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x100a6064]
mov dword [edi + 8], eax
push 0x100a604c
mov dword [0x100a6064], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x100a6090]
mov eax, dword [0x100a6098]
mov edx, dword [0x100a608c]
sub eax, ecx
push 0
push dword [0x100a9e3c]
push 0
push 0
push eax
mov eax, dword [0x100a6094]
sub eax, edx
push eax
push ecx
push edx
push 0x80880000
push 0
push ebx
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
jmp 0x100192cd
xor ebx, ebx
lea eax, [ebx + 0x50]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10019830
add esp, 4
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100195dd
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call edi
push 1
mov esi, eax
call edi
cmp dword [ebp + 8], 0
mov ecx, eax
je 0x100194a5
push 0x4e
call edi
push 0x4f
mov esi, eax
call edi
mov ecx, eax
mov edi, esi
and edi, 0x80000003
jns 0x100194b6
dec edi
or edi, 0xfffffffc
add edi, 1
mov edx, 4
je 0x100194c3
mov eax, edx
sub eax, edi
add esi, eax
mov eax, ecx
and eax, 0x80000003
jns 0x100194d3
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x100194d9
sub edx, eax
add ecx, edx
push dword [ebp - 0x2c]
mov dword [ebp - 0x18], esi
lea esi, [ebx + 4]
lea eax, [esi + 0x20]
mov dword [ebp - 0x20], 0
push eax
push 0x100a6130
push 0x100a6048
push 0x100a9e38
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], ecx
call fcn.1000a2a0
movzx edi, ax
add esp, 0x14
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x24], edi
test eax, eax
jne 0x10019534
call fcn.1001ead7
mov dword [esi + 0x14], eax
test eax, eax
jne 0x10019534
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x100195bb
push 0
push 0
push eax
call fcn.1001ebd9
test di, di
je 0x100195bb
lea edi, [esi + 8]
test edi, edi
je 0x10019652
test esi, esi
je 0x10019652
mov dword [edi], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x100a604c
mov dword [edi + 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x100a6064]
mov dword [edi + 8], eax
push 0x100a604c
mov dword [0x100a6064], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
sub eax, edx
mov ecx, dword [ebp - 0x20]
push 0
push dword [0x100a9e3c]
push esi
push dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x18]
sub eax, ecx
push eax
mov eax, dword [ebp - 0x24]
push edx
push ecx
push 0x46000000
push 0
movzx eax, ax
push eax
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea eax, [ebp - 0x20]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsWindow]
push 1
test eax, eax
jne 0x100195fb
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001a767
mov esp, ebp
pop ebp
ret
push dword [ebx + 8]
mov ecx, dword [0x100a95a8]
call fcn.10012a30
cmp dword [ebx + 0x50], 0
mov esi, dword [sym.imp.USER32.dll_SetTimer]
je 0x10019623
push 0
push 0x2710
push 2
push dword [ebx + 8]
call esi
mov ecx, dword [0x100a95a8]
push ebx
call fcn.10011f90
cmp dword [ebp + 8], 0
push 0
push 0x3e8
push 1
push dword [ebx + 8]
setne al
mov byte [ebx + 0x4c], al
call esi
mov ecx, ebx
call fcn.10019e60
mov eax, ebx
jmp 0x100195df
push 1
push 0xc0000005
call fcn.100072f0
int3