Function at 0x454fe0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c9ef5
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x514080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea ecx, [ebx + 0x78]
call fcn.004818e0
mov eax, dword [ebx + 0x90]
mov edx, ebx
neg edx
sbb edx, edx
mov ecx, dword [eax + 8]
lea eax, [ebx + 0x84]
and edx, eax
push edx
call fcn.0045c350
mov ecx, dword [ebx + 0x90]
mov ecx, dword [ecx + 8]
call fcn.0045c200
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
and ecx, 0xfffffbff
cmp eax, ecx
je 0x455065
push ecx
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
or ecx, 0x20000
cmp eax, ecx
je 0x45508f
push ecx
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x75
push 0xee
push 0x3f5
mov ecx, ebx
call fcn.004555f0
push 0x76
push 0xef
push 0x3f6
mov ecx, ebx
call fcn.004555f0
push 0x78
push 0xf0
push 0x3f7
mov ecx, ebx
call fcn.004555f0
mov eax, dword [ebx + 0x94]
test byte [eax + 0x30], 1
je 0x4550eb
push 0x3f7
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebx + 4]
mov esi, dword [ebx + 0x90]
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [esi + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x45510d
push eax
call fcn.0045c1e0
mov edx, 0x71
lea ecx, [ebp - 0x10]
call fcn.0040a5f0
mov dword [ebp - 4], 0
lea ecx, [ebx + 0x98]
push eax
call fcn.00409970
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x45515b
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov eax, dword [ebx + 0x94]
lea esi, [ebx + 0x104]
push dword [eax + 0x34]
push dword [ebx + 0x98]
push esi
call fcn.00408b70
add esp, 0xc
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetParent]
push dword [esi]
push 0
push 0x478
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x88]
mov edi, dword [eax + 4]
test edi, edi
je 0x4551b1
mov eax, dword [edi]
push dword [esi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov eax, dword [ebx + 0x90]
test byte [eax + 0xc], 1
je 0x4551fc
mov eax, dword [ebx + 0x88]
mov edi, dword [eax + 4]
test edi, edi
je 0x4551ef
mov eax, dword [ebx + 0x94]
mov esi, dword [edi]
push 0x4e20
push dword [eax + 0x34]
mov esi, dword [esi + 4]
mov ecx, esi
push dword [ebx + 0x104]
call dword [0x4e1514]
mov ecx, edi
call esi
mov eax, dword [ebx + 0x90]
mov dword [eax + 0xc], 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetParent]
push ecx
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.004391d0
push 0x430
mov dword [ebx + 0xf4], 6
lea edi, [ebx + 0xa0]
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [edi + 0x34], 0
mov dword [ebp - 0x10], eax
jne 0x455248
push 0
push 0
push 0x31
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi + 0x34], eax
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov esi, eax
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x45526e
call fcn.004899cf
mov dword [edi + 0x14], eax
test eax, eax
je 0x4552d3
push edi
push esi
push eax
call fcn.00489ad1
push dword [edi + 0x14]
call fcn.00489a34
mov esi, dword [ebp - 0x10]
push eax
push 0xfffffffffffffffc
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x4552d3
mov ecx, edi
mov dword [edi + 0x20], eax
mov dword [edi + 4], esi
call fcn.0041ba00
push 0xfffffffffffffff0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
or ecx, 0x10000
cmp eax, ecx
je 0x4552bf
push ecx
push 0xfffffffffffffff0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
cmp byte [edi + 0x60], 0
jne 0x4552d3
mov dword [edi + 0x4c], 0xe78900
mov dword [edi + 0x50], 0xe78900
mov eax, dword [ebx + 0x94]
mov eax, dword [eax + 0x30]
shr eax, 3
test al, 1
jne 0x4552f1
push 0
push dword [ebx + 0xa4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebx + 0x78]
push 3
push 2
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4e1514]
lea ecx, [ebx + 0x78]
call esi
mov eax, dword [ebx + 0x78]
push 0x17
push 0x19
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e1514]
lea ecx, [ebx + 0x78]
call esi
mov dword [ebx + 0x8c], 0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8