Function at 0x4647e4
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov edi, ecx
push 0
mov ecx, edi
call fcn.00434e23
mov dword [edi], 0x493174
mov ecx, dword [0x49aacc]
push ecx
push 0x49308c
lea ecx, [esp + 0x30]
push ecx
call fcn.0047182c
push 0
push dword [0x489ab0]
push 0
mov ecx, dword [esp + 0x80]
and ecx, 0x40
mov edx, 0
jne 0x464840
mov edx, dword [0x489ad0]
test edx, edx
jne 0x464840
mov edx, dword [0x489abc]
push edx
push 1
push 1
push 0
push 0
test ecx, ecx
mov ecx, 0xcf0000
jne 0x464857
mov ecx, 0x80cd0000
push ecx
lea ecx, [esp + 0x58]
push ecx
push 0x49b398
push 0
call dword [sym.imp.USER32.DLL_CreateWindowExA]
lea ecx, [edi + 4]
mov dword [ecx], eax
push 0x38
mov dword [esp + 0x24], ecx
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x54], eax
je 0x4648a7
push 1
push 0x12010
push 0x493083
push 0x90
mov ecx, dword [esp + 0x30]
push dword [ecx]
mov ecx, eax
call fcn.00459ae7
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x54]
lea edx, [edi + 0x18]
mov dword [edx], ecx
push 0x38
mov dword [esp + 0x28], edx
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x58], eax
je 0x4648e8
push 1
push 0x12010
push 0x493078
push 0x8f
mov ecx, dword [esp + 0x30]
push dword [ecx]
mov ecx, eax
call fcn.00459ae7
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x58]
lea edx, [edi + 0x1c]
mov dword [edx], ecx
push 0x38
mov dword [esp + 0x2c], edx
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x5c], eax
je 0x464929
push 1
push 0x12010
push 0x493071
push 0x91
mov ecx, dword [esp + 0x30]
push dword [ecx]
mov ecx, eax
call fcn.00459ae7
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x5c]
lea edx, [edi + 0x14]
mov dword [edx], ecx
push 0x60
mov dword [esp + 0x30], edx
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x60], eax
je 0x464965
push 0
push 0x40800000
push 0x49303b
mov ecx, dword [esp + 0x2c]
push dword [ecx]
mov ecx, eax
call fcn.00465b08
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x60]
mov dword [edi + 0x10], ecx
mov ecx, 0x10
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
or dword [eax + 0x18], ecx
mov eax, dword [esp + 0x28]
mov ebp, dword [eax]
or dword [ebp + 0x18], ecx
mov ebp, dword [esp + 0x2c]
mov ebx, dword [ebp]
or dword [ebx + 0x18], ecx
push 5
mov ecx, dword [eax]
push dword [ecx + 4]
call dword [sym.imp.USER32.DLL_ShowWindow]
push 5
mov ecx, dword [ebp]
push dword [ecx + 4]
call dword [sym.imp.USER32.DLL_ShowWindow]
push 5
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
push dword [ecx + 4]
call dword [sym.imp.USER32.DLL_ShowWindow]
push 5
mov ecx, dword [edi + 0x10]
push dword [ecx + 4]
call dword [sym.imp.USER32.DLL_ShowWindow]
push edi
push 0
mov ecx, dword [esp + 0x28]
push dword [ecx]
call dword [sym.imp.USER32.DLL_SetWindowLongA]
push 0x3c
push 0x492fb0
push 0x493062
push 0x49303b
call fcn.004376c8
push 0x49aad4
push 0x49304f
push 0x49303b
call fcn.004376ec
push 0x49aad8
push 0x49303c
push 0x49303b
call fcn.004376ec
push 0
push 0
push 0x800
push 0
mov ecx, dword [esp + 0x58]
push dword [ecx]
call dword [sym.imp.USER32.DLL_GetSystemMenu]
mov esi, eax
push eax
call dword [sym.imp.USER32.DLL_AppendMenuA]
push 0x493025
push 0xf803
push 0
push esi
call dword [sym.imp.USER32.DLL_AppendMenuA]
push 0x493018
push 0xf800
push 0
push esi
call dword [sym.imp.USER32.DLL_AppendMenuA]
push 0x493001
push 0xf801
push 0
push esi
call dword [sym.imp.USER32.DLL_AppendMenuA]
push 0
push 0
push 0x800
push esi
call dword [sym.imp.USER32.DLL_AppendMenuA]
push 0x492fec
push 0xf802
push 0
push esi
call dword [sym.imp.USER32.DLL_AppendMenuA]
add esp, 0x34
test byte [esp + 0x68], 2
jne 0x464aa8
push 3
push 0xf060
push esi
call dword [sym.imp.USER32.DLL_EnableMenuItem]
push 0x49309b
push dword [edi + 4]
call fcn.00436232
add esp, 8
test ax, ax
jne 0x464b81
mov eax, dword [0x49aae4]
cmp eax, dword [0x49aadc]
jl 0x464adf
mov eax, dword [0x49aae8]
cmp eax, dword [0x49aae0]
jl 0x464adf
xor eax, eax
jmp 0x464ae4
mov eax, 1
test ax, ax
je 0x464b52
mov ecx, 0x49aadc
push ecx
push 0xfffffffffffffff8
push dword [edi + 4]
call dword [sym.imp.USER32.DLL_GetWindowLongA]
push eax
call dword [sym.imp.USER32.DLL_GetWindowRect]
mov esi, dword [0x49aae8]
sub esi, dword [0x49aae0]
mov ebp, dword [0x49aae4]
sub ebp, dword [0x49aadc]
mov eax, ebp
mov ecx, 0xa
cdq
idiv ecx
add dword [0x49aadc], eax
mov eax, esi
mov ebx, 6
cdq
idiv ebx
add dword [0x49aae0], eax
mov dword [esp + 0x24], eax
mov eax, ebp
cdq
idiv ecx
sub dword [0x49aae4], eax
mov ecx, dword [esp + 0x24]
sub dword [0x49aae8], ecx
push 0
mov eax, dword [0x49aae8]
sub eax, dword [0x49aae0]
inc eax
push eax
mov eax, dword [0x49aae4]
sub eax, dword [0x49aadc]
inc eax
push eax
push dword [0x49aae0]
push dword [0x49aadc]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x14]
test byte [esp + 0x68], 0x20
je 0x464b9d
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [edi + 4]
call dword [sym.imp.USER32.DLL_SetWindowPos]
xor ecx, ecx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x24], ecx
mov cx, word [esp + 0x68]
mov word [edi + 0x2c], cx
mov ebx, dword [edi + 0x10]
push 0x492fb0
call dword [sym.imp.GDI32.DLL_CreateFontIndirectA]
mov esi, eax
push 1
movzx ecx, si
push ecx
push 0x30
push dword [ebx + 4]
call dword [sym.imp.USER32.DLL_SendMessageA]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
mov ecx, edi
call fcn.00464e02
push 0xffffffffffffffff
push edi
mov ecx, 0x49aac0
call fcn.0043270f
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 0x10