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

Disassembly:
push ebp
mov eax, 0x197c
lea ebp, [esp - 0x70]
call fcn.0048fb80
push ebx
push esi
lea eax, [ebp + 0x78]
push edi
push eax
mov dword [ebp + 0x34], ecx
call fcn.004379a9
lea ecx, [ebp + 0x40]
mov dword [esp], str.CurDate
call fcn.004457e4
lea eax, [ebp + 0x78]
push eax
call fcn.004379a9
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 0x4adc58
mov word [ebp - 0x190c], cx
mov dword [ebp + 0x30], ecx
xor bl, bl
call fcn.0043f1bd
add esp, 0x10
test al, al
je 0x464703
inc bl
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4ad9bc
call fcn.0043f1bd
mov esi, dword [sym.imp.KERNEL32.DLL_GetSystemTimeAsFileTime]
add esp, 0xc
test al, al
je 0x464732
push 0x4bdcb0
call dword [sym.imp.KERNEL32.DLL_QueryPerformanceCounter]
push 0x4bdf00
call esi
test bl, bl
lea eax, [ebp + 0x4c]
push eax
je 0x464742
call fcn.0043bc6a
pop ecx
jmp 0x464744
call esi
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
jne 0x46493b
mov ebx, dword [sym.imp.KERNEL32.DLL_SystemTimeToFileTime]
push 5
pop edi
push edi
push esi
push str.utc:
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x464794
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.00448773
test eax, eax
pop ecx
pop ecx
jg 0x46492e
mov esi, 0x80070057
jmp 0x464ec2
push edi
push esi
push str.gmt:
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4647e7
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.00448773
test eax, eax
pop ecx
pop ecx
jle 0x46478a
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.0048f8b0
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], edx
jmp 0x46492e
push 8
push esi
push str.local0:
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x464801
mov byte [ebp + 0x48], 1
jmp 0x464819
push 7
push esi
push str.local:
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x46485c
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.00443506
add esp, 0xc
test eax, eax
jle 0x46478a
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 0x464924
push 6
push esi
push str.sys0:
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x464876
mov byte [ebp + 0x48], 1
jmp 0x46488d
push edi
push esi
push str.sys:
call fcn.00438b8f
add esp, 0xc
test al, al
je 0x4648bf
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.00443506
add esp, 0xc
test eax, eax
jle 0x46478a
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x54]
push eax
call ebx
jmp 0x464924
push edi
push esi
push str.bsys
call fcn.00438b38
add esp, 0xc
test al, al
je 0x4648d8
mov byte [ebp + 0x66], 1
jmp 0x464924
push 7
push esi
push str.space0
call fcn.00438b38
add esp, 0xc
test al, al
je 0x4648f2
mov byte [ebp + 0x6f], 2
jmp 0x464924
push 6
push esi
push str.space
call fcn.00438b38
add esp, 0xc
test al, al
je 0x46490c
mov byte [ebp + 0x6f], 1
jmp 0x464924
push 3
push esi
push 0x4adc34
call fcn.00438b38
add esp, 0xc
test al, al
je 0x464924
mov byte [ebp + 0x67], 1
lea eax, [ebp + 0x78]
push eax
call fcn.0040507c
pop ecx
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
je 0x46475a
cmp word [esi], 0
je 0x46496a
lea eax, [ebp + 0x78]
push eax
call fcn.004050f3
mov eax, dword [ebp + 0x78]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x40]
call fcn.0043d5a1
mov ecx, dword [ebp + 0x34]
push 0
lea eax, [ebp + 0x40]
push eax
call fcn.00402d87
lea eax, [ebp + 0x78]
push eax
call fcn.004379a9
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 0x464994
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 0x464ddf
lea eax, [ebp - 0x19c]
cmp dword [ebp + 0x68], eax
jae 0x464dd1
mov eax, dword [ebp + 0x78]
cmp word [eax], 0
je 0x464dd1
mov ebx, dword [ebp + 0x68]
lea eax, [ebp - 0x190c]
cmp ebx, eax
je 0x4649e2
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 0x4adc30
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x464a3b
push 0
push 0x989680
lea eax, [ebp + 0x4c]
push dword [eax + 4]
push dword [eax]
call fcn.0048f800
sub eax, 0xb6109100
sbb edx, 2
push edx
push eax
push ebx
call fcn.004842fa
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 0x464db3
push edi
lea eax, [ebp + 0x78]
push eax
push str.zone
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x464a87
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 0x464d02
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4adc24
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x464aa9
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push ebx
jmp 0x464d35
push edi
lea eax, [ebp + 0x78]
push eax
push str.uptime
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x464ac6
call fcn.0043bd0b
jmp 0x464ae1
push edi
lea eax, [ebp + 0x78]
push eax
push str.uptimens
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x464ae5
call fcn.0043bd90
push edx
push eax
jmp 0x464aa3
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4adc0c
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464da1
or edi, 0xffffffff
push 0x4adc08
mov eax, edi
lea ebx, [ebp + 0x78]
call fcn.0043d120
test al, al
pop ecx
jne 0x464da1
push edi
mov eax, ebx
push eax
push 0x4adc04
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d9b
push 0x4adc00
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d9b
push edi
mov eax, ebx
push eax
push 0x4adbfc
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d95
push 0x4adbf8
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d95
push edi
mov eax, ebx
push eax
push 0x4adbf4
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d8f
push 0x4adbec
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d8f
push edi
mov eax, ebx
push eax
push 0x4adbe8
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d89
push 0x4adbe4
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d89
push edi
mov eax, ebx
push eax
push 0x4a4b38
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d83
push 0x4adbe0
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d83
push edi
mov eax, ebx
push eax
push 0x4a6cf4
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d7d
push 0x4adbdc
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d7d
push edi
mov eax, ebx
push eax
push 0x4adbd8
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d77
push 0x4adbd0
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d77
push edi
mov eax, ebx
push eax
push 0x4adbcc
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d5c
push 0x4adbc8
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d5c
push edi
mov eax, ebx
push eax
push 0x4adbc4
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d58
push 0x4adbbc
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d58
push edi
mov eax, ebx
push eax
push 0x4adbb8
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x464d48
push 0x4adbb4
mov eax, edi
call fcn.0043d120
test al, al
pop ecx
jne 0x464d48
push edi
mov eax, ebx
push eax
push str.Freq
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x464d0c
push dword [0x4bdcac]
push dword [0x4bdca8]
push dword [ebp + 0x68]
call fcn.004842fa
jmp 0x464db0
push edi
lea eax, [ebp + 0x78]
push eax
push str.Counter
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x464d3c
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.00484314
jmp 0x464db0
lea eax, [ebp + 0x78]
push eax
call fcn.0040507c
pop ecx
jmp 0x464db3
lea edi, [ebp + 0x54]
call fcn.0043bb8a
push eax
push 0x4a47d8
jmp 0x464dab
push 1
jmp 0x464d5e
push 0
lea eax, [ebp + 0x54]
push eax
call fcn.0043bc26
push eax
push 0x4a47d8
push dword [ebp + 0x68]
call esi
add esp, 0x14
jmp 0x464db3
movzx eax, word [ebp + 0x62]
jmp 0x464da5
movzx eax, word [ebp + 0x60]
jmp 0x464da5
movzx eax, word [ebp + 0x5e]
jmp 0x464da5
movzx eax, word [ebp + 0x5c]
jmp 0x464da5
movzx eax, word [ebp + 0x58]
jmp 0x464da5
movzx eax, word [ebp + 0x5a]
jmp 0x464da5
movzx eax, word [ebp + 0x56]
jmp 0x464da5
movzx eax, word [ebp + 0x54]
push eax
push 0x4a4088
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 0x4649be
cmp word [ebp - 0x190c], 0
jne 0x464ebf
and word [ebp - 0x78], 0
cmp byte [ebp + 0x67], 0
je 0x464e0b
push 0
push 0x2710
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.00492270
push eax
lea eax, [ebp - 0x78]
push str.._04lu
push eax
call esi
add esp, 0xc
cmp byte [ebp + 0x6f], 0
jne 0x464e44
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 0x464eae
cmp byte [ebp + 0x6f], 1
jne 0x464e7d
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 0x464eae
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 0x4649af
mov esi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
lea eax, [ebp - 0x190c]
push eax
push dword [ebp + 0x40]
call fcn.0043cd78
lea ecx, [ebp + 0x40]
call fcn.00437960
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8