Function at 0x410db7
Capabilities:
Check for time delay via gettickcount
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
push 0x407f9c
push 0xa
mov dword [ebp - 8], 1
call fcn.0040adfe
mov eax, dword [0x416400]
mov esi, dword [ebp + 0x18]
push esi
mov dword [ebp - 0x10], eax
mov eax, dword [0x416444]
push 0x407f68
xor edi, edi
push edi
mov dword [ebp - 0xc], eax
call fcn.0040adfe
push dword [0x416690]
push 0x407f30
push edi
call fcn.0040adfe
push dword [0x416400]
push 0x407efc
push edi
call fcn.0040adfe
push 0x407eb8
push 0xa
call fcn.0040adfe
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
add esp, 0x34
jmp 0x410e59
mov eax, dword [ebp + 0x18]
cmp eax, 1
je 0x410ef3
cmp eax, 0x80
je 0x410ede
cmp eax, 0x102
jne 0x410e9d
push 0x407e70
push 0xa
call fcn.0040adfe
pop ecx
pop ecx
push 0x3e8
push edi
lea eax, [ebp - 0x10]
push eax
push 2
call ebx
mov dword [ebp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp + 0x18]
mov dword [ebp - 4], eax
push 0x407e28
push 0xa
call fcn.0040adfe
add esp, 0xc
cmp dword [ebp + 0x18], edi
jne 0x410e2d
push 0x407dfc
push 0xa
call fcn.0040adfe
pop ecx
pop ecx
jmp 0x410ffd
cmp eax, 0xffffffff
je 0x410ebf
push 0x407da0
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001773
call fcn.0040a918
jmp 0x41105e
push dword [ebp - 4]
push 0x407d60
push 0x14
call fcn.0040adfe
add esp, 0xc
push dword [ebp - 4]
push 0xc0000fa3
jmp 0x411059
push 0x407d28
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001771
jmp 0x410eb5
push 0x407cec
push 0xa
call fcn.0040adfe
push 0x407ca8
push 0xa
call fcn.0040adfe
add esp, 0x10
jmp 0x41114a
cmp dword [eax + 8], edi
je 0x4112f7
dec dword [0x41668c]
push 0x407c60
push 0xa
call fcn.0040adfe
push 0x407c28
push edi
call fcn.0040adfe
mov eax, dword [0x416690]
push dword [eax + 0xc]
push 0x407bf8
push edi
call fcn.0040adfe
mov eax, dword [0x416690]
mov eax, dword [eax + 0xc]
add esp, 0x1c
push dword [eax + 4]
call sub.snmpapi.dll_SnmpUtilMemFree
mov eax, dword [0x416690]
push dword [eax + 0xc]
call sub.snmpapi.dll_SnmpUtilMemFree
mov eax, dword [0x416690]
push dword [eax + 0x14]
push 0x407bc0
push edi
call fcn.0040adfe
mov eax, dword [0x416690]
push dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
push 0x407b88
push edi
call fcn.0040adfe
mov eax, dword [0x416690]
add esp, 0x18
push dword [eax + 0x10]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [0x416690]
push 0x407b48
push edi
call fcn.0040adfe
add esp, 0xc
push dword [0x416690]
call sub.snmpapi.dll_SnmpUtilMemFree
push ebx
push 0x407b0c
push edi
mov dword [0x416690], ebx
call fcn.0040adfe
push 0x407ac8
push 0xa
call fcn.0040adfe
add esp, 0x14
cmp dword [0x414040], edi
je 0x410ffd
cmp dword [0x416468], edi
je 0x410ffd
cmp dword [0x41646c], edi
jne 0x411071
mov eax, dword [0x416690]
cmp eax, edi
jne 0x410f13
push 0x407a78
push 0xa
call fcn.0040adfe
push dword [0x416400]
push 0x407a48
push 0xa
call fcn.0040adfe
add esp, 0x14
push dword [0x416400]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x41105e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push 0x407a00
push 0x14
call fcn.0040adfe
add esp, 0xc
push esi
push 0x80001772
call fcn.0040a987
push 0x407ca8
push 0xa
call fcn.0040adfe
xor eax, eax
jmp 0x4115cf
push 0x4079a8
push 0xa
call fcn.0040adfe
push 0x407978
push 0xa
mov dword [0x41646c], edi
call fcn.0040adfe
mov eax, dword [0x416690]
add esp, 0x10
cmp eax, edi
je 0x4110f9
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
push eax
push dword [eax + 4]
call fcn.0040d86a
mov eax, dword [0x416690]
mov eax, dword [eax + 0xc]
push dword [eax + 4]
call sub.snmpapi.dll_SnmpUtilMemFree
mov eax, dword [0x416690]
push dword [eax + 0xc]
call sub.snmpapi.dll_SnmpUtilMemFree
mov eax, dword [0x416690]
mov eax, dword [eax + 0x10]
push dword [eax]
call sub.snmpapi.dll_SnmpUtilMemFree
mov eax, dword [0x416690]
push dword [eax + 0x10]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [0x416690]
call sub.snmpapi.dll_SnmpUtilMemFree
cmp ebx, edi
mov eax, ebx
mov dword [0x416690], eax
jne 0x41109b
push dword [0x416400]
push 0x407930
push 0xa
call fcn.0040adfe
add esp, 0xc
push dword [0x416400]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x411141
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
push ebx
push 0x407a00
push 0x14
call fcn.0040adfe
add esp, 0xc
push ebx
push 0x80001772
call fcn.0040a987
call fcn.00410ae4
test eax, eax
jne 0x411151
xor eax, eax
jmp 0x4115d1
mov eax, dword [0x416414]
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov eax, dword [0x416418]
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [eax], 6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x41641c]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xbc7
mov eax, dword [0x416408]
mov dword [esi], eax
mov eax, dword [0x41640c]
mov dword [esi + 4], eax
cmp dword [0x414010], edi
jne 0x4112e3
push dword [ebx + 4]
push dword [ebx]
push 0x407904
push edi
call fcn.0040adfe
push 0x416414
push 0x4078d8
push edi
call fcn.0040adfe
mov eax, dword [ebp + 0x14]
push dword [eax]
push 0x4078b0
push edi
call fcn.0040adfe
push dword [esi + 4]
push dword [esi]
push 0x407880
push edi
call fcn.0040adfe
push 0x416408
push 0x407850
push edi
call fcn.0040adfe
mov eax, dword [ebp + 0x10]
add esp, 0x44
push dword [eax]
push 0x407824
push edi
call fcn.0040adfe
push 0xbc7
push 0x4077ec
push edi
call fcn.0040adfe
push dword [ebx]
push 0x4077ac
push edi
call fcn.0040adfe
add esp, 0x24
cmp dword [ebx], edi
mov dword [ebp + 0x14], edi
jbe 0x41124d
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebx + 4]
push dword [ecx + eax*4]
push eax
push 0x40777c
push edi
call fcn.0040adfe
add esp, 0x10
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebx]
jb 0x41122b
cmp dword [esi + 4], edi
mov dword [ebp + 0x14], edi
jbe 0x4112e3
xor ebx, ebx
mov eax, dword [esi]
add eax, ebx
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [ebp + 0x14]
push 0x407740
push edi
call fcn.0040adfe
mov eax, dword [esi]
push dword [ebx + eax]
push 0x407700
push edi
call fcn.0040adfe
push 0x4076ec
push edi
call fcn.0040adfe
mov eax, dword [esi]
add esp, 0x28
cmp dword [ebx + eax], edi
mov dword [ebp + 0x10], edi
jbe 0x4112c3
mov eax, dword [esi]
mov eax, dword [ebx + eax + 4]
mov ecx, dword [ebp + 0x10]
push dword [eax + ecx*4]
push 0x4076e4
push 0xffffffffffffffff
call fcn.0040adfe
mov eax, dword [esi]
add esp, 0xc
inc dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [ebx + eax]
jb 0x41129b
push 0x4076e0
push 0xffffffffffffffff
call fcn.0040adfe
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
pop ecx
add ebx, 0x18
cmp eax, dword [esi + 4]
pop ecx
jb 0x41125b
push 0x4076a0
push 0xa
call fcn.0040adfe
xor eax, eax
inc eax
jmp 0x4115cf
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov ebx, dword [ebp + 8]
mov dword [ebx], ecx
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 0x14]
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [eax], 6
mov eax, dword [0x416690]
mov eax, dword [eax + 4]
mov dword [ecx], eax
mov eax, dword [0x416690]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [0x416690]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax]
mov dword [esi], ecx
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
cmp dword [0x414010], edi
jne 0x41145c
push dword [ebx + 4]
push dword [ebx]
push 0x407904
push edi
call fcn.0040adfe
mov eax, dword [0x416690]
push dword [eax + 0xc]
push 0x407660
push edi
call fcn.0040adfe
push dword [esi + 4]
push dword [esi]
push 0x407880
push edi
call fcn.0040adfe
mov eax, dword [0x416690]
push dword [eax + 0x10]
push 0x407620
push edi
call fcn.0040adfe
push dword [ebx]
push 0x4077ac
push edi
call fcn.0040adfe
add esp, 0x44
cmp dword [ebx], edi
mov dword [ebp + 0x14], edi
jbe 0x4113c6
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebx + 4]
push dword [ecx + eax*4]
push eax
push 0x40777c
push edi
call fcn.0040adfe
add esp, 0x10
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebx]
jb 0x4113a4
cmp dword [esi + 4], edi
mov dword [ebp + 0x14], edi
jbe 0x41145c
xor ebx, ebx
mov eax, dword [esi]
add eax, ebx
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [ebp + 0x14]
push 0x407740
push edi
call fcn.0040adfe
mov eax, dword [esi]
push dword [ebx + eax]
push 0x407700
push edi
call fcn.0040adfe
push 0x4076ec
push edi
call fcn.0040adfe
mov eax, dword [esi]
add esp, 0x28
cmp dword [ebx + eax], edi
mov dword [ebp + 0x10], edi
jbe 0x41143c
mov eax, dword [esi]
mov eax, dword [ebx + eax + 4]
mov ecx, dword [ebp + 0x10]
push dword [eax + ecx*4]
push 0x4076e4
push 0xffffffffffffffff
call fcn.0040adfe
mov eax, dword [esi]
add esp, 0xc
inc dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [ebx + eax]
jb 0x411414
push 0x4076e0
push 0xffffffffffffffff
call fcn.0040adfe
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
pop ecx
add ebx, 0x18
cmp eax, dword [esi + 4]
pop ecx
jb 0x4113d4
mov eax, dword [0x416690]
xor ebx, ebx
inc ebx
mov dword [eax + 8], ebx
push dword [0x416400]
push 0x407a48
push 0xa
call fcn.0040adfe
add esp, 0xc
push dword [0x416400]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x4114af
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push 0x407a00
push 0x14
call fcn.0040adfe
add esp, 0xc
push esi
push 0x80001772
call fcn.0040a987
cmp dword [0x414040], edi
je 0x4115c1
cmp dword [0x416468], edi
jne 0x4115c1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov esi, eax
mov eax, dword [0x416684]
cmp eax, edi
jne 0x4114f2
mov dword [0x416680], ebx
mov dword [0x416684], esi
jmp 0x4115c1
mov ecx, esi
sub ecx, eax
cmp ecx, dword [0x416410]
jb 0x41150e
push 0x4075c8
push 0xa
call fcn.0040adfe
pop ecx
pop ecx
jmp 0x4114e1
mov eax, dword [0x416680]
inc eax
cmp eax, dword [0x416420]
mov dword [0x416680], eax
jb 0x4115b1
push 0x407568
push 0xa
call fcn.0040adfe
push 0x407510
push 0xa
call fcn.0040adfe
add esp, 0x10
push 0x40000bc7
call fcn.0040a918
push 4
lea eax, [ebp - 8]
push eax
push 4
push edi
push 0x407504
push dword [0x41643c]
mov dword [0x416468], ebx
mov dword [0x41646c], ebx
mov dword [0x416680], edi
mov dword [0x416684], edi
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov esi, eax
neg esi
sbb esi, esi
neg esi
je 0x4115a1
push esi
push 0x4074a0
push 0x14
call fcn.0040adfe
add esp, 0xc
push esi
push 0x80000402
call fcn.0040a987
push 0x407458
push 0xa
call fcn.0040adfe
pop ecx
pop ecx
jmp 0x4115c1
push ecx
push eax
push 0x407410
push edi
call fcn.0040adfe
add esp, 0x10
push 0x4076a0
push 0xa
call fcn.0040adfe
mov eax, ebx
pop ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret 0x14