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

Disassembly:
push ebp
mov eax, 0x197c
lea ebp, [esp - 0x70]
call fcn.0047a810
push ebx
push esi
lea eax, [ebp + 0x78]
push edi
push eax
mov dword [ebp + 0x34], ecx
call fcn.0042dd40
lea ecx, [ebp + 0x40]
mov dword [esp], str.CurDate
call fcn.0043ccfc
lea eax, [ebp + 0x78]
push eax
call fcn.0042dd40
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 0x4965d0
mov word [ebp - 0x190c], cx
mov dword [ebp + 0x30], ecx
xor bl, bl
call fcn.004349fd
add esp, 0x10
test al, al
je 0x459933
inc bl
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4963a4
call fcn.004349fd
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
add esp, 0xc
test al, al
je 0x459962
push 0x4a5c38
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0x4a5e90
call esi
test bl, bl
lea eax, [ebp + 0x4c]
push eax
je 0x459972
call fcn.0043170b
pop ecx
jmp 0x459974
call esi
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
jne 0x459b6b
mov ebx, dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push 5
pop edi
push edi
push esi
push str.utc:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x4599c4
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.004358c4
test eax, eax
pop ecx
pop ecx
jg 0x459b5e
mov esi, 0x80070057
jmp 0x45a0ec
push edi
push esi
push str.gmt:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x459a17
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.004358c4
test eax, eax
pop ecx
pop ecx
jle 0x4599ba
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.00479e00
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], edx
jmp 0x459b5e
push 8
push esi
push str.local0:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x459a31
mov byte [ebp + 0x48], 1
jmp 0x459a49
push 7
push esi
push str.local:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x459a8c
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.00439472
add esp, 0xc
test eax, eax
jle 0x4599ba
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 0x459b54
push 6
push esi
push str.sys0:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x459aa6
mov byte [ebp + 0x48], 1
jmp 0x459abd
push edi
push esi
push str.sys:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x459aef
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.00439472
add esp, 0xc
test eax, eax
jle 0x4599ba
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x54]
push eax
call ebx
jmp 0x459b54
push edi
push esi
push str.bsys
call fcn.0042ec66
add esp, 0xc
test al, al
je 0x459b08
mov byte [ebp + 0x66], 1
jmp 0x459b54
push 7
push esi
push str.space0
call fcn.0042ec66
add esp, 0xc
test al, al
je 0x459b22
mov byte [ebp + 0x6f], 2
jmp 0x459b54
push 6
push esi
push str.space
call fcn.0042ec66
add esp, 0xc
test al, al
je 0x459b3c
mov byte [ebp + 0x6f], 1
jmp 0x459b54
push 3
push esi
push 0x4965a4
call fcn.0042ec66
add esp, 0xc
test al, al
je 0x459b54
mov byte [ebp + 0x67], 1
lea eax, [ebp + 0x78]
push eax
call fcn.0040417e
pop ecx
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
je 0x45998a
cmp word [esi], 0
je 0x459b9a
lea eax, [ebp + 0x78]
push eax
call fcn.0040415a
mov eax, dword [ebp + 0x78]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x40]
call fcn.00432ddd
mov ecx, dword [ebp + 0x34]
push 0
lea eax, [ebp + 0x40]
push eax
call fcn.00402bfa
lea eax, [ebp + 0x78]
push eax
call fcn.0042dd40
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 0x459bc4
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 0x45a009
lea eax, [ebp - 0x19c]
cmp dword [ebp + 0x68], eax
jae 0x459ffb
mov eax, dword [ebp + 0x78]
cmp word [eax], 0
je 0x459ffb
mov ebx, dword [ebp + 0x68]
lea eax, [ebp - 0x190c]
cmp ebx, eax
je 0x459c12
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 0x4965a0
call fcn.004349fd
add esp, 0xc
test al, al
je 0x459c6b
push 0
push 0x989680
lea eax, [ebp + 0x4c]
push dword [eax + 4]
push dword [eax]
call fcn.00479d50
sub eax, 0xb6109100
sbb edx, 2
push edx
push eax
push ebx
call fcn.0046f8a5
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 0x459fdd
push edi
lea eax, [ebp + 0x78]
push eax
push str.zone
call fcn.004349fd
add esp, 0xc
test al, al
je 0x459cb7
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 0x459f5f
push edi
lea eax, [ebp + 0x78]
push eax
push 0x496594
call fcn.004349fd
add esp, 0xc
test al, al
je 0x459cd5
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
jmp 0x459d0f
push edi
lea eax, [ebp + 0x78]
push eax
push str.uptime
call fcn.004349fd
add esp, 0xc
test al, al
je 0x459cf2
call fcn.004317ac
jmp 0x459d0d
push edi
lea eax, [ebp + 0x78]
push eax
push str.uptimens
call fcn.004349fd
add esp, 0xc
test al, al
je 0x459d1a
call fcn.00431831
push edx
push eax
push ebx
call fcn.0046f8bf
jmp 0x459fda
push edi
lea eax, [ebp + 0x78]
push eax
push 0x49657c
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459fcb
or edi, 0xffffffff
push 0x496578
mov eax, edi
lea ebx, [ebp + 0x78]
call fcn.004329b8
test al, al
pop ecx
jne 0x459fcb
push edi
mov eax, ebx
push eax
push 0x496574
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459fc5
push 0x496570
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459fc5
push edi
mov eax, ebx
push eax
push 0x49656c
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459fbf
push 0x496568
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459fbf
push edi
mov eax, ebx
push eax
push 0x496564
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459fb9
push 0x49655c
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459fb9
push edi
mov eax, ebx
push eax
push 0x496558
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459fb3
push 0x496554
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459fb3
push edi
mov eax, ebx
push eax
push 0x48f5f8
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459fad
push 0x496550
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459fad
push edi
mov eax, ebx
push eax
push 0x492264
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459fa7
push 0x49654c
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459fa7
push edi
mov eax, ebx
push eax
push 0x496548
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459fa1
push 0x496540
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459fa1
push edi
mov eax, ebx
push eax
push 0x49653c
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459f86
push 0x496538
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459f86
push edi
mov eax, ebx
push eax
push 0x496534
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459f82
push 0x49652c
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459f82
push edi
mov eax, ebx
push eax
push 0x496528
call fcn.004349fd
add esp, 0xc
test al, al
jne 0x459f72
push 0x496524
mov eax, edi
call fcn.004329b8
test al, al
pop ecx
jne 0x459f72
push edi
mov eax, ebx
push eax
push str.Freq
call fcn.004349fd
add esp, 0xc
test al, al
je 0x459f36
push dword [0x4a5c34]
push dword [0x4a5c30]
jmp 0x459f5c
push edi
lea eax, [ebp + 0x78]
push eax
push str.Counter
call fcn.004349fd
add esp, 0xc
test al, al
je 0x459f66
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.0046f8a5
jmp 0x459fda
lea eax, [ebp + 0x78]
push eax
call fcn.0040417e
pop ecx
jmp 0x459fdd
lea edi, [ebp + 0x54]
call fcn.0043162d
push eax
push 0x48f348
jmp 0x459fd5
push 1
jmp 0x459f88
push 0
lea eax, [ebp + 0x54]
push eax
call fcn.004316c7
push eax
push 0x48f348
push dword [ebp + 0x68]
call esi
add esp, 0x14
jmp 0x459fdd
movzx eax, word [ebp + 0x62]
jmp 0x459fcf
movzx eax, word [ebp + 0x60]
jmp 0x459fcf
movzx eax, word [ebp + 0x5e]
jmp 0x459fcf
movzx eax, word [ebp + 0x5c]
jmp 0x459fcf
movzx eax, word [ebp + 0x58]
jmp 0x459fcf
movzx eax, word [ebp + 0x5a]
jmp 0x459fcf
movzx eax, word [ebp + 0x56]
jmp 0x459fcf
movzx eax, word [ebp + 0x54]
push eax
push 0x490dc4
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 0x459bee
cmp word [ebp - 0x190c], 0
jne 0x45a0e9
and word [ebp - 0x78], 0
cmp byte [ebp + 0x67], 0
je 0x45a035
push 0
push 0x2710
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.0047c8b0
push eax
lea eax, [ebp - 0x78]
push str.._04lu
push eax
call esi
add esp, 0xc
cmp byte [ebp + 0x6f], 0
jne 0x45a06e
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 0x45a0d8
cmp byte [ebp + 0x6f], 1
jne 0x45a0a7
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 0x45a0d8
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 0x459bdf
mov esi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
lea eax, [ebp - 0x190c]
push eax
push dword [ebp + 0x40]
call fcn.00432698
lea ecx, [ebp + 0x40]
call fcn.0042dd2d
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8