Function at 0x588f34
Capabilities:
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x588f55
mov eax, 1
jmp 0x58928a
mov eax, dword [ebp - 4]
mov dword [0xa401c4], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0x58d1a0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov ecx, dword [0xa401c4]
mov dword [ebp - 0x1c], ecx
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x18], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x14], eax
push 0
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0x62db14
lea edx, [ebp - 0x2c]
push edx
call dword [sym.imp.USER32.dll_RegisterClassA]
and eax, 0xffff
test eax, eax
jne 0x588fe2
mov dword [0xa401c4], 0
mov eax, 1
jmp 0x58928a
push 0
mov eax, dword [0xa401c4]
push eax
push 0
push 0
push 0x64
push 0x64
push 0
push 0
push 0xcf0000
push 0x62db28
push 0x62db38
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0xa408c0], eax
cmp dword [0xa408c0], 0
jne 0x589041
mov ecx, dword [0xa401c4]
push ecx
push 0x62db4c
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov dword [0xa401c4], 0
mov eax, 1
jmp 0x58928a
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0xa40da8], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0xa40dac], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0xa40db0], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0xa40db4], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0xa40db8], eax
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0xa408c4], eax
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0xa408c8], eax
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0xa408cc], eax
cmp dword [0xa408c4], 0xffffffff
je 0x5890e2
cmp dword [0xa408c8], 0xffffffff
je 0x5890e2
cmp dword [0xa408cc], 0xffffffff
jne 0x58911e
mov edx, dword [0xa408c0]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0xa408c0], 0
mov eax, dword [0xa401c4]
push eax
push 0x62db60
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov dword [0xa401c4], 0
mov eax, 1
jmp 0x58928a
mov ecx, dword [0xa408c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [0xa408dc], eax
mov edx, dword [0xa408c8]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [0xa408e0], eax
push 0xa408d8
mov eax, dword [0xa408c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
cmp eax, 1
jne 0x5891ce
mov dword [ebp - 0x34], 6
cmp dword [0xa408dc], 2
jne 0x589174
mov ecx, dword [ebp - 0x34]
or ecx, 0x10
or ecx, 8
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
not edx
mov eax, dword [0xa408d8]
and eax, edx
push eax
mov ecx, dword [0xa408c4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetConsoleMode]
test eax, eax
jne 0x5891ce
mov edx, dword [0xa408c0]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0xa408c0], 0
mov eax, dword [0xa401c4]
push eax
push 0x62db74
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov dword [0xa401c4], 0
mov eax, 1
jmp 0x58928a
lea ecx, [ebp - 0x30]
push ecx
push 4
push 0
push 0x589346
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0xa408d0], eax
cmp dword [0xa408d0], 0
je 0x589218
lea edx, [ebp - 0x30]
push edx
push 4
push 0
push 0x589932
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0xa408d4], eax
cmp dword [0xa408d4], 0
jne 0x589264
mov eax, dword [0xa408c0]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0xa408c0], 0
mov ecx, dword [0xa408d8]
push ecx
mov edx, dword [0xa408c4]
push edx
call dword [sym.imp.KERNEL32.dll_SetConsoleMode]
mov eax, dword [0xa401c4]
push eax
push 0x62db88
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov dword [0xa401c4], 0
mov eax, 1
jmp 0x58928a
mov ecx, dword [0xa408d0]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov edx, dword [0xa408d4]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [0xa401c0], 1
xor eax, eax
mov esp, ebp
pop ebp
ret