Function at 0x4727f0
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.00406540
xor eax, eax
push ebp
push 0x4733ea
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0046feac
call fcn.0046eb38
mov esi, eax
lea eax, [ebp - 0x2d4]
call fcn.00475a24
cmp dword [ebp - 0x2d4], 0
jne 0x472870
mov edi, 1
jmp 0x473382
xor eax, eax
push ebp
push 0x472894
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x48
call fcn.00402cb8
mov edi, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4728ad
mov edx, edi
mov eax, ebx
mov ecx, 0x48
call fcn.00402ea8
mov ebx, edi
call fcn.0046feac
call fcn.0046ee7c
mov edi, eax
test edi, edi
je 0x47295c
lea eax, [ebp - 0xc]
call fcn.00475a24
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.0046feac
call fcn.0046f438
push eax
lea eax, [ebp - 0x180]
push eax
push ebx
call edi
test al, al
jne 0x47292d
test esi, esi
jne 0x472917
mov eax, 0x80040902
call fcn.00475c04
mov edx, 0x48
mov eax, ebx
call fcn.00402cd4
mov edi, 0x80004004
jmp 0x473382
call fcn.0046feac
lea edx, [ebp - 0x2d8]
call fcn.0046eb68
cmp dword [ebp - 0x2d8], 0
jne 0x47295c
mov edx, 0x48
mov eax, ebx
call fcn.00402cd4
mov edi, 1
jmp 0x473382
call fcn.0046feac
mov edx, ebx
call fcn.0046f59c
mov dl, 1
mov al, 1
call fcn.00473da8
call fcn.0046feac
mov dl, 1
call fcn.0046f804
test byte [ebx + 0xc], 4
setne byte [0x4ec8c4]
cmp dword [ebp - 4], 0
jne 0x472999
test esi, esi
jne 0x472999
mov eax, ebx
call fcn.00473628
mov byte [ebp - 0x21], 0
cmp dword [ebx + 0x10], 0
jne 0x4729ad
cmp dword [ebx + 0x14], 0
jne 0x4729ad
mov byte [ebp - 0x21], 1
cmp dword [ebx + 0x30], 0
je 0x472a51
test esi, esi
je 0x4729f3
cmp dword [esi + 0x30], 0
jne 0x4729f3
call fcn.0046feac
mov edx, dword [esi + 0x10]
call fcn.0046fd74
call fcn.0046feac
mov edx, dword [esi + 0x14]
call fcn.0046fd5c
call fcn.0046feac
call fcn.0046f4ac
push eax
push 0xfffffffffffffff0
call fcn.00475a9c
push eax
call sub.user32.dll_SetWindowLongA
call fcn.00475a90
mov edi, eax
call fcn.00475a9c
cmp edi, eax
je 0x472a10
push 0
call fcn.00475a90
push eax
call sub.user32.dll_ShowWindow
call fcn.00475a90
mov edi, eax
call fcn.00475a9c
cmp edi, eax
jne 0x472ba3
call fcn.0046feac
call fcn.0046ee4c
test eax, eax
je 0x472ba3
call fcn.0046feac
call fcn.0046ee4c
push eax
call fcn.00475a9c
push eax
call sub.user32.dll_SetMenu
jmp 0x472ba3
test esi, esi
je 0x472a67
test esi, esi
je 0x472af6
cmp dword [esi + 0x30], 0
je 0x472af6
call fcn.0046feac
call fcn.0046f498
mov edi, eax
mov edx, 0x2c
mov eax, edi
call fcn.004078a8
mov dword [edi], 0x2c
push edi
call fcn.00475a9c
push eax
call sub.user32.dll_GetWindowPlacement
push 0xffffffffffffffec
call fcn.00475a9c
push eax
call sub.user32.dll_GetWindowLongA
test al, 8
setne byte [ebp - 0x4e]
call fcn.0046feac
mov dl, byte [ebp - 0x4e]
call fcn.0046fe64
push 0xfffffffffffffff0
call fcn.00475a9c
push eax
call sub.user32.dll_GetWindowLongA
mov edi, eax
and edi, 0xfeffffff
and edi, 0xdfffffff
call fcn.0046feac
mov edx, edi
call fcn.0046fe4c
test esi, esi
je 0x472af6
call fcn.0046feac
mov edx, dword [esi + 0x10]
call fcn.0046fe34
call fcn.0046feac
mov edx, dword [esi + 0x14]
call fcn.0046fe1c
push 0
call fcn.00475a90
push eax
call sub.user32.dll_ShowWindow
push 0x80080000
push 0xfffffffffffffff0
call fcn.00475a90
push eax
call sub.user32.dll_SetWindowLongA
call fcn.00475a90
mov edi, eax
call fcn.00475a9c
cmp edi, eax
jne 0x472b4b
call fcn.00475a90
push eax
call sub.user32.dll_GetMenu
mov edi, eax
call fcn.0046feac
mov edx, edi
call fcn.0046f8b8
push 0
call fcn.00475a90
push eax
call sub.user32.dll_SetMenu
lea eax, [ebp - 0x1f8]
mov edx, 0x2c
call fcn.004078a8
mov dword [ebp - 0x1f8], 0x2c
lea eax, [ebp - 0x1f8]
push eax
call fcn.00475a90
push eax
call sub.user32.dll_GetWindowPlacement
test byte [ebp - 0x1f4], 2
je 0x472ba3
and dword [ebp - 0x1f4], 0xfffffffd
mov dword [ebp - 0x1f0], 9
lea eax, [ebp - 0x1f8]
push eax
call fcn.00475a90
push eax
call sub.user32.dll_SetWindowPlacement
cmp byte [ebp - 5], 0
jne 0x472cbc
cmp dword [ebp - 4], 0
je 0x472bcd
lea eax, [ebp - 0x2dc]
call fcn.00475a38
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 4]
jne 0x472cbc
lea eax, [ebp - 0x2e0]
call fcn.00475a38
cmp dword [ebp - 0x2e0], 0
je 0x472cbc
test esi, esi
je 0x472cbc
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x472cbc
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 4]
jne 0x472cbc
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0xc]
jne 0x472cbc
call fcn.00473b04
mov edi, eax
mov eax, edi
call fcn.00407904
test eax, eax
je 0x472d10
cmp edi, 0x88760868
jne 0x472c3e
call fcn.0046feac
mov dl, 1
call fcn.0046f67c
jmp 0x472d10
cmp edi, 0x80040908
je 0x472c4e
cmp edi, 0x80040903
jne 0x472c6d
mov edx, 0x48
mov eax, esi
call fcn.00402cd4
mov eax, edi
call fcn.00475c04
xor eax, eax
call fcn.00475694
jmp 0x473382
call fcn.0046feac
mov edx, esi
call fcn.0046f59c
mov al, byte [ebp + 8]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004727f0
call fcn.00407904
test eax, eax
je 0x472ca0
xor eax, eax
call fcn.00475694
mov edi, 0x80040905
jmp 0x472cab
xor edx, edx
xor eax, eax
call fcn.00473da8
xor edi, edi
mov edx, 0x48
mov eax, ebx
call fcn.00402cd4
jmp 0x473382
test esi, esi
je 0x472cc7
xor eax, eax
call fcn.0047570c
mov eax, dword [ebp - 4]
call fcn.00473724
mov edi, eax
mov eax, edi
call fcn.00407904
test eax, eax
je 0x472d10
mov edx, 0x48
mov eax, esi
call fcn.00402cd4
mov al, 1
call fcn.0047570c
mov eax, edi
call fcn.00475c04
xor edx, edx
xor eax, eax
call fcn.00473da8
call fcn.0046feac
xor edx, edx
call fcn.0046f804
jmp 0x473382
cmp dword [ebx + 0x30], 0
je 0x472d27
call fcn.0046feac
call fcn.0046f254
call fcn.00473488
jmp 0x472d36
call fcn.0046feac
call fcn.0046f23c
call fcn.00473488
lea eax, [ebp - 0xc]
call fcn.00475a24
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.0046feac
mov edx, edi
call fcn.0046f53c
call fcn.00474710
test esi, esi
je 0x472db3
cmp dword [esi + 0x30], 0
jne 0x472db3
cmp dword [ebx + 0x30], 0
je 0x472db3
call fcn.0046feac
call fcn.0046f498
mov edi, eax
push edi
call fcn.00475a9c
push eax
call sub.user32.dll_SetWindowPlacement
call fcn.0046feac
call fcn.0046f4c4
test al, al
je 0x472d98
or edi, 0xffffffff
jmp 0x472d9d
mov edi, 0xfffffffe
push 0xb
push 0
push 0
push 0
push 0
push edi
call fcn.00475a9c
push eax
call sub.user32.dll_SetWindowPos
mov byte [ebp - 0x29], 0
cmp dword [ebx + 0x30], 0
je 0x472fe2
cmp byte [ebp - 0x21], 0
jne 0x472fe2
call fcn.00475a9c
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x472ee0
lea eax, [ebp - 0x1cc]
mov edx, 0x2c
call fcn.004078a8
mov dword [ebp - 0x1cc], 0x2c
lea eax, [ebp - 0x1cc]
push eax
call fcn.00475a9c
push eax
call sub.user32.dll_GetWindowPlacement
test byte [ebp - 0x1c8], 2
je 0x472e68
cmp dword [ebp - 0x1c4], 2
jne 0x472e68
push 9
call fcn.00475a9c
push eax
call sub.user32.dll_ShowWindow
lea eax, [ebp - 0x208]
push eax
call fcn.00475a9c
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.00475a9c
push eax
call sub.user32.dll_ShowWindow
jmp 0x472f0d
push 0
lea eax, [ebp - 0x218]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00419f70
call fcn.0046feac
call fcn.0046ee4c
test eax, eax
setne al
neg al
sbb eax, eax
push eax
call fcn.0046feac
call fcn.0046f4ac
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 0x472f0d
lea eax, [ebp - 0x208]
push eax
call fcn.00475a9c
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 0x472f1a
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebp - 0x30]
je 0x472f1e
mov byte [ebp - 0x29], 1
cmp byte [ebp + 8], 0
je 0x472fe2
call fcn.00475a9c
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x472fe2
mov dword [ebp - 0x240], 0x28
mov eax, dword [ebx]
push eax
lea eax, [ebp - 0x2e4]
call fcn.00475a24
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.0045f9fc
call fcn.00475a64
mov edx, 1
call fcn.0045fb18
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x278]
push eax
call fcn.00475a9c
push eax
call sub.user32.dll_GetWindowRect
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x22c]
jl 0x472fca
mov eax, dword [ebp - 0x270]
cmp eax, dword [ebp - 0x224]
jg 0x472fca
mov eax, dword [ebp - 0x274]
cmp eax, dword [ebp - 0x228]
jl 0x472fca
mov eax, dword [ebp - 0x26c]
cmp eax, dword [ebp - 0x220]
jle 0x472fe2
cmp edi, dword [ebp - 0x3c]
jne 0x472fde
call fcn.00475a9c
push eax
call sub.user32.dll_IsZoomed
test eax, eax
jne 0x472fe2
mov byte [ebp - 0x29], 1
cmp byte [ebp - 0x29], 0
je 0x473318
call fcn.00475a9c
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x473008
push 9
call fcn.00475a9c
push eax
call sub.user32.dll_ShowWindow
call fcn.00475a9c
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x473024
push 9
call fcn.00475a9c
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp + 8], 0
je 0x4731f2
mov dword [ebp - 0x240], 0x28
mov eax, dword [ebx]
push eax
lea eax, [ebp - 0x2e8]
call fcn.00475a24
mov eax, dword [ebp - 0x2e8]
push eax
mov eax, dword [eax]
call dword [eax + 0x3c]
lea edx, [ebp - 0x240]
call fcn.0045f9fc
mov dword [ebp - 0x268], 0x28
call fcn.00475a64
mov edx, 1
call fcn.0045fb18
lea edx, [ebp - 0x268]
call fcn.0045f9fc
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.00475a9c
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.0046feac
call fcn.0046ee4c
test eax, eax
setne al
neg al
sbb eax, eax
push eax
push 0xfffffffffffffff0
call fcn.00475a9c
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 0x47312d
mov edi, dword [ebp - 0x40]
sub edi, 0
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x44]
jle 0x473147
call fcn.004727b8
test al, al
je 0x473147
mov eax, dword [ebp - 0x44]
sub eax, 0
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x22c]
cmp eax, dword [ebp - 0x288]
jg 0x47317f
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp - 0x228]
jl 0x47317f
mov eax, dword [ebp - 0x280]
cmp eax, dword [ebp - 0x224]
jg 0x47317f
mov eax, dword [ebp - 0x27c]
cmp eax, dword [ebp - 0x220]
jle 0x4731cb
mov eax, dword [ebp - 0x40]
sub eax, edi
sar eax, 1
jns 0x47318b
adc eax, 0
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x48]
sar edx, 1
jns 0x473198
adc edx, 0
mov ecx, dword [ebp - 0x22c]
add ecx, eax
mov dword [ebp - 0x288], ecx
xor ecx, ecx
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.00475a9c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x473279
push 0
lea eax, [ebp - 0x278]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00419f70
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x270], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x26c], eax
call fcn.0046feac
call fcn.0046ee4c
test eax, eax
setne al
neg al
sbb eax, eax
push eax
push 0xfffffffffffffff0
call fcn.00475a9c
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.00475a9c
push eax
call sub.user32.dll_SetWindowPos
lea eax, [ebp - 0x208]
push eax
call fcn.00475a9c
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 0x4732b3
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebp - 0x30]
je 0x473318
lea eax, [ebp - 0x2d0]
call fcn.00475bc0
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.004727f0
mov edi, eax
mov eax, edi
call fcn.00407904
test eax, eax
je 0x473318
mov edx, 0x48
mov eax, esi
call fcn.00402cd4
mov al, 1
call fcn.0047570c
xor edx, edx
xor eax, eax
call fcn.00473da8
call fcn.0046feac
xor edx, edx
call fcn.0046f804
jmp 0x473382
call fcn.00475a64
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x473334
push 5
call fcn.00475a64
push eax
call sub.user32.dll_ShowWindow
call fcn.00475ba4
test al, al
jne 0x473349
push 0x80000002
call sub.kernel32.dll_SetThreadExecutionState
jmp 0x473353
push 0x80000000
call sub.kernel32.dll_SetThreadExecutionState
mov edx, 0x48
mov eax, esi
call fcn.00402cd4
call fcn.0046feac
xor edx, edx
call fcn.0046f804
xor edx, edx
xor eax, eax
call fcn.00473da8
call fcn.0046feac
mov dl, 1
call fcn.0046f634
xor edi, edi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4733f1
lea eax, [ebp - 0x2e8]
mov edx, dword [0x45c938]
mov ecx, 2
call fcn.00405544
lea eax, [ebp - 0x2e0]
mov edx, dword [0x45c96c]
mov ecx, 2
call fcn.00405544
lea eax, [ebp - 0x2d8]
mov edx, dword [0x45c938]
mov ecx, 2
call fcn.00405544
lea eax, [ebp - 0x10]
call fcn.004064cc
lea eax, [ebp - 0xc]
call fcn.004064cc
lea eax, [ebp - 4]
call fcn.004064cc
ret