Function at 0x455af0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8b8
push ebx
push esi
push edi
mov esi, ecx
push 0x5c
xor edi, edi
lea eax, [esi + 0xf2d64]
push edi
push eax
call fcn.004b03e0
mov edx, dword [0x50bb90]
add esp, 0xc
xor eax, eax
lea ecx, [ebp - 0x3c]
push ecx
push 0xa09
push edx
mov dword [0x50bb94], edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x455bdc
mov ecx, dword [0x50bb90]
push 2
lea eax, [ebp - 0x3c]
push eax
push ecx
push edi
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov edx, 0xa0a
mov eax, 0xa0c
mov word [ebp - 8], dx
mov word [ebp - 6], ax
lea ecx, [ecx]
movzx ecx, word [ebp + edi*2 - 8]
mov edx, dword [0x50bb90]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
lea eax, [ebp - 0x2c]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [0x50bb90]
push 2
lea ecx, [ebp - 0x2c]
push ecx
push edx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x38]
push 4
push eax
mov eax, dword [ebp - 0x2c]
sub ecx, eax
push ecx
dec edx
push edx
push eax
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
inc edi
cmp edi, 2
jb 0x455b80
mov eax, dword [0x50bb90]
push eax
mov ecx, esi
call fcn.00450540
mov ecx, dword [0x50bb90]
push 0
push ecx
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov ebx, dword [sym.imp.USER32.dll_InsertMenuW]
push 0
push 0x800
push 0x400
mov edi, eax
push 0
push edi
call ebx
mov edx, dword [0x50bb90]
push str.Always_on_top...
push 0xabc5
push 0xffffffffffffffec
push edx
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 8
or eax, 0x400
push eax
push 0
push edi
call ebx
cmp dword [esi + 0xf38a0], 0
jne 0x455c78
mov eax, dword [0x50bb90]
mov edi, dword [sym.imp.USER32.dll_RegisterHotKey]
push 9
push 2
push 0x101
push eax
call edi
test eax, eax
je 0x455c66
mov dword [esi + 0xf38a0], 1
mov ecx, dword [0x50bb90]
push 9
push 6
push 0x102
push ecx
call edi
xor edx, edx
xor eax, eax
mov word [esi + 0xf38a8], dx
mov dword [esi + 0xf38cc], edx
lea ecx, [ebp - 2]
mov byte [ebp - 2], dl
push ecx
mov ecx, dword [0x50b3a0]
lea edx, [ebp - 0x54]
push edx
mov word [ebp - 0x4a8], ax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
call fcn.004481e0
cmp byte [ebp - 2], 0
je 0x455cd8
mov eax, dword [0x50bb90]
push 0
push 0x64a
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push str._reg_
lea ecx, [ebp - 0x54]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x455d2b
lea edx, [ebp - 0x8b8]
push str.HKEY_CURRENT_USER_
push edx
call fcn.0040f030
add esp, 8
lea eax, [esi + 0x11a74]
push eax
push 0x208
lea ecx, [ebp - 0x8b8]
push ecx
call fcn.00401880
mov eax, dword [0x50bb90]
lea edx, [ebp - 0x8b8]
push edx
push 0xa0b
push eax
jmp 0x455d43
mov ecx, dword [0x50b39c]
call fcn.0040f8a0
mov ecx, dword [0x50bb90]
push eax
push 0xa0b
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp word [esi + 0x11c7c], 0
lea eax, [esi + 0x11c7c]
je 0x455d81
mov ecx, dword [0x50b39c]
lea edx, [ebp - 0x54]
push edx
push eax
call fcn.004059f0
push eax
lea eax, [ebp - 0x4a8]
push str._s_Settings___s___s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
jmp 0x455da6
lea ecx, [ebp - 0x54]
push ecx
mov ecx, dword [0x50b39c]
call fcn.004059f0
push eax
lea edx, [ebp - 0x4a8]
push str._s_Settings__s
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
mov ecx, dword [0x50bb90]
lea eax, [ebp - 0x4a8]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x38
lea edx, [ebp - 0x8c]
push 0
mov edi, 0xffff0000
push edx
mov byte [esi + 0xf364c], 1
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], 0xffff0002
mov dword [ebp - 0x90], 1
call fcn.004b03e0
mov eax, dword [0x50bb90]
add esp, 0xc
push 0x801
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, dword [esi + 0xf38d4]
mov dword [ebp - 8], edi
xor edi, edi
mov ebx, eax
mov byte [ebp - 1], 1
mov dword [ebp - 0x1c], edi
cmp dword [ecx], edi
je 0x455f08
mov edx, dword [esi + 0xf38d4]
cmp dword [edi + edx], 0xac
lea eax, [edi + edx]
jne 0x455e50
mov ecx, dword [0x50b39c]
cmp dword [ecx + 0xbec], 0
je 0x455e50
mov dword [eax + 0x90], 0
jmp 0x455eeb
cmp dword [eax + 4], 0
je 0x455e61
mov edx, dword [ebp - 8]
mov dword [ebp - 0x98], edx
jmp 0x455e6b
mov dword [ebp - 0x98], 0xffff0000
add eax, 8
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x98]
push eax
push 0
push 0x1132
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esi + 0xf38d4]
mov dword [edi + ecx + 0x90], eax
mov edx, dword [esi + 0xf38d4]
mov eax, dword [edi + edx + 0x88]
mov dword [esi + eax*4 + 0xf2d64], 0
mov ecx, dword [esi + 0xf38d4]
add edi, ecx
cmp dword [edi + 4], 0
jne 0x455ecf
cmp byte [edi + 0x8c], 0
mov edx, dword [edi + 0x90]
mov dword [ebp - 8], edx
sete byte [ebp - 1]
jmp 0x455eeb
cmp byte [ebp - 1], 0
je 0x455ee7
mov eax, dword [ebp - 8]
push eax
push 2
push 0x1102
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov byte [ebp - 1], 0
mov edi, dword [ebp - 0x1c]
mov ecx, dword [esi + 0xf38d4]
inc edi
mov dword [ebp - 0x1c], edi
imul edi, edi, 0x98
cmp dword [edi + ecx], 0
jne 0x455e20
mov edx, dword [0x50bb90]
push 0x802
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0xf38d4]
push eax
mov byte [esi + 0xf364c], 0
mov ecx, dword [0x50bb90]
movzx edx, word [eax]
push 0x46a150
push ecx
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov ecx, dword [esi + 0xf38d4]
mov edx, dword [ecx + 0x88]
mov dword [esi + edx*4 + 0xf2d64], eax
mov eax, dword [esi + 0xf38d4]
mov ecx, dword [eax + 0x88]
mov edx, dword [esi + ecx*4 + 0xf2d64]
push 5
push edx
call fcn.004acc20
mov ecx, dword [0x50bb90]
add esp, 8
lea eax, [ebp - 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [0x50bb90]
push 2
push edx
call dword [sym.imp.USER32.dll_MonitorFromWindow]
test eax, eax
je 0x456009
lea ecx, [ebp - 0x7c]
push ecx
push eax
mov dword [ebp - 0x7c], 0x28
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
test eax, eax
je 0x456009
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
push 0
mov eax, ecx
sub eax, edx
push eax
mov eax, esi
sub eax, edi
push eax
mov eax, dword [ebp - 0x5c]
sub eax, ecx
add eax, dword [ebp - 0x64]
mov ecx, dword [0x50bb90]
add eax, edx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x60]
sub eax, esi
add eax, dword [ebp - 0x68]
add eax, edi
cdq
sub eax, edx
sar eax, 1
push eax
push ecx
call dword [sym.imp.USER32.dll_MoveWindow]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push edx
push eax
push 1
call esi
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
sar ecx, 1
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
push 0
call esi
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
sar ecx, 1
cdq
sub eax, edx
mov edx, dword [0x50bb90]
sar eax, 1
sub ecx, eax
push ecx
push edx
call dword [sym.imp.USER32.dll_MoveWindow]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret