Function at 0x44c6fc
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbe4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x41c], ebx
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x410], ebx
mov dword [ebp - 0x414], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x44ca5f
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x44ca2f
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x4ca5d0], 0
je 0x44c893
cmp byte [ebp + 8], 0
je 0x44c893
cmp dword [ebp - 8], 0x80000001
jne 0x44c893
lea eax, [ebp - 0x414]
mov edx, dword [0x4cc4b4]
mov edx, dword [edx]
call fcn.00405478
mov eax, dword [ebp - 0x414]
lea edx, [ebp - 0x410]
call fcn.004094c0
mov edx, dword [ebp - 0x410]
mov eax, 0x44ca78
call fcn.0040585c
test eax, eax
jle 0x44c893
xor edx, edx
push ebp
push 0x44c889
push dword fs:[edx]
mov dword fs:[edx], esp
xor eax, eax
mov dword [ebp - 0x20], eax
xor edx, edx
push ebp
push 0x44c7f3
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x20]
push eax
call fcn.0044c694
test eax, 0x80000000
sete al
neg al
sbb eax, eax
test eax, eax
jne 0x44c7e9
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44c7fd
cmp dword [ebp - 0x20], 0
je 0x44c87f
push 0x44ca88
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0044c504
mov eax, dword [ebp - 0x418]
mov edx, dword [ebp + 0x14]
call fcn.004056a8
jne 0x44c842
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ca39
push 0x44ca98
push dword [ebp - 0xc]
push 0x44caa8
push dword [ebp - 0x10]
lea eax, [ebp - 4]
mov edx, 4
call fcn.00405614
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 4]
call fcn.0044e2a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ca39
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44c893
lea edx, [ebp - 0x41c]
mov eax, dword [ebp - 0xc]
call fcn.0044c378
mov edx, dword [ebp - 0x41c]
lea eax, [ebp - 0x215]
call fcn.0040a7a8
cmp byte [ebp + 0x10], 0
je 0x44c8d1
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x215]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_RegCreateKeyA
mov dword [ebp - 0x18], eax
jmp 0x44c8e8
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x215]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_RegOpenKeyA
mov dword [ebp - 0x18], eax
xor edx, edx
push ebp
push 0x44ca1e
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [ebp - 0x18], 0
je 0x44c90e
call fcn.00404c38
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ca39
xor edx, edx
push ebp
push 0x44c9eb
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x44c928
sub eax, 4
mov eax, dword [eax]
mov ebx, eax
lea eax, [ebx + 1]
cmp eax, 0x1f4
jge 0x44c93f
lea eax, [ebp - 0x215]
mov dword [ebp - 0x1c], eax
jmp 0x44c947
call fcn.00402ee8
mov dword [ebp - 0x1c], eax
xor edx, edx
push ebp
push 0x44c9bc
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.0040a7a8
mov byte [ebp - 0x40a], 0
lea eax, [ebp - 0x40a]
mov edx, dword [ebp - 0x10]
call fcn.0040a7a8
cmp dword [ebp - 0x10], 0
jne 0x44c97f
xor eax, eax
jmp 0x44c985
lea eax, [ebp - 0x40a]
push ebx
mov edx, dword [ebp - 0x1c]
push edx
push 1
push 0
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_RegSetValueExA
mov dword [ebp - 0x18], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44c9c3
lea eax, [ebp - 0x215]
cmp eax, dword [ebp - 0x1c]
je 0x44c9bb
mov eax, dword [ebp - 0x1c]
call fcn.00402f1c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44ca66
lea eax, [ebp - 0x41c]
mov edx, 4
call fcn.004052a4
lea eax, [ebp - 4]
call fcn.00405280
ret