Function at 0x40a3f0
Capabilities:
Set registry value

Disassembly:
sub esp, 0x2c
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
xor ebx, ebx
mov dword [esp + 4], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 8], eax
lea eax, [esp + 4]
push eax
push 0x50d868
call fcn.00404690
add esp, 4
push eax
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x40a668
push esi
push 4
lea ecx, [esp + 0x3c]
push ecx
push 4
push ebx
push 0x50d974
call fcn.00404690
mov edx, dword [esp + 0x1c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
add esp, 4
push eax
push edx
call esi
test eax, eax
jne 0x40a667
push 4
lea eax, [esp + 0x40]
push eax
push 4
push ebx
push 0x50d968
call fcn.00404690
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
push ecx
call esi
test eax, eax
jne 0x40a667
push 4
lea edx, [esp + 0x44]
push edx
push 4
push ebx
push 0x50d95c
call fcn.00404690
add esp, 4
push eax
mov eax, dword [esp + 0x1c]
push eax
call esi
test eax, eax
jne 0x40a667
push 4
lea ecx, [esp + 0x10]
push ecx
push 4
push ebx
push 0x50d950
call fcn.00404690
mov edx, dword [esp + 0x1c]
add esp, 4
push eax
push edx
call esi
test eax, eax
jne 0x40a667
push 4
lea eax, [esp + 0x40]
push eax
push 4
push ebx
push 0x50d940
call fcn.00404690
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
push ecx
call esi
test eax, eax
jne 0x40a667
push 0x50d930
mov byte [esp + 0x14], bl
mov dword [esp + 0x15], eax
mov dword [esp + 0x19], eax
mov dword [esp + 0x1d], eax
mov dword [esp + 0x21], eax
mov dword [esp + 0x25], eax
mov dword [esp + 0x29], eax
mov dword [esp + 0x2d], eax
mov word [esp + 0x31], ax
mov byte [esp + 0x33], al
call fcn.00404690
add esp, 4
lea edx, [esp + 0x10]
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
cmp cl, bl
jne 0x40a540
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [esp + 0x14]
push eax
push 1
push ebx
push 0x50d924
call fcn.00404690
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
push ecx
call esi
test eax, eax
jne 0x40a667
push 4
push 0x527d88
push 4
push ebx
push 0x50d918
call fcn.00404690
mov edx, dword [esp + 0x1c]
add esp, 4
push eax
push edx
call esi
test eax, eax
jne 0x40a667
mov eax, dword [esp + 0x38]
push eax
push 0x50d904
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov ecx, dword [esp + 0x48]
add esp, 0xc
push ecx
push 0x50d8f0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [esp + 0x4c]
add esp, 0xc
push edx
push 0x50d8dc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [esp + 0x18]
add esp, 0xc
push eax
push 0x50d8c8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push 0x50d8b8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [0x527d88]
add esp, 0xc
push edx
push 0x50d8a4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov bl, 1
pop esi
mov eax, dword [esp + 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x2c]
mov al, bl
pop ebx
xor ecx, esp
call fcn.004b6da3
add esp, 0x2c
ret