Function at 0x10012990
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x1005d014]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [0x100932d0], edi
cmp dword [edi], 0
jne 0x100129c2
mov eax, dword [0x100914f8]
mov ecx, 0x100914f8
call dword [eax + 0x1c]
mov dword [edi], eax
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x44584c
mov dword [edi + 4], eax
call esi
push 0x37463e
mov dword [edi + 0xc8], eax
call esi
push 0xff
mov dword [edi + 0xcc], eax
call esi
push 0x64
mov dword [edi + 0xd0], eax
lea eax, [ebp - 0x74]
push eax
push 0x6f
push dword [edi]
call dword [sym.imp.USER32.dll_LoadStringA]
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
push 0x75
push dword [edi]
call esi
push 0x76
push dword [edi]
mov dword [edi + 0xd4], eax
call esi
mov dword [edi + 0xd8], eax
mov eax, dword [edi]
push 0x65
push eax
mov dword [ebp - 0xa4], 0x30
mov dword [ebp - 0xa0], 3
mov dword [ebp - 0x9c], 0x10012760
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0x1e
mov dword [ebp - 0x90], eax
call esi
push 0x7f00
push 0
mov dword [ebp - 0x8c], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x84], eax
mov eax, dword [edi + 0xd4]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0xa4]
push eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], str.CSDevClientApp
call dword [sym.imp.USER32.dll_RegisterClassExA]
cmp dword [edi + 0xdc], 0
jne 0x10012c16
push 0
push 0
push 0
push 0x67
push dword [edi]
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov esi, eax
test esi, esi
je 0x10012c16
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
test ecx, 0x400000
je 0x10012aec
add dword [edi + 0xa8], 2
and ecx, 0xc00000
je 0x10012afa
inc dword [edi + 0xa8]
mov eax, dword [edi + 0xa8]
mov dword [edi + 0xa4], eax
cmp ecx, 0xc00000
jne 0x10012b1c
push 4
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add dword [edi + 0xa4], eax
push esi
call dword [sym.imp.USER32.dll_GetWindowDC]
cmp dword [edi + 0xc], 0
jne 0x10012b33
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [edi + 0xc], eax
push 0x73
push dword [edi]
lea ebx, [edi + 0x3c]
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov dword [ebx + 0x10], eax
test eax, eax
je 0x10012b81
lea ecx, [ebx + 0x14]
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
je 0x10012b81
mov eax, dword [ebx + 0x1c]
add eax, 4
push eax
mov eax, 0x55555556
imul dword [ebx + 0x18]
push 0x18
mov ecx, edx
mov eax, 0x18
shr ecx, 0x1f
add ecx, edx
push 4
sub eax, ecx
push eax
push ebx
call dword [sym.imp.USER32.dll_SetRect]
push 0x72
push dword [edi]
lea ebx, [edi + 0x68]
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov dword [ebx + 0x10], eax
test eax, eax
je 0x10012bcf
lea ecx, [ebx + 0x14]
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
je 0x10012bcf
mov ecx, dword [ebx + 0x1c]
mov eax, 0x55555556
imul dword [ebx + 0x18]
add ecx, 4
mov eax, 0x2f
push ecx
mov ecx, edx
push 0x2f
shr ecx, 0x1f
add ecx, edx
push 4
sub eax, ecx
push eax
push ebx
call dword [sym.imp.USER32.dll_SetRect]
push 0x74
push dword [edi]
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov dword [edi + 0x20], eax
test eax, eax
je 0x10012bed
lea ecx, [edi + 0x24]
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, edi
call fcn.10012c30
push 0
push 0
push 1
push dword [edi + 0xdc]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002bc85
mov esp, ebp
pop ebp
ret 4