Function at 0x4c1c40
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xaa4
mov eax, dword [0x4f72bc]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
lea ecx, [ebp - 0xaa0]
push ecx
push 0x20106
push 0
push esi
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4c1e79
mov dword [ebp - 0x20], eax
movzx edx, byte [ebp - 0x1d]
movzx ecx, byte [ebp - 0x1f]
push edx
movzx edx, byte [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
movzx eax, byte [ebp - 0x1e]
push eax
movzx eax, byte [ebp - 0x21]
push ecx
movzx ecx, byte [ebp - 0x22]
push edx
movzx edx, byte [ebp - 0x23]
push eax
movzx eax, byte [ebp - 0x24]
push ecx
movzx ecx, byte [ebp - 0x25]
push edx
movzx edx, byte [ebp - 0x26]
push eax
movzx eax, byte [ebp - 0x27]
push ecx
push edx
push eax
push 2
push edi
push esi
push 0
lea ecx, [ebp - 0x28c]
push str.Status:__d___Key:__s___Title:__s___02x__02x__02x__02x__02x__02x__02x__02x__02x__02x__02x__02x
push ecx
mov byte [ebp - 0x28], 2
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x44
push 0x7ff
lea edx, [ebp - 0xa8b]
push 0
push edx
mov byte [ebp - 0xa8c], 0
call fcn.004d29c0
xor eax, eax
add esp, 0xc
push 0x3f
push eax
mov dword [ebp - 0x47], eax
mov dword [ebp - 0x43], eax
mov dword [ebp - 0x3f], eax
mov dword [ebp - 0x3b], eax
mov dword [ebp - 0x37], eax
mov dword [ebp - 0x33], eax
mov dword [ebp - 0x2f], eax
mov word [ebp - 0x2b], ax
mov byte [ebp - 0x29], al
mov byte [ebp - 0x8c], al
lea eax, [ebp - 0x8b]
push eax
mov byte [ebp - 0x48], 0
call fcn.004d29c0
add esp, 0xc
cmp dword [0x4f8b70], 0x2706
jg 0x4c1e50
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
lea eax, [ebp - 0x28c]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c1d50
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
sub eax, edx
cmp eax, 0x100
jbe 0x4c1d7d
push 0x500d78
lea ecx, [ebp - 0xa8c]
push ecx
lea edx, [ebp - 0x48]
push edx
push str.TestLog
call esi
lea eax, [ebp - 0x28c]
push eax
mov edx, 0x7ffffffe
mov eax, 0x100
mov ecx, 0x505ea8
call fcn.004010b0
inc dword [0x4f8b70]
lea ecx, [ebp - 0xa9c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [ebp - 0xa8e]
movzx eax, word [ebp - 0xa90]
movzx ecx, word [ebp - 0xa92]
push edx
movzx edx, word [ebp - 0xa94]
push eax
movzx eax, word [ebp - 0xa96]
push ecx
movzx ecx, word [ebp - 0xa9a]
push edx
movzx edx, word [ebp - 0xa9c]
push eax
push ecx
push edx
push str._04d__02d__02d___02d:_02d:_02d:_02d
lea eax, [ebp - 0x8c]
push 0x40
push eax
call fcn.00402ee0
mov ecx, dword [0x4f8b70]
push ecx
push ebx
push 0x4ec454
lea edx, [ebp - 0x48]
push 0x20
push edx
call fcn.00402ee0
add esp, 0x3c
lea eax, [ebp - 0x28c]
push eax
push edi
lea ecx, [ebp - 0x8c]
push ecx
push str._s____s:__s
lea edx, [ebp - 0xa8c]
push 0x800
push edx
call fcn.00402ee0
add esp, 0x18
push 0x500d78
lea eax, [ebp - 0xa8c]
push eax
lea ecx, [ebp - 0x48]
push ecx
push str.TestLog
call esi
mov eax, dword [ebp - 0xaa0]
push 0xc
lea edx, [ebp - 0x28]
push edx
push 3
push 0
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x4c1e8c
mov ecx, dword [ebp - 0xaa0]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
or eax, 0xffffffff
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xaa0]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 8]
movzx eax, byte [ebp - 0x28]
pop esi
xor ecx, ebp
pop ebx
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret