Function at 0x447e39
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3a4
mov eax, dword [0x46700c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4699ec]
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], ebx
test al, 1
jne 0x447e82
or eax, 1
mov dword [0x4699ec], eax
mov eax, dword [edi + 0x84]
test eax, eax
je 0x447e7b
mov eax, dword [eax + 0x54]
jmp 0x447e7d
mov eax, ebx
mov dword [0x4699d8], eax
mov eax, dword [edi + 0x80]
mov ecx, dword [eax]
lea edx, reloc.ADVAPI32.dll_TraceMessage
push edx
push eax
call dword [ecx + 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - reloc.ADVAPI32.dll_TraceMessage], ebx
jl 0x447eb4
mov eax, dword [0x4699d8]
test eax, eax
je 0x447ed0
cmp dword [eax + reloc.ADVAPI32.dll_TraceMessage], ebx
je 0x447ed0
mov dword [edi + 0x34], ebx
cmp dword [edi + 0x30], ebx
je 0x447ec4
push dword [edi + 0x30]
call esi
mov dword [edi + 0x30], ebx
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
push 2
pop ecx
sub eax, ebx
je 0x447fa3
dec eax
je 0x447f98
dec eax
je 0x447f62
dec eax
je 0x447f12
dec eax
je 0x447f08
dec eax
je 0x447efe
mov ebx, 0x2779
jmp 0x447fbb
mov ebx, 0x2778
jmp 0x447f9d
mov ebx, 0x2777
jmp 0x447fbb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x64]
cmp eax, 0x1d4c0
jbe 0x447f5b
and dword [edi + 0x34], 0
cmp dword [edi + 0x30], 0
mov ebx, 0x277a
je 0x447f3a
push dword [edi + 0x30]
call esi
and dword [edi + 0x30], 0
mov esi, 0x41ef10
push 2
pop edx
mov eax, 0x80072efd
push edx
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
call fcn.00440071
jmp 0x447fb8
mov ebx, 0x2775
jmp 0x447fb8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x64]
cmp eax, 0x1d4c0
jbe 0x447f91
and dword [edi + 0x34], 0
cmp dword [edi + 0x30], 0
mov ebx, 0x277a
je 0x447f8a
push dword [edi + 0x30]
call esi
and dword [edi + 0x30], 0
mov esi, 0x41eee8
jmp 0x447f3f
mov ebx, 0x2776
jmp 0x447fb8
mov ebx, 0x277a
and dword [edi + 0x34], 0
jmp 0x447fbb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x64]
cmp eax, 0x1d4c0
ja 0x447f72
mov ebx, 0x2774
push 2
pop ecx
cmp dword [ebp - reloc.ADVAPI32.dll_TraceMessage], 0
je 0x447ff2
mov eax, dword [edi + 4]
test eax, eax
jne 0x447fd0
mov eax, 0x41d420
push dword [ebp - 0x39c]
mov esi, ecx
push eax
push 0x41ef40
call fcn.00440126
add esp, 0xc
push dword [ebp - 0x39c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
cmp eax, reloc.ADVAPI32.dll_TraceMessage
jne 0x448035
mov edi, 0x80
push edi
lea ecx, reloc.ADVAPI32.dll_TraceMessage
push ecx
push 0x26e8
push dword [0x4683ec]
call esi
test eax, eax
jne 0x448060
mov edx, 0x404164
mov eax, edi
lea ecx, reloc.ADVAPI32.dll_TraceMessage
call fcn.0042ca38
jmp 0x448060
sub eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
xor edx, edx
cmp dword [ebp - reloc.ADVAPI32.dll_TraceMessage], edx
jbe 0x44804d
div dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
jmp 0x448054
mov ecx, 0x3e80
div ecx
push eax
lea ecx, reloc.ADVAPI32.dll_TraceMessage
call fcn.00444b06
push 0x100
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push ebx
push dword [0x4683ec]
call esi
test eax, eax
je 0x448117
lea ecx, reloc.ADVAPI32.dll_TraceMessage
push 2
lea edx, [ecx + 2]
xor ebx, ebx
pop edi
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
jne 0x44808b
sub ecx, edx
lea edx, reloc.ADVAPI32.dll_TraceMessage
sar ecx, 1
lea esi, [edx + 2]
mov ax, word [edx]
add edx, edi
cmp ax, bx
jne 0x4480a2
sub edx, esi
sar edx, 1
lea edi, [edx + ecx]
xor ecx, ecx
push 2
pop edx
lea eax, [edi + 0x21]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.msvcrt.dll_void____cdecl_operator_new___unsigned_int_]
mov esi, eax
pop ecx
test esi, esi
je 0x448117
push dword [ebp - 0x394]
lea eax, reloc.ADVAPI32.dll_TraceMessage
call fcn.00444e63
test eax, eax
js 0x44810f
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
lea eax, [edi + 0x21]
mov ecx, esi
call fcn.0042c95b
add esp, 0xc
push esi
call fcn.0043f875
push esi
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
mov ecx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
test ecx, ecx
jne 0x448122
inc ecx
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
imul eax, eax, 0x64
xor edx, edx
div ecx
push eax
call fcn.0043f83d
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004655f1
leave
ret