Function at 0x5887bc
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 8
push 0x18
mov eax, 0x60afef
call fcn.005f9b71
mov esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [esi + 4]
sub esp, 0x10
mov dword [0x674760], eax
call fcn.0045a798
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
mov dword [ebp - 0x24], edi
and dword [ebp - 4], 0
push edi
call dword [sym.imp.USER32.dll_IsMenu]
push 0xa
pop ecx
test eax, eax
je 0x5888fb
mov eax, dword [0x668294]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x18]
push ecx
push eax
mov ecx, 0x7dd6
call fcn.005c95ce
push 0xa
pop eax
push eax
lea eax, [ebp - 0x20]
mov ecx, 0x7dd7
push eax
lea edx, [ebp - 0x1c]
call fcn.005c95ce
mov esi, dword [sym.imp.USER32.dll_DeleteMenu]
add esp, 0x10
push 0
push 0xf030
push edi
call esi
push 0
push 0xf000
push edi
call esi
push edi
call dword [sym.imp.USER32.dll_GetMenuItemCount]
push dword [ebp - 0x18]
dec eax
push 0x7dd6
push 0x400
push eax
push edi
call dword [sym.imp.USER32.dll_InsertMenuW]
cmp dword [0x673644], 0
mov eax, 0x67364c
mov esi, 0x6736e0
push edi
cmove esi, eax
call dword [sym.imp.USER32.dll_GetMenuItemCount]
cmp dword [esi], 0
mov edx, 0x408
mov esi, dword [ebp - 0x20]
push esi
push 0x7dd7
lea ecx, [edx - 8]
cmovne ecx, edx
dec eax
push ecx
push eax
push edi
call dword [sym.imp.USER32.dll_InsertMenuW]
push edi
call dword [sym.imp.USER32.dll_GetMenuItemCount]
push 0
push 0
push 0xc00
dec eax
push eax
push edi
call dword [sym.imp.USER32.dll_InsertMenuW]
lea ecx, [esi - 0xc]
mov esi, 0x668010
cmp ecx, esi
je 0x5888da
call fcn.00407965
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x5888e9
call fcn.00407965
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x5888f8
call fcn.00407965
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.00459d78
mov eax, dword [esi + 0x1f90]
mov dword [esi + 0x60], eax
call fcn.005c8e48
mov esi, dword [0x6714c4]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push 0x32
call edi
push eax
push 0x31
call edi
push eax
push 1
push 0x80
push esi
call dword [sym.imp.USER32.dll_LoadImageW]
mov edi, eax
mov dword [ebp - 0x1c], edi
mov esi, dword [ebp - 0x14]
push 0xe140
add esi, 0x5d68
mov byte [ebp - 4], 1
push edi
mov ecx, esi
call fcn.0045cdda
push ecx
push ecx
mov eax, esp
mov ecx, esi
mov dword [eax], 0x3ff
call fcn.0045ce20
push 0x8084
push 0x8023
mov ecx, esi
call fcn.0045c7b0
push 0x7efd
push 0x8023
mov ecx, esi
call fcn.0045c7b0
push 0x7fef
push 0x8023
mov ecx, esi
call fcn.0045c7b0
push 0x7918
push 0x8023
mov ecx, esi
call fcn.0045c7b0
push 0x8046
push 0x8023
mov ecx, esi
call fcn.0045c7b0
push 0x94
push 0x802c
mov ecx, esi
call fcn.0045c7b0
push 0x8034
push 0xe122
mov ecx, esi
call fcn.0045c7b0
push 0x7f30
push 0xe123
mov ecx, esi
call fcn.0045c7b0
push 0x7f31
push 0xe122
mov ecx, esi
call fcn.0045c7b0
push 0x7f32
push 0xe125
mov ecx, esi
call fcn.0045c7b0
push 0x7f13
push 0x7f12
mov ecx, esi
call fcn.0045c7b0
push 0x8d
push 0x7d00
mov ecx, esi
call fcn.0045c7b0
push 0x7ef5
push 0x7d00
mov ecx, esi
call fcn.0045c7b0
push 0x7ef6
push 0x7d67
mov ecx, esi
call fcn.0045c7b0
push 0x7d65
push 0x90
mov ecx, esi
call fcn.0045c7b0
push 0x7e2c
push 0x90
mov ecx, esi
call fcn.0045c7b0
push 0x7d64
push 0x8f
mov ecx, esi
call fcn.0045c7b0
push 0x7d66
push 0x97
mov ecx, esi
call fcn.0045c7b0
push 0x8072
push 0x8071
mov ecx, esi
call fcn.0045c7b0
mov esi, dword [ebp - 0x14]
sub esp, 0x10
push dword [esi + 4]
lea ecx, [esi + 0x5e5c]
call fcn.0044de28
cmp dword [0x673774], 0
je 0x588b5f
and dword [0x673644], 0
push str._Default_Skin_
push dword [0x673df0]
call fcn.005073b0
pop ecx
pop ecx
test eax, eax
je 0x588b4a
mov eax, dword [0x668294]
mov esi, str..xml
push esi
mov dword [ebp - 0x20], eax
call fcn.00505bb3
pop ecx
push esi
push eax
mov eax, dword [0x673df0]
lea ecx, [ebp - 0x20]
push eax
push dword [eax - 8]
call fcn.0040f4c7
mov byte [ebp - 4], 2
mov ecx, 0x673610
mov esi, dword [ebp - 0x20]
push 0
push esi
mov dword [0x67362c], 1
call fcn.00413b42
and dword [0x67362c], 0
lea ecx, [esi - 0xc]
mov byte [ebp - 4], 1
cmp ecx, 0x668010
je 0x588b47
call fcn.00407965
mov esi, dword [ebp - 0x14]
push 0x673670
mov dword [0x673628], 1
call dword [sym.imp.USER32.dll_SetRectEmpty]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x673774], 0
mov dword [ebp - 0x20], eax
jne 0x588b82
push dword [0x673df0]
mov ecx, esi
call fcn.0058abe3
test eax, eax
jne 0x588b8e
push str._Default_Skin_
mov ecx, esi
call fcn.0058abe3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x20]
mov dword [0x67499c], eax
push dword [esi + 4]
push 0x7dd6
push 0x111
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [0x67374c]
lea ecx, [esi + 0x2064]
call fcn.0042e833
mov eax, dword [0x673750]
push 0xa
pop ecx
cdq
idiv ecx
lea ecx, [esi + 0x3118]
push eax
call fcn.0042e833
push dword [0x673d94]
lea ecx, [esi + 0x31b4]
call fcn.0042e833
cmp dword [0x67372c], 0
je 0x588c13
and dword [0x67372c], 0
push 0
push 0x7f4a
push 0x111
push dword [esi + 0x3a1c]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x673730], 0
je 0x588c3b
and dword [0x673730], 0
push 0
push 0x7f4b
push 0x111
push dword [esi + 0x3a1c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x673728]
push 0
add eax, 0x7f45
push eax
push 0x111
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0xffffffffffffffff
push 0x415e
push 0x7f0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esi + 0x6240]
push eax
lea ecx, [esi + 0x2100]
call fcn.00579667
push 0
push 0
mov ecx, esi
call fcn.0058ba6b
mov ecx, esi
call fcn.0058b301
mov ecx, esi
call fcn.0058c012
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
mov dword [esi + 0x6348], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp dword [0x6731e8], 0
mov dword [esi + 0x634c], eax
jne 0x588d56
cmp dword [0x673644], 0
je 0x588cde
cmp dword [0x6736e8], 0
je 0x588d56
push 0xffffffffffffffff
push 0x7d64
jmp 0x588d48
cmp dword [0x673654], 0
je 0x588cfc
push 0xffffffffffffffff
push 0x7d64
push 0x111
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [0x673658], 0
je 0x588d1a
push 0xffffffffffffffff
push 0x7d65
push 0x111
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [0x67365c], 0
je 0x588d38
push 0xffffffffffffffff
push 0x7d66
push 0x111
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [0x673668], 0
je 0x588d56
push 0xffffffffffffffff
push 0x7d68
push 0x111
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [esi + 4]
lea ecx, [esi + 0x6228]
push ecx
push eax
mov dword [ebp - 0x20], eax
call dword [sym.imp.ole32.dll_RegisterDragDrop]
test eax, eax
js 0x588d77
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x6230], eax
mov ecx, esi
call fcn.0058aa52
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.0044c3eb
mov ecx, dword [ebp - 0x14]
mov esi, eax
add ecx, 0x6238
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], ecx
push eax
lea ecx, [esi + 4]
call fcn.0045d394
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x20]
add ecx, 0x623c
mov dword [ebp - 0x20], ecx
lea ecx, [esi + 0x10]
push eax
call fcn.0045d2e6
push 0x54
call fcn.004da873
pop ecx
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.00451cc7
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x588e04
mov esi, dword [ebp - 0x14]
push ecx
lea ecx, [esi + 0x6284]
call fcn.004592cb
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov ecx, dword [esi + 0x6284]
mov eax, esi
mov eax, dword [eax + 4]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x44], 0x7fa
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0xfa
push 0xa
pop eax
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 4]
call esi
mov eax, dword [ebp - 0x14]
push 0
push 0x3a98
push 0x11
push dword [eax + 4]
call esi
mov ecx, dword [ebp - 0x14]
push 0
push 0x7d0
push 0x13
push dword [ecx + 4]
mov dword [ecx + 0x62e8], eax
call esi
mov ecx, dword [ebp - 0x14]
push 0
push 0x32
mov dword [ecx + 0x62f0], eax
mov esi, dword [0x6714c4]
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x12e
push esi
call dword [sym.imp.USER32.dll_LoadImageW]
mov ecx, dword [ebp - 0x14]
push 0
push 0x32
mov dword [ecx + 0x6378], eax
mov esi, dword [0x6714c4]
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x12f
push esi
call dword [sym.imp.USER32.dll_LoadImageW]
mov ecx, dword [ebp - 0x14]
push 0
push 0x32
mov dword [ecx + 0x637c], eax
mov esi, dword [0x6714c4]
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x130
push esi
call dword [sym.imp.USER32.dll_LoadImageW]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x6380], eax
test edi, edi
je 0x588eec
push edi
call dword [sym.imp.USER32.dll_DestroyIcon]
xor eax, eax
call fcn.005f9aee
ret 0x10