Function at 0x4044a0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x424b1b
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
mov eax, dword [0x430510]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x88], ebx
mov edi, ecx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x44], 0x2537160b
mov dword [ebp - 0x40], 0x20be4e2a
mov dword [ebp - 0x3c], 0x39d51f1f
mov dword [ebp - 0x38], 0xdffb9c9d
mov dword [ebp - 0x34], 0x4ae99484
mov dword [ebp - 0x30], 0x3ccb0db5
mov dword [ebp - 0x2c], 0xb434bab5
mov dword [ebp - 0x28], 0x925b3508
mov dword [ebp - 0x24], 0xa34c1735
mov dword [ebp - 0x20], 0xa747b964
mov dword [ebp - 0x1c], 0x52a79b0b
mov dword [ebp - 0x18], 0x7161b495
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x84]
push ecx
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x44]
xor eax, eax
push ecx
push eax
lea esi, [ebp - 0xcc]
call fcn.0040ad40
mov edx, dword [ebp - 0x84]
push edx
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x24]
xor eax, eax
push edx
push eax
lea esi, [ebp - 0xac]
call fcn.0040ad40
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 4
call fcn.00402480
add esp, 4
cmp al, 1
jne 0x40475d
mov ecx, dword [ebp - 0x9c]
push ebx
lea edx, [ebp - 0x60]
call fcn.00402510
add esp, 4
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x88], 1
jb 0x40460d
mov eax, dword [eax]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push ebx
lea ecx, [ebp - 0x8c]
push ecx
push ebx
push 0x2001f
push ebx
push ebx
push ebx
push eax
push connect
call esi
test eax, eax
je 0x404674
mov ecx, dword [ebp - 0x9c]
push ebx
lea edx, [ebp - 0x7c]
call fcn.00402510
add esp, 4
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x88], 3
jb 0x404654
mov eax, dword [eax]
push ebx
lea edx, [ebp - 0x8c]
push edx
push ebx
push 0x2001f
push ebx
push ebx
push ebx
push eax
push connect
call esi
mov byte [ebp - 0x7d], bl
test eax, eax
jne 0x404678
mov byte [ebp - 0x7d], 1
test byte [ebp - 0x88], 2
mov esi, 8
je 0x4046ae
and dword [ebp - 0x88], 0xfffffffd
cmp dword [ebp - 0x68], esi
jb 0x40469e
mov eax, dword [ebp - 0x7c]
push eax
call fcn.004140b8
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x68], 7
mov dword [ebp - 0x6c], ebx
mov word [ebp - 0x7c], cx
mov dword [ebp - 4], 4
test byte [ebp - 0x88], 1
je 0x4046cf
cmp dword [ebp - 0x4c], esi
jb 0x4046cf
mov edx, dword [ebp - 0x60]
push edx
call fcn.004140b8
add esp, 4
cmp byte [ebp - 0x7d], bl
je 0x40475d
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xac]
call fcn.00402480
add esp, 4
cmp al, 1
jne 0x40475d
mov ecx, dword [ebp - 0xbc]
push ebx
lea edx, [ebp - 0x60]
call fcn.00402510
mov edx, dword [edi]
mov ecx, dword [edi + 4]
add esp, 4
sub ecx, edx
cmp dword [eax + 0x14], esi
jb 0x404711
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x8c]
push edx
push 3
push ebx
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
sete byte [ebp - 0x7d]
cmp dword [ebp - 0x4c], esi
jb 0x40473b
mov edx, dword [ebp - 0x60]
push edx
call fcn.004140b8
add esp, 4
xor eax, eax
cmp byte [ebp - 0x7d], bl
setne al
mov dword [ebp - 0x84], eax
jmp 0x40475d
mov eax, dword [ebp - 0x8c]
cmp eax, ebx
je 0x404774
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x8c], ebx
mov eax, dword [ebp - 0xbc]
cmp eax, ebx
je 0x404787
push eax
call fcn.004140b8
add esp, 4
mov eax, dword [ebp - 0x9c]
cmp eax, ebx
je 0x40479a
push eax
call fcn.004140b8
add esp, 4
mov eax, dword [ebp - 0xac]
cmp eax, ebx
je 0x4047ad
push eax
call fcn.004140b8
add esp, 4
mov eax, dword [ebp - 0xcc]
cmp eax, ebx
je 0x4047c0
push eax
call fcn.004140b8
add esp, 4
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004140c3
mov esp, ebp
pop ebp
ret