Function at 0x4292ac
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd18
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x2e4], ebx
mov dword [ebp - 0x2dc], ebx
mov dword [ebp - 0x2e0], ebx
mov dword [ebp - 0x2d8], ebx
mov dword [ebp - 0x2d4], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov byte [ebp - 5], cl
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.00405478
xor eax, eax
push ebp
push 0x429ea3
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00426ba8
call fcn.004257d8
mov esi, eax
lea eax, [ebp - 0x2d4]
call fcn.0042c480
cmp dword [ebp - 0x2d4], 0
jne 0x42932c
mov edi, 1
jmp 0x429e3b
xor eax, eax
push ebp
push 0x429350
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x48
call fcn.00402680
mov edi, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x429369
mov edx, edi
mov eax, ebx
mov ecx, 0x48
call fcn.00402808
mov ebx, edi
call fcn.00426ba8
call fcn.00425b60
mov edi, eax
test edi, edi
je 0x429418
lea eax, [ebp - 0xc]
call fcn.0042c480
lea eax, [ebp - 0x180]
push eax
mov eax, dword [ebx + 4]
push eax
mov eax, dword [ebx]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x38]
call fcn.00426ba8
call fcn.0042611c
push eax
lea eax, [ebp - 0x180]
push eax
push ebx
call edi
test al, al
jne 0x4293e9
test esi, esi
jne 0x4293d3
mov eax, 0x80040902
call fcn.0042c66c
mov edx, 0x48
mov eax, ebx
call fcn.004026a0
mov edi, 0x80004004
jmp 0x429e3b
call fcn.00426ba8
lea edx, [ebp - 0x2d8]
call fcn.00425808
cmp dword [ebp - 0x2d8], 0
jne 0x429418
mov edx, 0x48
mov eax, ebx
call fcn.004026a0
mov edi, 1
jmp 0x429e3b
call fcn.00426ba8
mov edx, ebx
call fcn.00426280
mov dl, 1
mov al, 1
call fcn.0042a868
call fcn.00426ba8
mov dl, 1
call fcn.004264e8
test byte [ebx + 0xc], 4
setne byte [0x46f67c]
cmp dword [ebp - 4], 0
jne 0x429455
test esi, esi
jne 0x429455
mov eax, ebx
call fcn.0042a0e4
mov byte [ebp - 0x21], 0
cmp dword [ebx + 0x10], 0
jne 0x429469
cmp dword [ebx + 0x14], 0
jne 0x429469
mov byte [ebp - 0x21], 1
cmp dword [ebx + 0x30], 0
je 0x42950d
test esi, esi
je 0x4294af
cmp dword [esi + 0x30], 0
jne 0x4294af
call fcn.00426ba8
mov edx, dword [esi + 0x10]
call fcn.00426a70
call fcn.00426ba8
mov edx, dword [esi + 0x14]
call fcn.00426a58
call fcn.00426ba8
call fcn.00426190
push eax
push 0xfffffffffffffff0
call fcn.0042c4f8
push eax
call sub.user32.dll_SetWindowLongA
call fcn.0042c4ec
mov edi, eax
call fcn.0042c4f8
cmp edi, eax
je 0x4294cc
push 0
call fcn.0042c4ec
push eax
call sub.user32.dll_ShowWindow
call fcn.0042c4ec
mov edi, eax
call fcn.0042c4f8
cmp edi, eax
jne 0x42965f
call fcn.00426ba8
call fcn.00425b30
test eax, eax
je 0x42965f
call fcn.00426ba8
call fcn.00425b30
push eax
call fcn.0042c4f8
push eax
call sub.user32.dll_SetMenu
jmp 0x42965f
test esi, esi
je 0x429523
test esi, esi
je 0x4295b2
cmp dword [esi + 0x30], 0
je 0x4295b2
call fcn.00426ba8
call fcn.0042617c
mov edi, eax
mov edx, 0x2c
mov eax, edi
call fcn.00406128
mov dword [edi], 0x2c
push edi
call fcn.0042c4f8
push eax
call sub.user32.dll_GetWindowPlacement
push 0xffffffffffffffec
call fcn.0042c4f8
push eax
call sub.user32.dll_GetWindowLongA
test al, 8
setne byte [ebp - 0x4e]
call fcn.00426ba8
mov dl, byte [ebp - 0x4e]
call fcn.00426b60
push 0xfffffffffffffff0
call fcn.0042c4f8
push eax
call sub.user32.dll_GetWindowLongA
mov edi, eax
and edi, 0xfeffffff
and edi, 0xdfffffff
call fcn.00426ba8
mov edx, edi
call fcn.00426b48
test esi, esi
je 0x4295b2
call fcn.00426ba8
mov edx, dword [esi + 0x10]
call fcn.00426b30
call fcn.00426ba8
mov edx, dword [esi + 0x14]
call fcn.00426b18
push 0
call fcn.0042c4ec
push eax
call sub.user32.dll_ShowWindow
push 0x80080000
push 0xfffffffffffffff0
call fcn.0042c4ec
push eax
call sub.user32.dll_SetWindowLongA
call fcn.0042c4ec
mov edi, eax
call fcn.0042c4f8
cmp edi, eax
jne 0x429607
call fcn.0042c4ec
push eax
call sub.user32.dll_GetMenu
mov edi, eax
call fcn.00426ba8
mov edx, edi
call fcn.004265b4
push 0
call fcn.0042c4ec
push eax
call sub.user32.dll_SetMenu
lea eax, [ebp - 0x1f8]
mov edx, 0x2c
call fcn.00406128
mov dword [ebp - 0x1f8], 0x2c
lea eax, [ebp - 0x1f8]
push eax
call fcn.0042c4ec
push eax
call sub.user32.dll_GetWindowPlacement
test byte [ebp - 0x1f4], 2
je 0x42965f
and dword [ebp - 0x1f4], 0xfffffffd
mov dword [ebp - 0x1f0], 9
lea eax, [ebp - 0x1f8]
push eax
call fcn.0042c4ec
push eax
call sub.user32.dll_SetWindowPlacement
cmp byte [ebp - 5], 0
jne 0x429778
cmp dword [ebp - 4], 0
je 0x429689
lea eax, [ebp - 0x2dc]
call fcn.0042c494
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 4]
jne 0x429778
lea eax, [ebp - 0x2e0]
call fcn.0042c494
cmp dword [ebp - 0x2e0], 0
je 0x429778
test esi, esi
je 0x429778
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x429778
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 4]
jne 0x429778
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0xc]
jne 0x429778
call fcn.0042a5c0
mov edi, eax
mov eax, edi
call fcn.00406140
test eax, eax
je 0x4297cc
cmp edi, 0x88760868
jne 0x4296fa
call fcn.00426ba8
mov dl, 1
call fcn.00426360
jmp 0x4297cc
cmp edi, 0x80040908
je 0x42970a
cmp edi, 0x80040903
jne 0x429729
mov edx, 0x48
mov eax, esi
call fcn.004026a0
mov eax, edi
call fcn.0042c66c
xor eax, eax
call fcn.0042c0e4
jmp 0x429e3b
call fcn.00426ba8
mov edx, esi
call fcn.00426280
mov al, byte [ebp + 8]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004292ac
call fcn.00406140
test eax, eax
je 0x42975c
xor eax, eax
call fcn.0042c0e4
mov edi, 0x80040905
jmp 0x429767
xor edx, edx
xor eax, eax
call fcn.0042a868
xor edi, edi
mov edx, 0x48
mov eax, ebx
call fcn.004026a0
jmp 0x429e3b
test esi, esi
je 0x429783
xor eax, eax
call fcn.0042c15c
mov eax, dword [ebp - 4]
call fcn.0042a1e0
mov edi, eax
mov eax, edi
call fcn.00406140
test eax, eax
je 0x4297cc
mov edx, 0x48
mov eax, esi
call fcn.004026a0
mov al, 1
call fcn.0042c15c
mov eax, edi
call fcn.0042c66c
xor edx, edx
xor eax, eax
call fcn.0042a868
call fcn.00426ba8
xor edx, edx
call fcn.004264e8
jmp 0x429e3b
cmp dword [ebx + 0x30], 0
je 0x4297e3
call fcn.00426ba8
call fcn.00425f38
call fcn.00429f44
jmp 0x4297f2
call fcn.00426ba8
call fcn.00425f20
call fcn.00429f44
lea eax, [ebp - 0xc]
call fcn.0042c480
mov eax, dword [ebx]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x3c]
mov edi, eax
call fcn.00426ba8
mov edx, edi
call fcn.00426220
call fcn.0042b3f8
test esi, esi
je 0x42986f
cmp dword [esi + 0x30], 0
jne 0x42986f
cmp dword [ebx + 0x30], 0
je 0x42986f
call fcn.00426ba8
call fcn.0042617c
mov edi, eax
push edi
call fcn.0042c4f8
push eax
call sub.user32.dll_SetWindowPlacement
call fcn.00426ba8
call fcn.004261a8
test al, al
je 0x429854
or edi, 0xffffffff
jmp 0x429859
mov edi, 0xfffffffe
push 0xb
push 0
push 0
push 0
push 0
push edi
call fcn.0042c4f8
push eax
call sub.user32.dll_SetWindowPos
mov byte [ebp - 0x29], 0
cmp dword [ebx + 0x30], 0
je 0x429a9e
cmp byte [ebp - 0x21], 0
jne 0x429a9e
call fcn.0042c4f8
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x42999c
lea eax, [ebp - 0x1cc]
mov edx, 0x2c
call fcn.00406128
mov dword [ebp - 0x1cc], 0x2c
lea eax, [ebp - 0x1cc]
push eax
call fcn.0042c4f8
push eax
call sub.user32.dll_GetWindowPlacement
test byte [ebp - 0x1c8], 2
je 0x429924
cmp dword [ebp - 0x1c4], 2
jne 0x429924
push 9
call fcn.0042c4f8
push eax
call sub.user32.dll_ShowWindow
lea eax, [ebp - 0x208]
push eax
call fcn.0042c4f8
push eax
call sub.user32.dll_GetClientRect
mov edi, dword [ebp - 0x200]
sub edi, dword [ebp - 0x208]
mov eax, dword [ebp - 0x1fc]
sub eax, dword [ebp - 0x204]
mov dword [ebp - 0x30], eax
push 6
call fcn.0042c4f8
push eax
call sub.user32.dll_ShowWindow
jmp 0x4299c9
push 0
lea eax, [ebp - 0x218]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00410cb4
call fcn.00426ba8
call fcn.00425b30
test eax, eax
setne al
neg al
sbb eax, eax
push eax
call fcn.00426ba8
call fcn.00426190
push eax
lea eax, [ebp - 0x218]
push eax
call sub.user32.dll_AdjustWindowRect
mov eax, dword [ebp - 0x210]
sub eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x20c]
sub edx, dword [ebp - 0x214]
mov edi, dword [ebp - 0x1a8]
sub edi, dword [ebp - 0x1b0]
sub edi, eax
mov eax, dword [ebp - 0x1a4]
sub eax, dword [ebp - 0x1ac]
sub eax, edx
mov dword [ebp - 0x30], eax
jmp 0x4299c9
lea eax, [ebp - 0x208]
push eax
call fcn.0042c4f8
push eax
call sub.user32.dll_GetClientRect
mov edi, dword [ebp - 0x200]
sub edi, dword [ebp - 0x208]
mov eax, dword [ebp - 0x1fc]
sub eax, dword [ebp - 0x204]
mov dword [ebp - 0x30], eax
cmp edi, dword [ebx + 0x10]
jne 0x4299d6
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebp - 0x30]
je 0x4299da
mov byte [ebp - 0x29], 1
cmp byte [ebp + 8], 0
je 0x429a9e
call fcn.0042c4f8
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x429a9e
mov dword [ebp - 0x240], 0x28
mov eax, dword [ebx]
push eax
lea eax, [ebp - 0x2e4]
call fcn.0042c480
mov eax, dword [ebp - 0x2e4]
push eax
mov eax, dword [eax]
call dword [eax + 0x3c]
mov edi, eax
lea edx, [ebp - 0x240]
mov eax, edi
call fcn.00418930
call fcn.0042c4c0
mov edx, 1
call fcn.00418a4c
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x278]
push eax
call fcn.0042c4f8
push eax
call sub.user32.dll_GetWindowRect
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x22c]
jl 0x429a86
mov eax, dword [ebp - 0x270]
cmp eax, dword [ebp - 0x224]
jg 0x429a86
mov eax, dword [ebp - 0x274]
cmp eax, dword [ebp - 0x228]
jl 0x429a86
mov eax, dword [ebp - 0x26c]
cmp eax, dword [ebp - 0x220]
jle 0x429a9e
cmp edi, dword [ebp - 0x3c]
jne 0x429a9a
call fcn.0042c4f8
push eax
call sub.user32.dll_IsZoomed
test eax, eax
jne 0x429a9e
mov byte [ebp - 0x29], 1
cmp byte [ebp - 0x29], 0
je 0x429dd1
call fcn.0042c4f8
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x429ac4
push 9
call fcn.0042c4f8
push eax
call sub.user32.dll_ShowWindow
call fcn.0042c4f8
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x429ae0
push 9
call fcn.0042c4f8
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp + 8], 0
je 0x429cab
mov dword [ebp - 0x240], 0x28
mov eax, dword [ebx]
push eax
lea eax, [ebp - 0x2e8]
call fcn.0042c480
mov eax, dword [ebp - 0x2e8]
push eax
mov eax, dword [eax]
call dword [eax + 0x3c]
lea edx, [ebp - 0x240]
call fcn.00418930
mov dword [ebp - 0x268], 0x28
call fcn.0042c4c0
mov edx, 1
call fcn.00418a4c
lea edx, [ebp - 0x268]
call fcn.00418930
mov eax, dword [ebp - 0x224]
sub eax, dword [ebp - 0x22c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x220]
sub eax, dword [ebp - 0x228]
mov dword [ebp - 0x44], eax
mov edi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x278]
push eax
call fcn.0042c4f8
push eax
call sub.user32.dll_GetWindowRect
xor eax, eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x280], edi
xor eax, eax
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x27c], eax
call fcn.00426ba8
call fcn.00425b30
test eax, eax
setne al
neg al
sbb eax, eax
push eax
push 0xfffffffffffffff0
call fcn.0042c4f8
push eax
call sub.user32.dll_GetWindowLongA
push eax
lea eax, [ebp - 0x288]
push eax
call sub.user32.dll_AdjustWindowRect
mov edi, dword [ebp - 0x280]
sub edi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x48], eax
cmp edi, dword [ebp - 0x40]
jle 0x429be9
mov edi, dword [ebp - 0x40]
sub edi, 0
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x44]
jle 0x429bfa
mov eax, dword [ebp - 0x44]
sub eax, 0
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x22c]
cmp eax, dword [ebp - 0x288]
jg 0x429c32
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp - 0x228]
jl 0x429c32
mov eax, dword [ebp - 0x280]
cmp eax, dword [ebp - 0x224]
jg 0x429c32
mov eax, dword [ebp - 0x27c]
cmp eax, dword [ebp - 0x220]
jle 0x429c84
mov eax, dword [ebp - 0x40]
sub eax, edi
sar eax, 1
jns 0x429c3e
adc eax, 0
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x48]
sar edx, 1
jns 0x429c4b
adc edx, 0
mov ecx, dword [ebp - 0x22c]
add ecx, eax
mov dword [ebp - 0x288], ecx
mov ecx, dword [ebp - 0x228]
add ecx, edx
mov dword [ebp - 0x284], ecx
add eax, dword [ebp - 0x22c]
add eax, edi
mov dword [ebp - 0x280], eax
add edx, dword [ebp - 0x228]
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x27c], edx
push 4
mov eax, dword [ebp - 0x48]
push eax
push edi
mov eax, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x288]
push eax
push 0
call fcn.0042c4f8
push eax
call sub.user32.dll_SetWindowPos
jmp 0x429d32
push 0
lea eax, [ebp - 0x278]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00410cb4
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x270], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x26c], eax
call fcn.00426ba8
call fcn.00425b30
test eax, eax
setne al
neg al
sbb eax, eax
push eax
push 0xfffffffffffffff0
call fcn.0042c4f8
push eax
call sub.user32.dll_GetWindowLongA
push eax
lea eax, [ebp - 0x278]
push eax
call sub.user32.dll_AdjustWindowRect
mov edi, dword [ebp - 0x270]
sub edi, dword [ebp - 0x278]
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x274]
mov dword [ebp - 0x4c], eax
push 6
mov eax, dword [ebp - 0x4c]
push eax
push edi
push 0
push 0
push 0
call fcn.0042c4f8
push eax
call sub.user32.dll_SetWindowPos
lea eax, [ebp - 0x208]
push eax
call fcn.0042c4f8
push eax
call sub.user32.dll_GetClientRect
mov edi, dword [ebp - 0x200]
sub edi, dword [ebp - 0x208]
mov eax, dword [ebp - 0x1fc]
sub eax, dword [ebp - 0x204]
mov dword [ebp - 0x30], eax
cmp edi, dword [ebx + 0x10]
jne 0x429d6c
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebp - 0x30]
je 0x429dd1
lea eax, [ebp - 0x2d0]
call fcn.0042c628
xor eax, eax
mov dword [ebp - 0x2c0], eax
xor eax, eax
mov dword [ebp - 0x2bc], eax
mov al, byte [ebp + 8]
push eax
lea eax, [ebp - 0x2d0]
xor ecx, ecx
xor edx, edx
call fcn.004292ac
mov edi, eax
mov eax, edi
call fcn.00406140
test eax, eax
je 0x429dd1
mov edx, 0x48
mov eax, esi
call fcn.004026a0
mov al, 1
call fcn.0042c15c
xor edx, edx
xor eax, eax
call fcn.0042a868
call fcn.00426ba8
xor edx, edx
call fcn.004264e8
jmp 0x429e3b
call fcn.0042c4c0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x429ded
push 5
call fcn.0042c4c0
push eax
call sub.user32.dll_ShowWindow
call fcn.0042c60c
test al, al
jne 0x429e02
push 0x80000002
call sub.kernel32.dll_SetThreadExecutionState
jmp 0x429e0c
push 0x80000000
call sub.kernel32.dll_SetThreadExecutionState
mov edx, 0x48
mov eax, esi
call fcn.004026a0
call fcn.00426ba8
xor edx, edx
call fcn.004264e8
xor edx, edx
xor eax, eax
call fcn.0042a868
call fcn.00426ba8
mov dl, 1
call fcn.00426318
xor edi, edi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x429eaa
lea eax, [ebp - 0x2e8]
mov edx, dword [0x40cc94]
mov ecx, 2
call fcn.0040484c
lea eax, [ebp - 0x2e0]
mov edx, dword [0x40ccc8]
mov ecx, 2
call fcn.0040484c
lea eax, [ebp - 0x2d8]
mov edx, dword [0x40cc94]
mov ecx, 2
call fcn.0040484c
lea eax, [ebp - 0x10]
call fcn.00405434
lea eax, [ebp - 0xc]
call fcn.00405434
lea eax, [ebp - 4]
call fcn.00405434
ret