Function at 0x40fb30
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x46182b
push eax
mov dword fs:[0], esp
sub esp, 0x23c
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 0xfffffffffffffff0
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ebp, dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
and ebx, 0x40000000
je 0x40fb75
mov ecx, dword [esi + 4]
push ecx
call ebp
jmp 0x40fb81
mov edx, dword [esi + 4]
push 4
push edx
call dword [sym.imp.USER32.dll_GetWindow]
mov ecx, dword [esi + 4]
mov edi, eax
lea eax, [esp + 0x3c]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
test ebx, ebx
jne 0x40fbf8
test edi, edi
je 0x40fbb3
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x10000000
je 0x40fbb1
test eax, 0x20000000
je 0x40fbb3
xor edi, edi
lea edx, [esp + 0x2c]
push 0
push edx
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test edi, edi
jne 0x40fbea
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jmp 0x40fc25
lea ecx, [esp + 0x1c]
push ecx
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
jmp 0x40fc25
mov edx, dword [esi + 4]
push edx
call ebp
mov ebp, dword [sym.imp.USER32.dll_GetClientRect]
mov ebx, eax
lea eax, [esp + 0x2c]
push eax
push ebx
call ebp
lea ecx, [esp + 0x1c]
push ecx
push edi
call ebp
lea edx, [esp + 0x1c]
push 2
push edx
push ebx
push edi
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
add eax, ecx
sub ebp, edx
cdq
sub eax, edx
sub ebx, edi
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x20]
add eax, edx
cdq
sub eax, edx
mov edi, eax
mov eax, ebp
cdq
sub eax, edx
sar edi, 1
sar eax, 1
sub edi, eax
mov eax, dword [esp + 0x2c]
cmp ecx, eax
jl 0x40fc82
mov eax, dword [esp + 0x34]
lea edx, [ecx + ebx]
cmp edx, eax
jle 0x40fc84
sub eax, ebx
mov ecx, eax
mov eax, dword [esp + 0x30]
cmp edi, eax
jl 0x40fc99
mov eax, dword [esp + 0x38]
lea edx, [edi + ebp]
cmp edx, eax
jle 0x40fc9b
sub eax, ebp
mov edi, eax
mov eax, dword [esi + 4]
push 0x15
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
xor ebp, ebp
push ecx
push ebp
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ebx, dword [sym.imp.COMCTL32.dll_ImageList_Create]
push 1
push 1
push 0x18
push 0x18
push 0x64
call ebx
mov edi, eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edi
push ecx
lea ecx, [esp + 0x18]
mov eax, esp
mov dword [esp + 0x258], ebp
mov dword [esp + 0x14], esp
mov dword [eax], 0xcc
call fcn.0040bc30
mov ecx, dword [esp + 0x14]
push ebp
push ecx
push edi
mov edi, dword [sym.imp.COMCTL32.dll_ImageList_Add]
call edi
mov edx, dword [esp + 0x14]
mov ebp, dword [sym.imp.GDI32.dll_DeleteObject]
push edx
call ebp
test eax, eax
je 0x40fd11
mov dword [esp + 0x14], 0
push 0
push 0
push 0x18
push 0x1e
push 0x1c
call ebx
push ecx
mov dword [esi + 0x13c], eax
mov eax, esp
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], esp
mov dword [eax], 0xd6
call fcn.0040bc30
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x13c]
push 0
push eax
push ecx
call edi
mov edx, dword [esp + 0x14]
push edx
call ebp
test eax, eax
je 0x40fd5c
mov dword [esp + 0x14], 0
mov eax, dword [esi + 0x8c]
lea ebx, [esi + 0x8c]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x40fddf
lea ecx, [esp + 0x4c]
push 0x100
push ecx
push 0x79
call fcn.00408450
mov edx, 0x100
sub edx, eax
cmp edx, 1
jle 0x40fd9a
lea eax, [esp + 0x4c]
mov ecx, ebx
push eax
call fcn.00407430
jmp 0x40fddf
push 0x1ff
mov ecx, ebx
mov edi, 0x200
call fcn.00407e80
test eax, eax
je 0x40fdd6
push edi
push eax
push 0x79
call fcn.00408450
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jg 0x40fdd6
add edi, 0x100
mov ecx, ebx
lea edx, [edi - 1]
push edx
call fcn.00407e80
test eax, eax
jne 0x40fdaf
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00407f40
mov ebx, dword [ebx]
mov eax, dword [esi + 4]
push ebx
mov ebx, dword [sym.imp.USER32.dll_SetWindowTextW]
push eax
call ebx
mov ecx, dword [esi + 4]
mov ebp, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x413
push ecx
call ebp
mov edx, dword [esi + 0xe4]
lea edi, [esi + 0xe4]
push edi
mov ecx, edi
mov dword [esp + 0x14], eax
call dword [edx + 4]
push eax
lea ecx, [edi + 8]
call fcn.0040bc80
lea eax, [edi + 8]
push eax
mov eax, dword [esp + 0x14]
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x40fe3d
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x1c], eax
mov dword [edi + 4], ecx
push 0xfffffffffffffff4
push 1
push 0
mov ecx, edi
call fcn.0042b010
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0xe8]
push eax
push edx
call ebx
mov eax, dword [esi + 4]
push 0x414
push eax
call ebp
mov edx, dword [esi + 0x110]
lea edi, [esi + 0x110]
push edi
mov ecx, edi
mov dword [esp + 0x14], eax
call dword [edx + 4]
push eax
lea ecx, [edi + 8]
call fcn.0040bc80
lea eax, [edi + 8]
push eax
mov eax, dword [esp + 0x14]
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x40fea3
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x1c], eax
mov dword [edi + 4], ecx
push 0xfffffffffffffff4
push 1
push 0xff
mov ecx, edi
call fcn.0042b010
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x114]
push eax
push edx
call ebx
mov eax, dword [esi + 0x94]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x40fee4
mov ecx, dword [esi + 4]
push 0x414
push ecx
call ebp
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi + 4]
push 0x41d
push edx
call ebp
lea edi, [esi + 0xb8]
mov dword [esp + 0x10], eax
push edi
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 4]
push eax
lea ecx, [edi + 8]
call fcn.0040bc80
mov ecx, dword [esp + 0x10]
lea eax, [edi + 8]
push eax
push 0xfffffffffffffffc
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x40ff29
mov edx, dword [esp + 0x10]
mov dword [edi + 0x1c], eax
mov dword [edi + 4], edx
push 0xfffffffffffffff4
push 0
push 0
mov ecx, edi
call fcn.0042b010
mov eax, dword [esi + 0x98]
push ecx
mov dword [esp + 0x14], esp
mov ecx, esp
mov edx, dword [eax - 0xc]
test edx, edx
jl 0x40ff58
mov dword [ecx], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x40ff6b
mov eax, dword [0x46f42c]
mov dword [ecx], eax
mov edx, dword [esi + 0x98]
push edx
call fcn.00407430
mov ecx, edi
call fcn.0042b090
mov eax, dword [esi + 4]
push 1
push eax
call ebp
lea edi, [esi + 0x140]
push eax
mov ecx, edi
call fcn.0040cf30
test eax, eax
je 0x40ff93
mov ecx, edi
call fcn.0040c7d0
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x24], ecx
mov al, byte [edi + 0x20]
test al, 8
je 0x40ffb6
mov edx, dword [edi + 4]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40ffb6
mov ecx, edi
call fcn.0040c570
mov eax, 1
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], 2
mov dword [edi + 0x34], 4
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x9c]
push eax
mov eax, dword [esi + 0x144]
push eax
call ebx
mov ecx, dword [esi + 4]
push 2
push ecx
call ebp
lea edi, [esi + 0x188]
push eax
mov ecx, edi
call fcn.0040cf30
test eax, eax
je 0x410007
mov ecx, edi
call fcn.0040c7d0
mov edx, dword [esp + 0x18]
mov dword [edi + 0x24], edx
mov al, byte [edi + 0x20]
test al, 8
je 0x41002a
mov eax, dword [edi + 4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41002a
mov ecx, edi
call fcn.0040c570
push 0
push 1
mov ecx, edi
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 1
mov dword [edi + 0x30], 2
mov dword [edi + 0x34], 4
call fcn.0040e870
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x18c]
push eax
push ecx
call ebx
mov edx, dword [esi + 0x18c]
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
and eax, 0xffff
and al, 0xfe
push 1
push eax
mov eax, dword [esi + 0x18c]
push 0xf4
push eax
call edi
mov ecx, dword [esi + 4]
push 0x411
push ecx
call ebp
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x1d0], eax
push ecx
push eax
call ebx
mov eax, dword [esi + 0x1d8]
mov edx, dword [esi + 0x1d0]
push 0
push eax
push 0xf1
push edx
call edi
mov eax, dword [esi + 4]
push 0x411
push eax
call ebp
mov ecx, dword [esi + 0xb0]
push ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x4100f9
mov edx, dword [esi + 4]
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
lea ecx, [esp + 0x14]
mov dword [esp + 0x254], 0xffffffff
call fcn.0040bc60
mov ecx, dword [esp + 0x24c]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x248
ret 8