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

Disassembly:
push ebp
mov eax, 0x197c
lea ebp, [esp - 0x70]
call fcn.0048faf0
push ebx
push esi
lea eax, [ebp + 0x78]
push edi
push eax
mov dword [ebp + 0x34], ecx
call fcn.004378b6
lea ecx, [ebp + 0x40]
mov dword [esp], str.CurDate
call fcn.00445746
lea eax, [ebp + 0x78]
push eax
call fcn.004378b6
xor ecx, ecx
xor eax, eax
mov word [ebp + 0x54], cx
lea edi, [ebp + 0x56]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x190c]
mov dword [ebp + 0x68], eax
xor eax, eax
mov dword [ebp + 0x4c], ecx
lea edi, [ebp + 0x50]
stosd dword es:[edi], eax
mov dword [ebp + 0x38], ecx
lea edi, [ebp + 0x3c]
stosd dword es:[edi], eax
mov byte [ebp + 0x66], al
mov byte [ebp + 0x6f], al
mov byte [ebp + 0x67], al
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4adc08
mov word [ebp - 0x190c], cx
mov dword [ebp + 0x30], ecx
xor bl, bl
call fcn.0043f0e5
add esp, 0x10
test al, al
je 0x46467c
inc bl
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4ad96c
call fcn.0043f0e5
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
add esp, 0xc
test al, al
je 0x4646ab
push 0x4bdcb0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0x4bdf00
call esi
test bl, bl
lea eax, [ebp + 0x4c]
push eax
je 0x4646bb
call fcn.0043bb72
pop ecx
jmp 0x4646bd
call esi
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
jne 0x4648b4
mov ebx, dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push 5
pop edi
push edi
push esi
push str.utc:
call fcn.00438aa1
add esp, 0xc
test al, al
je 0x46470d
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.004486b7
test eax, eax
pop ecx
pop ecx
jg 0x4648a7
mov esi, 0x80070057
jmp 0x464e3b
push edi
push esi
push str.gmt:
call fcn.00438aa1
add esp, 0xc
test al, al
je 0x464760
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.004486b7
test eax, eax
pop ecx
pop ecx
jle 0x464703
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x50]
push 0
add eax, 0xb6109100
push 0x989680
adc ecx, 2
push ecx
push eax
call fcn.0048f820
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], edx
jmp 0x4648a7
push 8
push esi
push str.local0:
call fcn.00438aa1
add esp, 0xc
test al, al
je 0x46477a
mov byte [ebp + 0x48], 1
jmp 0x464792
push 7
push esi
push str.local:
call fcn.00438aa1
add esp, 0xc
test al, al
je 0x4647d5
mov byte [ebp + 0x48], 0
movsx eax, byte [ebp + 0x48]
push dword [ebp + 0x48]
lea eax, [esi + eax*2 + 0xe]
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044342e
add esp, 0xc
test eax, eax
jle 0x464703
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x54]
push eax
call ebx
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
jmp 0x46489d
push 6
push esi
push str.sys0:
call fcn.00438aa1
add esp, 0xc
test al, al
je 0x4647ef
mov byte [ebp + 0x48], 1
jmp 0x464806
push edi
push esi
push str.sys:
call fcn.00438aa1
add esp, 0xc
test al, al
je 0x464838
mov byte [ebp + 0x48], 0
movsx eax, byte [ebp + 0x48]
push dword [ebp + 0x48]
lea eax, [esi + eax*2 + 0xa]
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044342e
add esp, 0xc
test eax, eax
jle 0x464703
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x54]
push eax
call ebx
jmp 0x46489d
push edi
push esi
push str.bsys
call fcn.00438a4a
add esp, 0xc
test al, al
je 0x464851
mov byte [ebp + 0x66], 1
jmp 0x46489d
push 7
push esi
push str.space0
call fcn.00438a4a
add esp, 0xc
test al, al
je 0x46486b
mov byte [ebp + 0x6f], 2
jmp 0x46489d
push 6
push esi
push str.space
call fcn.00438a4a
add esp, 0xc
test al, al
je 0x464885
mov byte [ebp + 0x6f], 1
jmp 0x46489d
push 3
push esi
push 0x4adbe4
call fcn.00438a4a
add esp, 0xc
test al, al
je 0x46489d
mov byte [ebp + 0x67], 1
lea eax, [ebp + 0x78]
push eax
call fcn.00407fcf
pop ecx
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
je 0x4646d3
cmp word [esi], 0
je 0x4648e3
lea eax, [ebp + 0x78]
push eax
call fcn.00405061
mov eax, dword [ebp + 0x78]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x40]
call fcn.0043d4c9
mov ecx, dword [ebp + 0x34]
push 0
lea eax, [ebp + 0x40]
push eax
call fcn.00402db0
lea eax, [ebp + 0x78]
push eax
call fcn.004378b6
mov esi, dword [ebp + 0x78]
pop ecx
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp + 0x78], esi
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
cmp byte [ebp + 0x66], 0
lea eax, [ebp + 0x4c]
jne 0x46490d
lea eax, [ebp + 0x38]
lea ecx, [ebp + 0x54]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
cmp word [esi], 0
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
je 0x464d58
lea eax, [ebp - 0x19c]
cmp dword [ebp + 0x68], eax
jae 0x464d4a
mov eax, dword [ebp + 0x78]
cmp word [eax], 0
je 0x464d4a
mov ebx, dword [ebp + 0x68]
lea eax, [ebp - 0x190c]
cmp ebx, eax
je 0x46495b
mov word [ebx], 0x20
inc ebx
inc ebx
mov dword [ebp + 0x68], ebx
or edi, 0xffffffff
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4adbe0
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x4649b4
push 0
push 0x989680
lea eax, [ebp + 0x4c]
push dword [eax + 4]
push dword [eax]
call fcn.0048f770
sub eax, 0xb6109100
sbb edx, 2
push edx
push eax
push ebx
call fcn.00484286
and dword [ebp + 0x44], 0
xor eax, eax
lea edi, [ebp + 0x48]
stosd dword es:[edi], eax
add esp, 0xc
lea eax, [ebp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
jmp 0x464d2c
push edi
lea eax, [ebp + 0x78]
push eax
push str.zone
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x464a00
and dword [ebp - 0x124], 0
push 0x2a
pop ecx
xor eax, eax
lea edi, [ebp - 0x120]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov eax, dword [ebp - 0x124]
push 0xffffffffffffffc4
pop ecx
cdq
idiv ecx
cdq
push edx
push eax
push ebx
jmp 0x464c7b
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4adbd4
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x464a22
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push ebx
jmp 0x464cae
push edi
lea eax, [ebp + 0x78]
push eax
push str.uptime
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x464a3f
call fcn.0043bc13
jmp 0x464a5a
push edi
lea eax, [ebp + 0x78]
push eax
push str.uptimens
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x464a5e
call fcn.0043bc98
push edx
push eax
jmp 0x464a1c
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4adbbc
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464d1a
or edi, 0xffffffff
push 0x4adbb8
mov eax, edi
lea ebx, [ebp + 0x78]
call fcn.0043d048
test al, al
pop ecx
jne 0x464d1a
push edi
mov eax, ebx
push eax
push 0x4adbb4
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464d14
push 0x4adbb0
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464d14
push edi
mov eax, ebx
push eax
push 0x4adbac
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464d0e
push 0x4adba8
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464d0e
push edi
mov eax, ebx
push eax
push 0x4adba4
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464d08
push 0x4adb9c
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464d08
push edi
mov eax, ebx
push eax
push 0x4adb98
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464d02
push 0x4adb94
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464d02
push edi
mov eax, ebx
push eax
push 0x4a4ae8
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464cfc
push 0x4adb90
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464cfc
push edi
mov eax, ebx
push eax
push 0x4a6ca4
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464cf6
push 0x4adb8c
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464cf6
push edi
mov eax, ebx
push eax
push 0x4adb88
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464cf0
push 0x4adb80
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464cf0
push edi
mov eax, ebx
push eax
push 0x4adb7c
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464cd5
push 0x4adb78
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464cd5
push edi
mov eax, ebx
push eax
push 0x4adb74
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464cd1
push 0x4adb6c
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464cd1
push edi
mov eax, ebx
push eax
push 0x4adb68
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x464cc1
push 0x4adb64
mov eax, edi
call fcn.0043d048
test al, al
pop ecx
jne 0x464cc1
push edi
mov eax, ebx
push eax
push str.Freq
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x464c85
push dword [0x4bdcac]
push dword [0x4bdca8]
push dword [ebp + 0x68]
call fcn.00484286
jmp 0x464d29
push edi
lea eax, [ebp + 0x78]
push eax
push str.Counter
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x464cb5
lea eax, [ebp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x68]
call fcn.004842a0
jmp 0x464d29
lea eax, [ebp + 0x78]
push eax
call fcn.00407fcf
pop ecx
jmp 0x464d2c
lea edi, [ebp + 0x54]
call fcn.0043ba92
push eax
push 0x4a4788
jmp 0x464d24
push 1
jmp 0x464cd7
push 0
lea eax, [ebp + 0x54]
push eax
call fcn.0043bb2e
push eax
push 0x4a4788
push dword [ebp + 0x68]
call esi
add esp, 0x14
jmp 0x464d2c
movzx eax, word [ebp + 0x62]
jmp 0x464d1e
movzx eax, word [ebp + 0x60]
jmp 0x464d1e
movzx eax, word [ebp + 0x5e]
jmp 0x464d1e
movzx eax, word [ebp + 0x5c]
jmp 0x464d1e
movzx eax, word [ebp + 0x58]
jmp 0x464d1e
movzx eax, word [ebp + 0x5a]
jmp 0x464d1e
movzx eax, word [ebp + 0x56]
jmp 0x464d1e
movzx eax, word [ebp + 0x54]
push eax
push 0x4a4078
push dword [ebp + 0x68]
call esi
add esp, 0xc
mov edi, dword [ebp + 0x68]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [edi + eax*2]
lea ecx, [ebp - 0x19c]
cmp eax, ecx
mov dword [ebp + 0x68], eax
jb 0x464937
cmp word [ebp - 0x190c], 0
jne 0x464e38
and word [ebp - 0x78], 0
cmp byte [ebp + 0x67], 0
je 0x464d84
push 0
push 0x2710
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.004921e0
push eax
lea eax, [ebp - 0x78]
push str.._04lu
push eax
call esi
add esp, 0xc
cmp byte [ebp + 0x6f], 0
jne 0x464dbd
lea eax, [ebp - 0x78]
push eax
movzx eax, word [ebp + 0x62]
push eax
movzx eax, word [ebp + 0x60]
push eax
movzx eax, word [ebp + 0x5e]
push eax
movzx eax, word [ebp + 0x5c]
push eax
movzx eax, word [ebp + 0x58]
push eax
movzx eax, word [ebp + 0x5a]
push eax
movzx eax, word [ebp + 0x56]
push eax
movzx eax, word [ebp + 0x54]
push eax
push str._d__d__d_d_d:_d:_d._u_s
jmp 0x464e27
cmp byte [ebp + 0x6f], 1
jne 0x464df6
lea eax, [ebp - 0x78]
push eax
movzx eax, word [ebp + 0x62]
push eax
movzx eax, word [ebp + 0x60]
push eax
movzx eax, word [ebp + 0x5e]
push eax
movzx eax, word [ebp + 0x5c]
push eax
movzx eax, word [ebp + 0x58]
push eax
movzx eax, word [ebp + 0x5a]
push eax
movzx eax, word [ebp + 0x56]
push eax
movzx eax, word [ebp + 0x54]
push eax
push str._d__d__d__d__d__d__d__u_s
jmp 0x464e27
movzx eax, word [ebp + 0x58]
push eax
lea eax, [ebp - 0x78]
push eax
movzx eax, word [ebp + 0x62]
push eax
movzx eax, word [ebp + 0x60]
push eax
movzx eax, word [ebp + 0x5e]
push eax
movzx eax, word [ebp + 0x5c]
push eax
movzx eax, word [ebp + 0x5a]
push eax
movzx eax, word [ebp + 0x56]
push eax
movzx eax, word [ebp + 0x54]
push eax
push str._04u__02u__02u__02u__02u__02u__03u_s__1u
lea eax, [ebp - 0x190c]
push eax
call esi
add esp, 0x2c
jmp 0x464928
mov esi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
lea eax, [ebp - 0x190c]
push eax
push dword [ebp + 0x40]
call fcn.0043cc80
lea ecx, [ebp + 0x40]
call fcn.00437884
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8