Function at 0x401e10
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5bc
push edi
mov dword [ebp - 0x50c], 0x46
mov eax, closesocket
sub eax, 0x118
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x528]
mov dword [ebp - 0x510], ecx
mov edx, dword [0x4061f0]
mov dword [ebp - 0x524], edx
mov eax, dword [0x4061f4]
mov dword [ebp - 0x520], eax
mov ecx, dword [0x4061f8]
mov dword [ebp - 0x51c], ecx
mov dx, word [0x4061ec]
mov word [ebp - 0x508], dx
lea eax, [ebp - 0x524]
push eax
call fcn.00404760
add esp, 4
push 0x20
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.004011e0
add esp, 8
test eax, eax
jne 0x401e99
mov byte [ebp - 0x508], 0
lea edx, [ebp - 0x508]
push edx
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x508]
push ecx
lea edx, [ebp - 0x524]
push edx
push 0x4061e0
push 0x4061c0
lea eax, [ebp - 0x504]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
mov byte [ebp - 0x400], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x3ff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, dword [0x406054]
push ecx
lea edx, [ebp - 0x400]
push edx
call fcn.00401770
add esp, 8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x400]
push ecx
call fcn.00402cc0
add esp, 8
mov edx, dword [ebp - 0x510]
add edx, 0x118
mov dword [ebp - 0x510], edx
push 0xf003f
push 0
push 0
call dword [0x42ecac]
mov dword [ebp - 0x518], eax
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x504]
push eax
push 0
push 2
mov ecx, dword [ebp + 0x1c]
push ecx
push 0xf01ff
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call dword [0x42ecc4]
mov dword [ebp - 0x514], eax
push 0xf01ff
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x518]
push eax
call dword [0x42ecf4]
mov dword [ebp - 0x514], eax
cmp dword [ebp - 0x514], 0
je 0x40225d
push 0
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push 1
push 0x4061b4
lea edx, [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x510]
push eax
call fcn.00402da0
push 0x4061a8
call fcn.00401350
add esp, 4
add eax, 1
push eax
push 0x4061a8
lea ecx, [ebp - 0x400]
push ecx
call fcn.00401350
add esp, 4
lea edx, [ebp + eax - 0x400]
push edx
call fcn.00402a10
add esp, 0xc
mov dword [ebp - 0x594], 0x406150
mov dword [ebp - 0x590], 0x406164
push 1
mov eax, dword [ebp - 0x594]
push eax
call fcn.00401580
push 1
mov ecx, dword [ebp - 0x590]
push ecx
call fcn.00401580
push 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x510]
push eax
call fcn.00402da0
mov ecx, dword [0x40619c]
mov dword [ebp - 0x58c], ecx
mov edx, dword [0x4061a0]
mov dword [ebp - 0x588], edx
mov ax, word [0x4061a4]
mov word [ebp - 0x584], ax
mov ecx, 0x16
xor eax, eax
lea edi, [ebp - 0x582]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x58c]
push ecx
call fcn.00401350
add esp, 4
lea edx, [ebp + eax - 0x58c]
mov dword [ebp - 0x5a4], edx
push 0xa
mov eax, dword [ebp - 0x5a4]
push eax
call fcn.00401230
add esp, 8
mov ecx, dword [ebp - 0x5a4]
mov byte [ecx + 0xa], 0
mov edx, dword [0x406190]
mov dword [ebp - 0x5a0], edx
mov eax, dword [0x406194]
mov dword [ebp - 0x59c], eax
mov ecx, dword [str._rOQK]
mov dword [ebp - 0x598], ecx
push 0
push 0
call fcn.00401bd0
push eax
push 1
lea edx, [ebp - 0x5a0]
push edx
call fcn.00404760
add esp, 4
push eax
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.00402da0
mov edx, dword [0x40618c]
mov dword [ebp - 0x599], edx
push 0
mov eax, dword [ebp + 0x14]
push eax
call fcn.00401350
add esp, 4
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 2
lea edx, [ebp - 0x5a0]
push edx
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.00402da0
mov edx, dword [0x406184]
mov dword [ebp - 0x5b0], edx
mov ax, word [0x406188]
mov word [ebp - 0x5ac], ax
mov cl, byte [0x40618a]
mov byte [ebp - 0x5aa], cl
push 0
push 0
push 0x42f340
push 1
lea edx, [ebp - 0x5b0]
push edx
call fcn.00404760
add esp, 4
push eax
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.00402da0
cmp dword [ebp + 0x20], 0
je 0x4021f3
mov edx, dword [ebp + 0x20]
movsx eax, byte [edx]
test eax, eax
je 0x4021f3
mov ecx, dword [0x406178]
mov dword [ebp - 0x5bc], ecx
mov edx, dword [0x40617c]
mov dword [ebp - 0x5b8], edx
mov ax, word [0x406180]
mov word [ebp - 0x5b4], ax
mov byte [ebp - 0x5bc], 0x55
push 1
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.00401350
add esp, 4
push eax
mov edx, dword [ebp + 0x20]
push edx
push 1
lea eax, [ebp - 0x5bc]
push eax
lea ecx, [ebp - 0x58c]
push ecx
mov edx, dword [ebp - 0x510]
push edx
call fcn.00402da0
lea eax, [ebp - 0x400]
push eax
push closesocket
lea ecx, [ebp - 0x58c]
push ecx
mov edx, dword [ebp - 0x510]
push edx
call fcn.004031a0
add esp, 0x10
lea eax, [ebp - 0x58c]
push eax
push closesocket
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyA]
mov ecx, dword [ebp - 0x514]
push ecx
call fcn.00403120
add esp, 4
mov edx, dword [ebp + 0x14]
push edx
call fcn.00401850
add esp, 4
test eax, eax
jne 0x40225d
mov eax, dword [ebp - 0x514]
push eax
call dword [0x42ecc0]
mov dword [ebp - 0x514], 0
mov ecx, dword [ebp - 0x518]
push ecx
call dword [0x42ecbc]
mov eax, dword [ebp - 0x514]
pop edi
mov esp, ebp
pop ebp
ret