Function at 0x401f10
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 [0x42eaf8]
mov dword [ebp - 0x524], edx
mov eax, dword [0x42eafc]
mov dword [ebp - 0x520], eax
mov ecx, dword [0x42eb00]
mov dword [ebp - 0x51c], ecx
mov dx, word [0x42eaf4]
mov word [ebp - 0x508], dx
lea eax, [ebp - 0x524]
push eax
call fcn.00402f30
add esp, 4
push 0x20
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.00401850
add esp, 8
test eax, eax
jne 0x401f99
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 0x42eae8
push 0x42eac8
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 [0x42e968]
push ecx
lea edx, [ebp - 0x400]
push edx
call fcn.00402a30
add esp, 8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x400]
push ecx
call section.CODE
add esp, 8
mov edx, dword [ebp - 0x510]
add edx, 0x118
mov dword [ebp - 0x510], edx
push 0xf003f
push 0
push 0
call dword [0x42ec88]
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 [0x42eca0]
mov dword [ebp - 0x514], eax
push 0xf01ff
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x518]
push eax
call dword [0x42f0d4]
mov dword [ebp - 0x514], eax
cmp dword [ebp - 0x514], 0
je 0x40235c
mov ecx, dword [0x42eac0]
mov dword [ebp - 0x5b0], ecx
mov dx, word [0x42eac4]
mov word [ebp - 0x5ac], dx
mov al, byte [0x42eac6]
mov byte [ebp - 0x5aa], al
push 0
push 0
push 0x42f720
push 1
lea ecx, [ebp - 0x5b0]
push ecx
call fcn.00402f30
add esp, 4
push eax
lea edx, [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x510]
push eax
call fcn.00402f90
cmp dword [ebp + 0x20], 0
je 0x402155
mov ecx, dword [ebp + 0x20]
movsx edx, byte [ecx]
test edx, edx
je 0x402155
mov eax, dword [0x42eab4]
mov dword [ebp - 0x5bc], eax
mov ecx, dword [0x42eab8]
mov dword [ebp - 0x5b8], ecx
mov dx, word [0x42eabc]
mov word [ebp - 0x5b4], dx
mov byte [ebp - 0x5bc], 0x55
push 1
mov eax, dword [ebp + 0x20]
push eax
call fcn.004014e0
add esp, 4
push eax
mov ecx, dword [ebp + 0x20]
push ecx
push 1
lea edx, [ebp - 0x5bc]
push edx
lea eax, [ebp - 0x400]
push eax
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.00402f90
push 0
push 0
mov edx, dword [ebp + 0x10]
push edx
push 1
push 0x42eaa8
lea eax, [ebp - 0x400]
push eax
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.00402f90
push 0x42ea9c
call fcn.004014e0
add esp, 4
add eax, 1
push eax
push 0x42ea9c
lea edx, [ebp - 0x400]
push edx
call fcn.004014e0
add esp, 4
lea eax, [ebp + eax - 0x400]
push eax
call fcn.00402970
add esp, 0xc
mov dword [ebp - 0x594], 0x42ea58
mov dword [ebp - 0x590], 0x42ea6c
push 1
mov ecx, dword [ebp - 0x594]
push ecx
call fcn.004019b0
push 1
mov edx, dword [ebp - 0x590]
push edx
call fcn.004019b0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x400]
push eax
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.00402f90
mov edx, dword [0x42ea90]
mov dword [ebp - 0x58c], edx
mov eax, dword [0x42ea94]
mov dword [ebp - 0x588], eax
mov cx, word [0x42ea98]
mov word [ebp - 0x584], cx
mov ecx, 0x16
xor eax, eax
lea edi, [ebp - 0x582]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [ebp - 0x58c]
push edx
call fcn.004014e0
add esp, 4
lea eax, [ebp + eax - 0x58c]
mov dword [ebp - 0x5a4], eax
push 0xa
mov ecx, dword [ebp - 0x5a4]
push ecx
call fcn.00402a50
add esp, 8
mov edx, dword [ebp - 0x5a4]
mov byte [edx + 0xa], 0
mov eax, dword [0x42ea84]
mov dword [ebp - 0x5a0], eax
mov ecx, dword [0x42ea88]
mov dword [ebp - 0x59c], ecx
mov edx, dword [0x42ea8c]
mov dword [ebp - 0x598], edx
push 0
push 0
call fcn.00402410
push eax
push 1
lea eax, [ebp - 0x5a0]
push eax
call fcn.00402f30
add esp, 4
push eax
lea ecx, [ebp - 0x58c]
push ecx
mov edx, dword [ebp - 0x510]
push edx
call fcn.00402f90
mov eax, dword [0x42ea80]
mov dword [ebp - 0x599], eax
push 0
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004014e0
add esp, 4
push eax
mov edx, dword [ebp + 0x14]
push edx
push 2
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x58c]
push ecx
mov edx, dword [ebp - 0x510]
push edx
call fcn.00402f90
lea eax, [ebp - 0x400]
push eax
push closesocket
lea ecx, [ebp - 0x58c]
push ecx
mov edx, dword [ebp - 0x510]
push edx
call fcn.00403380
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.00403300
add esp, 4
mov edx, dword [ebp + 0x14]
push edx
call fcn.00401b10
add esp, 4
test eax, eax
jne 0x40235c
mov eax, dword [ebp - 0x514]
push eax
call dword [0x42ec9c]
mov dword [ebp - 0x514], 0
mov ecx, dword [ebp - 0x518]
push ecx
call dword [0x42ec98]
mov eax, dword [ebp - 0x514]
pop edi
mov esp, ebp
pop ebp
ret