Function at 0x416d60
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov byte [0x55d0cc], 1
mov ebx, dword [esp + 0x60]
test ebx, ebx
jne 0x416e50
cmp dword [0x55d0c4], 0xfe
jle 0x4172d0
mov eax, dword [0x55d52c]
or eax, dword [0x55d528]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
je 0x416e10
lea eax, [esp + 0x38]
mov dword [esp], eax
call sym._QueryPerformanceCounter_4
sub esp, 4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub eax, dword [0x55d528]
sbb edx, dword [0x55d52c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
fild qword [esp + 0x10]
fild qword [0x565630]
fdivp st(1)
fmul dword [0x5025f0]
jmp 0x416dfa
fstp st(1)
jmp 0x416dfa
fstp st(0)
mov byte [0x55d0cc], 0
fstp qword [0x55d538]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
call sym._GetCurrentThread_0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._SetThreadAffinityMask_8
sub esp, 8
mov dword [esp], 0x55d528
call sym._QueryPerformanceCounter_4
sub esp, 4
mov dword [esp], 0x565630
call sym._QueryPerformanceFrequency_4
sub esp, 4
fldz
jmp 0x416dfa
mov dword [esp + 0x10], ebx
fild dword [esp + 0x10]
mov eax, dword [0x55d52c]
or eax, dword [0x55d528]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
fstp qword [esp + 0x20]
jne 0x417280
call sym._GetCurrentThread_0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._SetThreadAffinityMask_8
sub esp, 8
mov dword [esp], 0x55d528
call sym._QueryPerformanceCounter_4
sub esp, 4
mov dword [esp], 0x565630
call sym._QueryPerformanceFrequency_4
mov edi, dword [0x55d528]
mov ebp, dword [0x55d52c]
sub esp, 4
fldz
fstp qword [esp + 0x10]
cmp ebx, 0x32
fldz
mov edx, ebp
mov dword [esp + 0x38], 0
setge bl
fstp qword [0x55d538]
movzx ebx, bl
sub ebx, 1
mov dword [esp + 0x3c], 0
and ebx, 0x64
or edx, edi
jne 0x417230
call sym._GetCurrentThread_0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._SetThreadAffinityMask_8
sub esp, 8
mov dword [esp], 0x55d528
call sym._QueryPerformanceCounter_4
sub esp, 4
mov dword [esp], 0x565630
call sym._QueryPerformanceFrequency_4
fld dword [0x5025ec]
sub esp, 4
fldz
fst qword [0x55d538]
fxch st(1)
fcomp qword [esp + 0x10]
fnstsw ax
sahf
jbe 0x416f50
fstp qword [esp + 0x10]
jmp 0x416f52
fstp st(0)
mov dword [esp], 0
mov ecx, dword [0x55d518]
call method.ege::egeControlBase.draw_ege::IMAGE_
sub esp, 4
fld qword [esp + 0x10]
fadd qword [esp + 0x20]
lea esi, [esp + 0x38]
fstp qword [esp + 0x10]
lea esi, [esi]
nop
mov eax, dword [0x55d52c]
or eax, dword [0x55d528]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jne 0x417018
call sym._GetCurrentThread_0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._SetThreadAffinityMask_8
sub esp, 8
mov dword [esp], 0x55d528
call sym._QueryPerformanceCounter_4
sub esp, 4
mov dword [esp], 0x565630
call sym._QueryPerformanceFrequency_4
sub esp, 4
fldz
fld qword [esp + 0x10]
fcompp
fnstsw ax
sahf
jb 0x4170e0
test ebx, ebx
je 0x416ff4
cmp dword [0x55d0c4], 0xfe
jg 0x417058
mov dword [esp + 4], 1
mov ebx, 0xff
mov dword [esp], 0x55d040
call method.ege.dealmessage_ege::_graph_setting__bool_
jmp 0x416f80
mov dword [esp], esi
call sym._QueryPerformanceCounter_4
sub esp, 4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub eax, dword [0x55d528]
sbb edx, dword [0x55d52c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
fild qword [esp + 0x18]
fild qword [0x565630]
fdivp st(1)
fmul dword [0x5025f0]
jmp 0x416fd5
mov eax, dword [0x55d52c]
or eax, dword [0x55d528]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jne 0x4171a0
call sym._GetCurrentThread_0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._SetThreadAffinityMask_8
sub esp, 8
mov dword [esp], 0x55d528
call sym._QueryPerformanceCounter_4
sub esp, 4
mov dword [esp], 0x565630
call sym._QueryPerformanceFrequency_4
sub esp, 4
fld qword [esp + 0x10]
fnstcw word [esp + 0x2e]
sub ebx, 1
movzx eax, word [esp + 0x2e]
or ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp dword [esp]
fldcw word [esp + 0x2e]
call method.ege.ege_sleep_long_
jmp 0x416f80
mov dword [esp + 4], 1
mov dword [esp], 0x55d040
call method.ege.dealmessage_ege::_graph_setting__bool_
mov eax, dword [0x55d52c]
or eax, dword [0x55d528]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jne 0x4171e8
call sym._GetCurrentThread_0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._SetThreadAffinityMask_8
sub esp, 8
mov dword [esp], 0x55d528
call sym._QueryPerformanceCounter_4
sub esp, 4
mov dword [esp], 0x565630
call sym._QueryPerformanceFrequency_4
sub esp, 4
fldz
mov dword [esp + 4], 0x55d518
mov dword [esp], 0x55d040
fstp qword [esp + 0x10]
call method.ege.guiupdate_ege::_graph_setting__ege::egeControlBase_
fld qword [0x55d538]
fld st(0)
fadd dword [0x5025ec]
fld qword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
sahf
jae 0x416df0
fxch st(1)
fcom st(1)
fnstsw ax
sahf
ja 0x416df8
fstp st(1)
fld qword [esp + 0x20]
faddp st(1)
jmp 0x416dfa
mov dword [esp], esi
call sym._QueryPerformanceCounter_4
sub esp, 4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub eax, dword [0x55d528]
sbb edx, dword [0x55d52c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
fild qword [esp + 0x18]
fild qword [0x565630]
fdivp st(1)
fmul dword [0x5025f0]
fsubr qword [esp + 0x10]
jmp 0x4170b3
lea eax, [esp + 0x38]
mov dword [esp], eax
call sym._QueryPerformanceCounter_4
sub esp, 4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub eax, dword [0x55d528]
sbb edx, dword [0x55d52c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
fild qword [esp + 0x10]
fild qword [0x565630]
fdivp st(1)
fmul dword [0x5025f0]
jmp 0x41714d
lea eax, [esp + 0x38]
mov dword [esp], eax
call sym._QueryPerformanceCounter_4
sub esp, 4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub eax, dword [0x55d528]
sbb edx, dword [0x55d52c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
fild qword [esp + 0x18]
fild qword [0x565630]
fdivp st(1)
fmul dword [0x5025f0]
fld st(0)
fadd dword [0x5025ec]
fxch st(1)
jmp 0x416f34
lea eax, [esp + 0x38]
mov dword [esp], eax
call sym._QueryPerformanceCounter_4
mov edi, dword [0x55d528]
mov ebp, dword [0x55d52c]
sub esp, 4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub eax, edi
sbb edx, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
fild qword [esp + 0x10]
fild qword [0x565630]
fdivp st(1)
fmul dword [0x5025f0]
fstp qword [esp + 0x10]
jmp 0x416ec5
mov dword [esp], 1
call method.ege.ege_sleep_long_
mov dword [esp], 0
mov ecx, dword [0x55d518]
call method.ege::egeControlBase.draw_ege::IMAGE_
sub esp, 4
mov dword [esp + 4], 1
mov dword [esp], 0x55d040
call method.ege.dealmessage_ege::_graph_setting__bool_
mov ecx, dword [0x55d518]
call fcn.00412380
mov ebx, dword [0x55d08c]
mov ecx, dword [ebx + 0x30]
mov esi, dword [ebx + 0x34]
mov edx, dword [ebx + 0x38]
mov edi, dword [ebx + 0x3c]
mov ebp, dword [ebx + 0x40]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], ecx
mov dword [esp], eax
mov dword [esp + 0x10], edx
sub dword [0x55d0c4], 1
call sym._SetViewportOrgEx_16
mov dword [ebx + 0x3c], edi
sub esp, 0x10
mov dword [ebx + 0x40], ebp
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, ecx
mov dword [ebx + 0x38], edx
sar eax, 0x1f
not eax
and ecx, eax
mov eax, esi
sar eax, 0x1f
mov dword [ebx + 0x30], ecx
mov ecx, dword [ebx + 0xc]
not eax
and esi, eax
mov dword [ebx + 0x34], esi
cmp edx, ecx
jle 0x41738d
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x10]
cmp edi, eax
jle 0x417399
mov dword [ebx + 0x3c], eax
mov edi, eax
test ebp, ebp
je 0x417408
mov dword [esp + 0xc], edi
mov eax, dword [ebx + 0x38]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sym._CreateRectRgn_16
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], esi
mov eax, dword [ebx + 4]
mov dword [esp], eax
call sym._SelectClipRgn_8
sub esp, 8
mov dword [esp], esi
call sym._DeleteObject_4
sub esp, 4
mov dword [esp + 0xc], 0
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call sym._SetViewportOrgEx_16
sub esp, 0x10
jmp 0x416d8a
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], 0
call sym._CreateRectRgn_16
sub esp, 0x10
mov esi, eax
jmp 0x4173bf