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

Disassembly:
push ebp
mov eax, 0x197c
lea ebp, [esp - 0x70]
call fcn.0047bd30
push ebx
push esi
lea eax, [ebp + 0x78]
push edi
push eax
mov dword [ebp + 0x34], ecx
call fcn.0042ebab
lea ecx, [ebp + 0x40]
mov dword [esp], str.CurDate
call fcn.0043ddc9
lea eax, [ebp + 0x78]
push eax
call fcn.0042ebab
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 0x4976c8
mov word [ebp - 0x190c], cx
mov dword [ebp + 0x30], ecx
xor bl, bl
call fcn.00435950
add esp, 0x10
test al, al
je 0x45ad27
inc bl
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4974a0
call fcn.00435950
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
add esp, 0xc
test al, al
je 0x45ad56
push 0x4a6c38
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0x4a6e90
call esi
test bl, bl
lea eax, [ebp + 0x4c]
push eax
je 0x45ad66
call fcn.004326d5
pop ecx
jmp 0x45ad68
call esi
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
jne 0x45af5f
mov ebx, dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push 5
pop edi
push edi
push esi
push str.utc:
call fcn.0042fae7
add esp, 0xc
test al, al
je 0x45adb8
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.004369a1
test eax, eax
pop ecx
pop ecx
jg 0x45af52
mov esi, 0x80070057
jmp 0x45b4e0
push edi
push esi
push str.gmt:
call fcn.0042fae7
add esp, 0xc
test al, al
je 0x45ae0b
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.004369a1
test eax, eax
pop ecx
pop ecx
jle 0x45adae
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.0047b320
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], edx
jmp 0x45af52
push 8
push esi
push str.local0:
call fcn.0042fae7
add esp, 0xc
test al, al
je 0x45ae25
mov byte [ebp + 0x48], 1
jmp 0x45ae3d
push 7
push esi
push str.local:
call fcn.0042fae7
add esp, 0xc
test al, al
je 0x45ae80
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.0043a54f
add esp, 0xc
test eax, eax
jle 0x45adae
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 0x45af48
push 6
push esi
push str.sys0:
call fcn.0042fae7
add esp, 0xc
test al, al
je 0x45ae9a
mov byte [ebp + 0x48], 1
jmp 0x45aeb1
push edi
push esi
push str.sys:
call fcn.0042fae7
add esp, 0xc
test al, al
je 0x45aee3
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.0043a54f
add esp, 0xc
test eax, eax
jle 0x45adae
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x54]
push eax
call ebx
jmp 0x45af48
push edi
push esi
push 0x4976b0
call fcn.0042fa9d
add esp, 0xc
test al, al
je 0x45aefc
mov byte [ebp + 0x66], 1
jmp 0x45af48
push 7
push esi
push str.space0
call fcn.0042fa9d
add esp, 0xc
test al, al
je 0x45af16
mov byte [ebp + 0x6f], 2
jmp 0x45af48
push 6
push esi
push 0x4976a0
call fcn.0042fa9d
add esp, 0xc
test al, al
je 0x45af30
mov byte [ebp + 0x6f], 1
jmp 0x45af48
push 3
push esi
push 0x49769c
call fcn.0042fa9d
add esp, 0xc
test al, al
je 0x45af48
mov byte [ebp + 0x67], 1
lea eax, [ebp + 0x78]
push eax
call fcn.0040418b
pop ecx
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
je 0x45ad7e
cmp word [esi], 0
je 0x45af8e
lea eax, [ebp + 0x78]
push eax
call fcn.00404167
mov eax, dword [ebp + 0x78]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x40]
call fcn.00433d4a
mov ecx, dword [ebp + 0x34]
push 0
lea eax, [ebp + 0x40]
push eax
call fcn.00402c07
lea eax, [ebp + 0x78]
push eax
call fcn.0042ebab
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 0x45afb8
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 0x45b3fd
lea eax, [ebp - 0x19c]
cmp dword [ebp + 0x68], eax
jae 0x45b3ef
mov eax, dword [ebp + 0x78]
cmp word [eax], 0
je 0x45b3ef
mov ebx, dword [ebp + 0x68]
lea eax, [ebp - 0x190c]
cmp ebx, eax
je 0x45b006
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 0x497698
call fcn.00435950
add esp, 0xc
test al, al
je 0x45b05f
push 0
push 0x989680
lea eax, [ebp + 0x4c]
push dword [eax + 4]
push dword [eax]
call fcn.0047b270
sub eax, 0xb6109100
sbb edx, 2
push edx
push eax
push ebx
call fcn.00470db5
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 0x45b3d1
push edi
lea eax, [ebp + 0x78]
push eax
push str.zone
call fcn.00435950
add esp, 0xc
test al, al
je 0x45b0ab
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 0x45b353
push edi
lea eax, [ebp + 0x78]
push eax
push 0x49768c
call fcn.00435950
add esp, 0xc
test al, al
je 0x45b0c9
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
jmp 0x45b103
push edi
lea eax, [ebp + 0x78]
push eax
push 0x497684
call fcn.00435950
add esp, 0xc
test al, al
je 0x45b0e6
call fcn.00432776
jmp 0x45b101
push edi
lea eax, [ebp + 0x78]
push eax
push str.uptimens
call fcn.00435950
add esp, 0xc
test al, al
je 0x45b10e
call fcn.004327fb
push edx
push eax
push ebx
call fcn.00470dcf
jmp 0x45b3ce
push edi
lea eax, [ebp + 0x78]
push eax
push 0x497674
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b3bf
or edi, 0xffffffff
push 0x497670
mov eax, edi
lea ebx, [ebp + 0x78]
call fcn.0043393c
test al, al
pop ecx
jne 0x45b3bf
push edi
mov eax, ebx
push eax
push 0x49766c
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b3b9
push 0x497668
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b3b9
push edi
mov eax, ebx
push eax
push 0x497664
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b3b3
push 0x497660
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b3b3
push edi
mov eax, ebx
push eax
push 0x49765c
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b3ad
push 0x497654
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b3ad
push edi
mov eax, ebx
push eax
push 0x497650
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b3a7
push 0x49764c
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b3a7
push edi
mov eax, ebx
push eax
push 0x4905f8
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b3a1
push 0x497648
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b3a1
push edi
mov eax, ebx
push eax
push 0x4932ac
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b39b
push 0x497644
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b39b
push edi
mov eax, ebx
push eax
push 0x497640
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b395
push 0x497638
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b395
push edi
mov eax, ebx
push eax
push 0x497634
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b37a
push 0x497630
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b37a
push edi
mov eax, ebx
push eax
push 0x49762c
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b376
push 0x497624
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b376
push edi
mov eax, ebx
push eax
push 0x497620
call fcn.00435950
add esp, 0xc
test al, al
jne 0x45b366
push 0x49761c
mov eax, edi
call fcn.0043393c
test al, al
pop ecx
jne 0x45b366
push edi
mov eax, ebx
push eax
push str.Freq
call fcn.00435950
add esp, 0xc
test al, al
je 0x45b32a
push dword [0x4a6c34]
push dword [0x4a6c30]
jmp 0x45b350
push edi
lea eax, [ebp + 0x78]
push eax
push str.Counter
call fcn.00435950
add esp, 0xc
test al, al
je 0x45b35a
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.00470db5
jmp 0x45b3ce
lea eax, [ebp + 0x78]
push eax
call fcn.0040418b
pop ecx
jmp 0x45b3d1
lea edi, [ebp + 0x54]
call fcn.004325f7
push eax
push 0x490348
jmp 0x45b3c9
push 1
jmp 0x45b37c
push 0
lea eax, [ebp + 0x54]
push eax
call fcn.00432691
push eax
push 0x490348
push dword [ebp + 0x68]
call esi
add esp, 0x14
jmp 0x45b3d1
movzx eax, word [ebp + 0x62]
jmp 0x45b3c3
movzx eax, word [ebp + 0x60]
jmp 0x45b3c3
movzx eax, word [ebp + 0x5e]
jmp 0x45b3c3
movzx eax, word [ebp + 0x5c]
jmp 0x45b3c3
movzx eax, word [ebp + 0x58]
jmp 0x45b3c3
movzx eax, word [ebp + 0x5a]
jmp 0x45b3c3
movzx eax, word [ebp + 0x56]
jmp 0x45b3c3
movzx eax, word [ebp + 0x54]
push eax
push 0x491cbc
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 0x45afe2
cmp word [ebp - 0x190c], 0
jne 0x45b4dd
and word [ebp - 0x78], 0
cmp byte [ebp + 0x67], 0
je 0x45b429
push 0
push 0x2710
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.0047ddd0
push eax
lea eax, [ebp - 0x78]
push str.._04lu
push eax
call esi
add esp, 0xc
cmp byte [ebp + 0x6f], 0
jne 0x45b462
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 0x45b4cc
cmp byte [ebp + 0x6f], 1
jne 0x45b49b
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 0x45b4cc
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 0x45afd3
mov esi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
lea eax, [ebp - 0x190c]
push eax
push dword [ebp + 0x40]
call fcn.004335ed
lea ecx, [ebp + 0x40]
call fcn.0042eb98
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8