Function at 0x5002c0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x572d93
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x5d6b80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x90], ecx
lea eax, [ebp - 0x80]
push eax
call fcn.004a34f0
call fcn.0045adc0
xor edx, edx
mov ecx, eax
test ecx, ecx
setne dl
test edx, edx
jne 0x500319
push 0x80004005
call fcn.0045a8f0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x8c], eax
mov esi, dword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 4], 0
mov word [ebp - 0x20], ax
movq qword [ebp - 0x1e], xmm0
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
cmp dword [ebp - 0x78], eax
jne 0x500372
movsd xmm0, qword [ebp - 0x80]
lea eax, [ebp - 0x20]
push eax
sub esp, 8
movsd qword [esp], xmm0
call esi
cmp eax, 1
jne 0x500372
movzx eax, word [ebp - 0x14]
mov dword [ebp - 0x84], eax
jmp 0x50037c
mov dword [ebp - 0x84], 0xffffffff
xor eax, eax
xorps xmm0, xmm0
mov word [ebp - 0x30], ax
movq qword [ebp - 0x2e], xmm0
mov dword [ebp - 0x26], eax
mov word [ebp - 0x22], ax
cmp dword [ebp - 0x78], eax
jne 0x5003ba
movsd xmm0, qword [ebp - 0x80]
lea eax, [ebp - 0x30]
push eax
sub esp, 8
movsd qword [esp], xmm0
call esi
cmp eax, 1
jne 0x5003ba
movzx eax, word [ebp - 0x26]
mov dword [ebp - 0x88], eax
jmp 0x5003c4
mov dword [ebp - 0x88], 0xffffffff
xor eax, eax
xorps xmm0, xmm0
mov word [ebp - 0x40], ax
movq qword [ebp - 0x3e], xmm0
mov dword [ebp - 0x36], eax
mov word [ebp - 0x32], ax
cmp dword [ebp - 0x78], eax
jne 0x5003ff
movsd xmm0, qword [ebp - 0x80]
lea eax, [ebp - 0x40]
push eax
sub esp, 8
movsd qword [esp], xmm0
call esi
cmp eax, 1
jne 0x5003ff
movzx eax, word [ebp - 0x38]
mov dword [ebp - 0x74], eax
jmp 0x500406
mov dword [ebp - 0x74], 0xffffffff
xor eax, eax
xorps xmm0, xmm0
mov word [ebp - 0x70], ax
movq qword [ebp - 0x6e], xmm0
mov dword [ebp - 0x66], eax
mov word [ebp - 0x62], ax
cmp dword [ebp - 0x78], eax
jne 0x50043e
movsd xmm0, qword [ebp - 0x80]
lea eax, [ebp - 0x70]
push eax
sub esp, 8
movsd qword [esp], xmm0
call esi
cmp eax, 1
jne 0x50043e
movzx ebx, word [ebp - 0x6a]
jmp 0x500441
or ebx, 0xffffffff
xor eax, eax
xorps xmm0, xmm0
mov word [ebp - 0x60], ax
movq qword [ebp - 0x5e], xmm0
mov dword [ebp - 0x56], eax
mov word [ebp - 0x52], ax
cmp dword [ebp - 0x78], eax
jne 0x500479
movsd xmm0, qword [ebp - 0x80]
lea eax, [ebp - 0x60]
push eax
sub esp, 8
movsd qword [esp], xmm0
call esi
cmp eax, 1
jne 0x500479
movzx edi, word [ebp - 0x5e]
jmp 0x50047c
or edi, 0xffffffff
xor eax, eax
xorps xmm0, xmm0
mov word [ebp - 0x50], ax
movq qword [ebp - 0x4e], xmm0
mov dword [ebp - 0x46], eax
mov word [ebp - 0x42], ax
cmp dword [ebp - 0x78], eax
jne 0x5004b4
movsd xmm0, qword [ebp - 0x80]
lea eax, [ebp - 0x50]
push eax
sub esp, 8
movsd qword [esp], xmm0
call esi
cmp eax, 1
jne 0x5004b4
movzx eax, word [ebp - 0x50]
jmp 0x5004b7
or eax, 0xffffffff
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x74]
push ebx
push edi
push eax
lea eax, [ebp - 0x8c]
push str._d__02d__02dT_02d:_02d:_02d
push eax
call fcn.0045acb0
add esp, 0x20
call fcn.0045adc0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x5004f9
push 0x80004005
call fcn.0045a8f0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x90]
mov byte [ebp - 4], 1
push dword [eax + 0x284]
lea eax, [ebp - 0x74]
push dword [0x5d67d4]
push 0x57e340
push eax
call fcn.0045acb0
mov edi, dword [ebp - 0x74]
lea ecx, [ebp - 0x1c]
add esp, 0x10
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
push 2
push edi
push reloc.WS2_32.dll_accept
call fcn.0045b220
mov esi, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x74], eax
test eax, eax
jne 0x500583
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
push esi
push 1
push 0
push str.dailyconfigupdateime
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x74], eax
test ebx, ebx
je 0x50058e
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
mov byte [ebp - 4], 0
cmp dword [ebp - 0x74], ebx
lea edx, [edi - 0x10]
lea ecx, [edx + 0xc]
sete bl
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x5005b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x5005d4
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00525878
mov esp, ebp
pop ebp
ret