Function at 0x458c10
Capabilities:
Get memory capacity
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
mov eax, dword [0x515de0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push str.HGE_Started.._n
push ebx
mov dword [ebp - 0xcc], ebx
mov eax, dword [ebx]
call dword [eax + 0x1c]
mov eax, dword [ebx]
push 0x80
push 1
push str.HGE_version:__X._X
push ebx
call dword [eax + 0x1c]
add esp, 0x18
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 8]
mov ecx, dword [ebx]
push eax
movzx eax, word [ebp - 0xa]
push eax
movzx eax, word [ebp - 0xc]
push eax
movzx eax, word [ebp - 0x14]
push eax
movzx eax, word [ebp - 0x12]
push eax
movzx eax, word [ebp - 0xe]
push eax
push str.Date:__02d._02d._d___02d:_02d:_02d_n
push ebx
call dword [ecx + 0x1c]
mov eax, dword [ebx]
lea ecx, [ebx + 0x348]
push ecx
push str.Application:__s
push ebx
call dword [eax + 0x1c]
add esp, 0x2c
mov dword [ebp - 0xc8], 0x94
lea eax, [ebp - 0xc8]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
push dword [ebp - 0xbc]
mov eax, dword [ebx]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push str.OS:_Windows__ld._ld._ld
push ebx
call dword [eax + 0x1c]
add esp, 0x14
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebx]
shr eax, 0xa
push eax
mov eax, dword [ebp - 0x2c]
shr eax, 0xa
push eax
push str.Memory:__ldK_total___ldK_free_n
push ebx
call dword [ecx + 0x1c]
mov al, byte [ebx + 0x454]
add esp, 0x10
mov byte [0x519370], al
mov eax, dword [ebx + 4]
mov dword [ebp - 0xf8], 0x2b
push 0x7f00
push 0
mov dword [ebp - 0xf4], 0x459b90
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 4
mov dword [ebp - 0xe0], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0xdc], eax
mov eax, dword [0x511638]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0x344]
mov dword [ebp - 0xd8], 0
test eax, eax
je 0x458d74
push eax
push dword [ebx + 4]
jmp 0x458d7b
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xf8]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
jne 0x458dce
mov eax, dword [ebx]
push str.Cant_register_window_class
push ebx
call dword [eax + 0x1c]
mov ecx, str.Cant_register_window_class
add esp, 8
sub ebx, ecx
mov edi, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ebx + ecx + 0xc], al
test al, al
jne 0x458db0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c4554
mov esp, ebp
pop ebp
ret 4
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 7
call edi
mov ecx, dword [ebx + 0x448]
push 8
lea eax, [ecx + eax*2]
mov dword [ebp - 0xd0], eax
call edi
mov esi, eax
push 4
add esi, esi
call edi
mov ebx, eax
mov eax, dword [ebp - 0xcc]
push 0
add ebx, dword [eax + 0x44c]
add ebx, esi
call edi
sub eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
cdq
sub eax, edx
sar eax, 1
push 1
mov dword [ecx + 0x6f4], eax
call edi
mov edi, dword [ebp - 0xcc]
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [edi + 0x6f4]
add ecx, dword [ebp - 0xd0]
mov esi, dword [edi + 0x67c]
mov dword [edi + 0x6f8], eax
add eax, ebx
mov dword [edi + 0x6fc], ecx
mov ecx, dword [edi + 0x44c]
mov dword [edi + 0x700], eax
mov eax, dword [edi + 0x448]
mov dword [edi + 0x704], 0x90ca0000
mov dword [edi + 0x73c], 0
mov dword [edi + 0x740], 0
mov dword [edi + 0x744], eax
mov dword [edi + 0x748], ecx
mov dword [edi + 0x74c], 0x90000000
test esi, esi
je 0x458ecc
mov dword [edi + 0x6f4], 0
mov dword [edi + 0x6f8], 0
mov dword [edi + 0x6fc], eax
mov dword [edi + 0x700], ecx
mov dword [edi + 0x704], 0x50000000
mov byte [edi + 0x454], 1
cmp byte [edi + 0x454], 0
push 0
push dword [edi + 4]
push 0
je 0x458f14
mov ecx, dword [edi + 0x6f8]
mov eax, dword [edi + 0x700]
mov edx, dword [edi + 0x6f4]
sub eax, ecx
push esi
push eax
mov eax, dword [edi + 0x6fc]
sub eax, edx
push eax
push ecx
push edx
push dword [edi + 0x704]
lea eax, [edi + 0x348]
push eax
push dword [0x511638]
push 0
jmp 0x458f32
push 0
push 0
push 0
push 0
push 0
push 0x90000000
lea eax, [edi + 0x348]
push eax
push dword [0x511638]
push 8
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [edi + 8], eax
test eax, eax
jne 0x458f74
mov eax, dword [edi]
push str.Cant_create_window
push edi
call dword [eax + 0x1c]
mov ecx, str.Cant_create_window
add esp, 8
sub edi, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edi + ecx + 0xc], al
test al, al
jne 0x458f54
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c4554
mov esp, ebp
pop ebp
ret 4
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
call dword [sym.imp.WINMM.dll_timeBeginPeriod]
mov eax, dword [edi]
push 0
push edi
call dword [eax + 0x8c]
mov ecx, edi
call fcn.004568a0
mov ecx, edi
call fcn.00456780
mov ecx, edi
call fcn.00454c90
test al, al
jne 0x459014
mov esi, dword [sym.imp.USER32.dll_SetWindowLongA]
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongA]
jmp 0x458fc0
cmp byte [edi + 0x454], 0
jne 0x459188
push dword [edi + 0x704]
mov byte [edi + 0x454], 1
push 0xfffffffffffffff0
push dword [edi + 8]
call esi
push 0xffffffffffffffec
push dword [edi + 8]
call ebx
and eax, 0xfffffff7
push eax
push 0xffffffffffffffec
push dword [edi + 8]
call esi
push dword [ebp - 0xe4]
push 0
push 0x80
push dword [edi + 8]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, edi
call fcn.00454c90
test al, al
je 0x458fc0
cmp byte [edi + 0x454], 0
je 0x45906b
cmp byte [0x519370], 0
jne 0x45906b
mov ecx, dword [0x51a3cc]
cmp byte [ecx + 0x28], 0
jne 0x459047
mov ecx, dword [0x51a3c4]
call fcn.00491fb0
test al, al
jne 0x45906b
mov ecx, dword [0x51a3cc]
push 1
push 0
push 0x300
push 0x556
call fcn.00448070
mov ecx, dword [0x51a3cc]
call fcn.00447ca0
mov eax, dword [edi]
push edi
call dword [eax + 0x10]
mov ecx, edi
call fcn.00458120
test al, al
mov eax, dword [edi]
je 0x45918a
push str.Init_done._n
push edi
call dword [eax + 0x1c]
add esp, 8
mov dword [edi + 0xb7c], 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0xb90], eax
mov dword [edi + 0xb8c], eax
mov dword [edi + 0xb98], 0
mov dword [edi + 0xb94], 0
mov dword [edi + 0xb88], 0
mov eax, dword [0x519510]
cmp byte [eax + 0x681], 0
je 0x459173
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x519510]
push 8
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov ecx, dword [0x519510]
mov edi, eax
push 9
push ecx
mov edx, dword [ecx]
call dword [edx + 0x40]
mov ebx, eax
mov eax, dword [ebp - 0xcc]
push 0x452980
push 8
mov esi, dword [eax + 0x67c]
mov dword [eax + 0x67c], 0
mov ecx, dword [0x519510]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov eax, dword [0x519510]
push 0
push 9
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
call fcn.00452a70
mov eax, dword [0x519510]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
call fcn.00452960
mov eax, dword [ebp - 0xcc]
push edi
push 8
mov dword [eax + 0x67c], esi
mov eax, dword [0x519510]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x519510]
push ebx
push 9
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c4554
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi]
push edi
call dword [eax + 0xc]
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c4554
mov esp, ebp
pop ebp
ret 4