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

Disassembly:
push ebp
mov eax, 0x197c
lea ebp, [esp - 0x70]
call fcn.00480210
push ebx
push esi
lea eax, [ebp + 0x78]
push edi
push eax
mov dword [ebp + 0x34], ecx
call fcn.00430961
lea ecx, [ebp + 0x40]
mov dword [esp], 0x49d1b4
call fcn.004403c3
lea eax, [ebp + 0x78]
push eax
call fcn.00430961
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 0x49d1b0
mov word [ebp - 0x190c], cx
mov dword [ebp + 0x30], ecx
xor bl, bl
call fcn.00437ad0
add esp, 0x10
test al, al
je 0x45eb5a
inc bl
push 2
lea eax, [ebp + 0x78]
push eax
push 0x49cf48
call fcn.00437ad0
mov esi, dword [sym.imp.KERNEL32.DLL_GetSystemTimeAsFileTime]
add esp, 0xc
test al, al
je 0x45eb89
push 0x4acc38
call dword [sym.imp.KERNEL32.DLL_QueryPerformanceCounter]
push 0x4ace94
call esi
test bl, bl
lea eax, [ebp + 0x4c]
push eax
je 0x45eb99
call fcn.00434792
pop ecx
jmp 0x45eb9b
call esi
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
jne 0x45ed92
mov ebx, dword [sym.imp.KERNEL32.DLL_SystemTimeToFileTime]
push 5
pop edi
push edi
push esi
push 0x49d1a8
call fcn.004318b1
add esp, 0xc
test al, al
je 0x45ebeb
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.00438b6a
test eax, eax
pop ecx
pop ecx
jg 0x45ed85
mov esi, 0x80070057
jmp 0x45f313
push edi
push esi
push 0x49d1a0
call fcn.004318b1
add esp, 0xc
test al, al
je 0x45ec3e
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x78]
add esi, 0xa
push eax
mov dword [ebp + 0x78], esi
call fcn.00438b6a
test eax, eax
pop ecx
pop ecx
jle 0x45ebe1
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.0047fe80
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], edx
jmp 0x45ed85
push 8
push esi
push 0x49ca4c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x45ec58
mov byte [ebp + 0x48], 1
jmp 0x45ec70
push 7
push esi
push 0x49ca44
call fcn.004318b1
add esp, 0xc
test al, al
je 0x45ecb3
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.0043caf1
add esp, 0xc
test eax, eax
jle 0x45ebe1
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 0x45ed7b
push 6
push esi
push 0x49ca3c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x45eccd
mov byte [ebp + 0x48], 1
jmp 0x45ece4
push edi
push esi
push 0x49ca34
call fcn.004318b1
add esp, 0xc
test al, al
je 0x45ed16
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.0043caf1
add esp, 0xc
test eax, eax
jle 0x45ebe1
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x54]
push eax
call ebx
jmp 0x45ed7b
push edi
push esi
push 0x49d198
call fcn.00431867
add esp, 0xc
test al, al
je 0x45ed2f
mov byte [ebp + 0x66], 1
jmp 0x45ed7b
push 7
push esi
push 0x49d190
call fcn.00431867
add esp, 0xc
test al, al
je 0x45ed49
mov byte [ebp + 0x6f], 2
jmp 0x45ed7b
push 6
push esi
push 0x49d188
call fcn.00431867
add esp, 0xc
test al, al
je 0x45ed63
mov byte [ebp + 0x6f], 1
jmp 0x45ed7b
push 3
push esi
push 0x49d184
call fcn.00431867
add esp, 0xc
test al, al
je 0x45ed7b
mov byte [ebp + 0x67], 1
lea eax, [ebp + 0x78]
push eax
call fcn.0040459d
pop ecx
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
je 0x45ebb1
cmp word [esi], 0
je 0x45edc1
lea eax, [ebp + 0x78]
push eax
call fcn.00404579
mov eax, dword [ebp + 0x78]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x40]
call fcn.00435e88
mov ecx, dword [ebp + 0x34]
push 0
lea eax, [ebp + 0x40]
push eax
call fcn.00402c4d
lea eax, [ebp + 0x78]
push eax
call fcn.00430961
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 0x45edeb
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 0x45f230
lea eax, [ebp - 0x19c]
cmp dword [ebp + 0x68], eax
jae 0x45f222
mov eax, dword [ebp + 0x78]
cmp word [eax], 0
je 0x45f222
mov ebx, dword [ebp + 0x68]
lea eax, [ebp - 0x190c]
cmp ebx, eax
je 0x45ee39
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 0x49d180
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x45ee92
push 0
push 0x989680
lea eax, [ebp + 0x4c]
push dword [eax + 4]
push dword [eax]
call fcn.0047fdd0
sub eax, 0xb6109100
sbb edx, 2
push edx
push eax
push ebx
call fcn.004752d0
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 0x45f204
push edi
lea eax, [ebp + 0x78]
push eax
push 0x49d178
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x45eede
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 0x45f186
push edi
lea eax, [ebp + 0x78]
push eax
push 0x49d174
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x45eefc
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
jmp 0x45ef36
push edi
lea eax, [ebp + 0x78]
push eax
push 0x49d16c
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x45ef19
call fcn.00434833
jmp 0x45ef34
push edi
lea eax, [ebp + 0x78]
push eax
push 0x49d160
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x45ef41
call fcn.004348b8
push edx
push eax
push ebx
call fcn.004752ea
jmp 0x45f201
push edi
lea eax, [ebp + 0x78]
push eax
push 0x49d15c
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1f2
or edi, 0xffffffff
push 0x49d158
mov eax, edi
lea ebx, [ebp + 0x78]
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1f2
push edi
mov eax, ebx
push eax
push 0x49d154
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1ec
push 0x49d150
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1ec
push edi
mov eax, ebx
push eax
push 0x49d14c
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1e6
push 0x49d148
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1e6
push edi
mov eax, ebx
push eax
push 0x49d144
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1e0
push 0x49d13c
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1e0
push edi
mov eax, ebx
push eax
push 0x49d138
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1da
push 0x49d134
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1da
push edi
mov eax, ebx
push eax
push 0x4957f0
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1d4
push 0x49d130
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1d4
push edi
mov eax, ebx
push eax
push 0x4972ec
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1ce
push 0x49d12c
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1ce
push edi
mov eax, ebx
push eax
push 0x49d128
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1c8
push 0x49d120
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1c8
push edi
mov eax, ebx
push eax
push 0x49d11c
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1ad
push 0x49d118
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1ad
push edi
mov eax, ebx
push eax
push 0x49d114
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f1a9
push 0x49d10c
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f1a9
push edi
mov eax, ebx
push eax
push 0x49d108
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x45f199
push 0x49d104
mov eax, edi
call fcn.00435a6a
test al, al
pop ecx
jne 0x45f199
push edi
mov eax, ebx
push eax
push 0x49d0fc
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x45f15d
push dword [0x4acc34]
push dword [0x4acc30]
jmp 0x45f183
push edi
lea eax, [ebp + 0x78]
push eax
push 0x49d0f4
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x45f18d
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.004752d0
jmp 0x45f201
lea eax, [ebp + 0x78]
push eax
call fcn.0040459d
pop ecx
jmp 0x45f204
lea edi, [ebp + 0x54]
call fcn.004346b4
push eax
push 0x4954d0
jmp 0x45f1fc
push 1
jmp 0x45f1af
push 0
lea eax, [ebp + 0x54]
push eax
call fcn.0043474e
push eax
push 0x4954d0
push dword [ebp + 0x68]
call esi
add esp, 0x14
jmp 0x45f204
movzx eax, word [ebp + 0x62]
jmp 0x45f1f6
movzx eax, word [ebp + 0x60]
jmp 0x45f1f6
movzx eax, word [ebp + 0x5e]
jmp 0x45f1f6
movzx eax, word [ebp + 0x5c]
jmp 0x45f1f6
movzx eax, word [ebp + 0x58]
jmp 0x45f1f6
movzx eax, word [ebp + 0x5a]
jmp 0x45f1f6
movzx eax, word [ebp + 0x56]
jmp 0x45f1f6
movzx eax, word [ebp + 0x54]
push eax
push 0x494e3c
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 0x45ee15
cmp word [ebp - 0x190c], 0
jne 0x45f310
and word [ebp - 0x78], 0
cmp byte [ebp + 0x67], 0
je 0x45f25c
push 0
push 0x2710
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.00482900
push eax
lea eax, [ebp - 0x78]
push 0x49d0e4
push eax
call esi
add esp, 0xc
cmp byte [ebp + 0x6f], 0
jne 0x45f295
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 0x49d0b0
jmp 0x45f2ff
cmp byte [ebp + 0x6f], 1
jne 0x45f2ce
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 0x49d07c
jmp 0x45f2ff
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 0x49d028
lea eax, [ebp - 0x190c]
push eax
call esi
add esp, 0x2c
jmp 0x45ee06
mov esi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
lea eax, [ebp - 0x190c]
push eax
push dword [ebp + 0x40]
call fcn.00435749
lea ecx, [ebp + 0x40]
call fcn.0043092f
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8