Function at 0x45ac60
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x1c
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
push esi
mov esi, dword [esp + 0x2c]
mov eax, dword [esi]
push edi
test eax, eax
je 0x45ac8d
mov edi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push eax
call edi
mov dword [esi + 0x34], eax
mov eax, dword [esi]
push 0xffffffffffffffec
push eax
call edi
mov dword [esi + 0x38], eax
cmp word [ebp], 0
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
je 0x45b33e
movzx eax, word [ebp]
cmp eax, 0x2d
jne 0x45acb6
mov byte [esp + 0x34], 0
jmp 0x45acc0
mov byte [esp + 0x34], 1
cmp eax, 0x2b
jne 0x45acc3
add ebp, 2
cmp word [ebp], 0
je 0x45b33e
mov ebx, 0x49e6d0
mov eax, ebp
call fcn.00409070
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x45acfe
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x45ace7
sub eax, edx
sar eax, 1
lea eax, [ebp + eax*2]
mov dword [esp + 0x1c], eax
cmp eax, ebp
je 0x45b320
movzx ecx, word [eax]
push 5
xor edx, edx
push str.Owner
push ebp
mov dword [esp + 0x34], ecx
mov word [eax], dx
call fcn.00486b72
add esp, 0xc
test eax, eax
jne 0x45adc9
mov eax, dword [esp + 0x30]
cmp dword [eax], 0
jne 0x45b311
cmp byte [esp + 0x34], 0
jne 0x45ad4c
mov ecx, eax
mov dword [ecx + 0x40], 0
jmp 0x45b311
mov edx, dword [esp + 0x1c]
sub edx, ebp
and edx, 0xfffffffe
cmp edx, 0xa
jle 0x45adb9
lea esi, [ebp + 0xa]
mov eax, esi
call fcn.0040c9b0
test al, al
je 0x45ad77
push 0x10
push 0
push esi
call fcn.0048795b
add esp, 0xc
jmp 0x45ad80
push esi
call fcn.004875c6
add esp, 4
dec eax
cmp eax, 0x62
ja 0x45b37e
mov ecx, dword [esp + 0x30]
cmp eax, dword [ecx + 8]
je 0x45b37e
mov eax, dword [eax*4 + 0x4c1600]
test eax, eax
je 0x45b37e
cmp dword [eax], 0
je 0x45b37e
mov eax, dword [eax]
mov dword [ecx + 0x40], eax
jmp 0x45b311
mov ecx, dword [0x4c0e74]
mov edx, eax
mov dword [edx + 0x40], ecx
jmp 0x45b311
push str.AlwaysOnTop
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45ae29
mov esi, dword [esp + 0x30]
mov eax, dword [esi]
mov bl, byte [esp + 0x34]
test eax, eax
je 0x45ae0e
push 0x13
xor ecx, ecx
push 0
test bl, bl
setne cl
push 0
push 0
push 0
add ecx, 0xfffffffe
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
test bl, bl
je 0x45ae1b
or dword [esp + 0x14], 8
test bl, bl
je 0x45ae20
or dword [esi + 0x38], 8
jmp 0x45b311
and dword [esp + 0x14], 0xfffffff7
and dword [esi + 0x38], 0xfffffff7
jmp 0x45b311
push str.Border
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45ae5e
cmp byte [esp + 0x34], 0
mov eax, dword [esp + 0x30]
je 0x45ae52
or dword [eax + 0x34], 0x800000
jmp 0x45b311
and dword [eax + 0x34], 0xff7fffff
jmp 0x45b311
push str.Caption
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45ae9e
cmp byte [esp + 0x34], 0
mov eax, dword [esp + 0x30]
je 0x45ae87
or dword [eax + 0x34], 0xc00000
jmp 0x45b311
mov edx, dword [eax + 0x34]
and edx, 0xff3fffff
or edx, 0x80000000
mov dword [eax + 0x34], edx
jmp 0x45b311
push 9
push str.Delimiter
push ebp
call fcn.00486b72
add esp, 0xc
test eax, eax
jne 0x45af18
add ebp, 0x12
push 0x49d794
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45aed9
mov ecx, dword [esp + 0x30]
mov eax, 9
mov word [ecx + 0x44], ax
jmp 0x45b311
push str.Space
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45aefd
mov eax, dword [esp + 0x30]
mov edx, 0x20
mov word [eax + 0x44], dx
jmp 0x45b311
movzx eax, word [ebp]
test ax, ax
jne 0x45af0b
mov eax, 0x7c
mov ecx, dword [esp + 0x30]
mov word [ecx + 0x44], ax
jmp 0x45b311
push str.Disabled
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45af77
mov esi, dword [esp + 0x30]
mov eax, dword [esi]
mov bl, byte [esp + 0x34]
test eax, eax
je 0x45af53
xor edx, edx
test bl, bl
sete dl
push edx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
test bl, bl
je 0x45af63
or dword [esp + 0x18], 0x8000000
test bl, bl
je 0x45af6b
or dword [esi + 0x34], 0x8000000
jmp 0x45b311
and dword [esp + 0x18], 0xf7ffffff
and dword [esi + 0x34], 0xf7ffffff
jmp 0x45b311
push 5
push str.Label
push ebp
call fcn.00486b72
add esp, 0xc
test eax, eax
jne 0x45afa6
cmp byte [esp + 0x34], al
je 0x45b311
mov ebx, dword [esp + 0x30]
lea eax, [ebp + 0xa]
call fcn.00457fc0
jmp 0x45b311
push 9
push str.LastFound
push ebp
call fcn.00486b72
add esp, 0xc
test eax, eax
jne 0x45afc6
mov eax, dword [esp + 0x38]
mov byte [eax], 1
jmp 0x45b311
push str.MaximizeBox
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45affb
cmp byte [esp + 0x34], 0
mov eax, dword [esp + 0x30]
je 0x45afef
or dword [eax + 0x34], 0x90000
jmp 0x45b311
and dword [eax + 0x34], 0xfffeffff
jmp 0x45b311
push str.MinimizeBox
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45b030
cmp byte [esp + 0x34], 0
mov eax, dword [esp + 0x30]
je 0x45b024
or dword [eax + 0x34], 0xa0000
jmp 0x45b311
and dword [eax + 0x34], 0xfffdffff
jmp 0x45b311
push 7
push str.MinSize
push ebp
call fcn.00486b72
add esp, 0xc
test eax, eax
jne 0x45b0f7
add ebp, 0xe
cmp byte [esp + 0x34], al
je 0x45b0dd
cmp word [ebp], ax
je 0x45b0c3
mov esi, dword [esp + 0x30]
lea edi, [esp + 0x20]
lea ebx, [esp + 0x24]
call fcn.0045b400
mov ebx, 0x4b6084
mov eax, ebp
call fcn.00409070
mov esi, eax
test esi, esi
je 0x45b09f
cmp word [esi + 2], 0
lea eax, [esi + 2]
je 0x45b09f
push eax
call fcn.004875c6
mov ecx, dword [esp + 0x34]
add esp, 4
add eax, dword [esp + 0x20]
mov dword [ecx + 0xac], eax
cmp esi, ebp
je 0x45b311
push ebp
call fcn.004875c6
mov edx, dword [esp + 0x34]
add esp, 4
add eax, dword [esp + 0x24]
mov dword [edx + 0xa8], eax
jmp 0x45b311
mov eax, dword [esp + 0x30]
lea esi, [eax + 0xac]
lea edi, [eax + 0xa8]
call fcn.0045b460
jmp 0x45b311
mov eax, dword [esp + 0x30]
mov ecx, SysReAllocString
mov dword [eax + 0xa8], ecx
mov dword [eax + 0xac], ecx
jmp 0x45b311
push 7
push str.MaxSize
push ebp
call fcn.00486b72
add esp, 0xc
test eax, eax
jne 0x45b1be
add ebp, 0xe
cmp byte [esp + 0x34], al
je 0x45b1a4
cmp word [ebp], ax
je 0x45b18a
mov esi, dword [esp + 0x30]
lea edi, [esp + 0x20]
lea ebx, [esp + 0x24]
call fcn.0045b400
mov ebx, 0x4b6084
mov eax, ebp
call fcn.00409070
mov esi, eax
test esi, esi
je 0x45b166
cmp word [esi + 2], 0
lea eax, [esi + 2]
je 0x45b166
push eax
call fcn.004875c6
mov ecx, dword [esp + 0x34]
add esp, 4
add eax, dword [esp + 0x20]
mov dword [ecx + 0xb4], eax
cmp esi, ebp
je 0x45b311
push ebp
call fcn.004875c6
mov edx, dword [esp + 0x34]
add esp, 4
add eax, dword [esp + 0x24]
mov dword [edx + 0xb0], eax
jmp 0x45b311
mov eax, dword [esp + 0x30]
lea esi, [eax + 0xb4]
lea edi, [eax + 0xb0]
call fcn.0045b460
jmp 0x45b311
mov eax, dword [esp + 0x30]
mov ecx, SysReAllocString
mov dword [eax + 0xb0], ecx
mov dword [eax + 0xb4], ecx
jmp 0x45b311
push str.OwnDialogs
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45b1e3
cmp byte [esp + 0x34], al
mov ecx, dword [esp + 0x3c]
sete al
inc eax
mov dword [ecx], eax
jmp 0x45b311
push str.Resize
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45b218
cmp byte [esp + 0x34], 0
mov eax, dword [esp + 0x30]
je 0x45b20c
or dword [eax + 0x34], 0x50000
jmp 0x45b311
and dword [eax + 0x34], 0xfffaffff
jmp 0x45b311
push str.SysMenu
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45b24d
cmp byte [esp + 0x34], 0
mov eax, dword [esp + 0x30]
je 0x45b241
or dword [eax + 0x34], 0x80000
jmp 0x45b311
and dword [eax + 0x34], 0xfff7ffff
jmp 0x45b311
push str.Theme
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45b26f
mov dl, byte [esp + 0x34]
mov eax, dword [esp + 0x30]
mov byte [eax + 0x3d], dl
jmp 0x45b311
push str.ToolWindow
push ebp
call fcn.00486339
add esp, 8
test eax, eax
jne 0x45b29e
cmp byte [esp + 0x34], 0
mov eax, dword [esp + 0x30]
je 0x45b295
or dword [eax + 0x38], 0x80
jmp 0x45b311
and dword [eax + 0x38], 0xffffff7f
jmp 0x45b311
mov ax, word [ebp]
call fcn.00409040
push 0
push 0
cmp ax, 0x45
jne 0x45b2e3
push 0
push 0
lea eax, [ebp + 2]
call fcn.0046b180
add esp, 0x10
test eax, eax
je 0x45b311
lea esi, [ebp + 2]
call fcn.004125b0
cmp byte [esp + 0x34], 0
mov ecx, dword [esp + 0x30]
je 0x45b2dc
or dword [ecx + 0x38], eax
jmp 0x45b311
not eax
and dword [ecx + 0x38], eax
jmp 0x45b311
push 1
push 0
mov eax, ebp
call fcn.0046b180
add esp, 0x10
test eax, eax
je 0x45b311
mov esi, ebp
call fcn.004125b0
cmp byte [esp + 0x34], 0
mov ecx, dword [esp + 0x30]
je 0x45b30c
or dword [ecx + 0x34], eax
jmp 0x45b311
not eax
and dword [ecx + 0x34], eax
mov edx, dword [esp + 0x1c]
mov cx, word [esp + 0x28]
mov word [edx], cx
mov eax, edx
nop
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x45b32d
cmp ecx, 9
jne 0x45b332
add eax, 2
jmp 0x45b320
cmp word [eax], 0
mov ebp, eax
jne 0x45aca6
mov esi, dword [esp + 0x30]
mov eax, dword [esi]
test eax, eax
je 0x45b3ed
mov edi, dword [esp + 0x18]
cmp dword [esi + 0x34], edi
jne 0x45b362
mov ecx, dword [esi + 0x38]
cmp ecx, dword [esp + 0x14]
je 0x45b3ed
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45b398
mov edx, dword [esi]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x45b398
mov bl, 1
jmp 0x45b39a
push ebp
push str.Invalid_or_nonexistent_owner_window.__The_current_thread_will_exit.
mov ecx, 0x4c3168
call fcn.0042d6d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10
xor bl, bl
mov eax, dword [esi + 0x34]
cmp eax, edi
mov edi, dword [sym.imp.USER32.dll_SetWindowLongW]
je 0x45b3af
push eax
mov eax, dword [esi]
push 0xfffffffffffffff0
push eax
call edi
mov eax, dword [esi + 0x38]
cmp eax, dword [esp + 0x14]
je 0x45b3c0
mov ecx, dword [esi]
push eax
push 0xffffffffffffffec
push ecx
call edi
test bl, bl
je 0x45b3ed
mov edx, dword [esi]
push 0x37
push 0
push 0
push 0
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esi]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call edi
mov ecx, dword [esi]
push 8
push ecx
call edi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1c
ret 0x10