Function at 0x4011e0
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5bc
push edi
mov dword [ebp - 0x50c], 0x46
mov eax, 0x80000002
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.00403250
add esp, 4
push 0x20
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.00401690
add esp, 8
test eax, eax
jne 0x401269
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_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 [0x42e95c]
push ecx
lea edx, [ebp - 0x400]
push edx
call fcn.00401e80
add esp, 8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x400]
push ecx
call fcn.004027b0
add esp, 8
mov edx, dword [ebp - 0x510]
add edx, 0x118
mov dword [ebp - 0x510], edx
push 0xf003f
push 0
push 0
call dword [0x42ecb8]
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 [0x42ecd0]
mov dword [ebp - 0x514], eax
push 0xf01ff
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x518]
push eax
call dword [0x42f10c]
mov dword [ebp - 0x514], eax
cmp dword [ebp - 0x514], 0
je 0x40162d
push 0
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push 1
push 0x42eabc
lea edx, [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x510]
push eax
call fcn.004032b0
push 0x42eab0
call fcn.00401840
add esp, 4
add eax, 1
push eax
push 0x42eab0
lea ecx, [ebp - 0x400]
push ecx
call fcn.00401840
add esp, 4
lea edx, [ebp + eax - 0x400]
push edx
call fcn.00402100
add esp, 0xc
mov dword [ebp - 0x594], 0x42ea58
mov dword [ebp - 0x590], 0x42ea6c
push 1
mov eax, dword [ebp - 0x594]
push eax
call fcn.00401760
push 1
mov ecx, dword [ebp - 0x590]
push ecx
call fcn.00401760
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.004032b0
mov ecx, dword [0x42eaa4]
mov dword [ebp - 0x58c], ecx
mov edx, dword [0x42eaa8]
mov dword [ebp - 0x588], edx
mov ax, word [0x42eaac]
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.00401840
add esp, 4
lea edx, [ebp + eax - 0x58c]
mov dword [ebp - 0x5a4], edx
push 0xa
mov eax, dword [ebp - 0x5a4]
push eax
call fcn.00401800
add esp, 8
mov ecx, dword [ebp - 0x5a4]
mov byte [ecx + 0xa], 0
mov edx, dword [0x42ea98]
mov dword [ebp - 0x5a0], edx
mov eax, dword [0x42ea9c]
mov dword [ebp - 0x59c], eax
mov ecx, dword [0x42eaa0]
mov dword [ebp - 0x598], ecx
push 0
push 0
call fcn.00402020
push eax
push 1
lea edx, [ebp - 0x5a0]
push edx
call fcn.00403250
add esp, 4
push eax
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.004032b0
mov edx, dword [0x42ea94]
mov dword [ebp - 0x599], edx
push 0
mov eax, dword [ebp + 0x14]
push eax
call fcn.00401840
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.004032b0
mov edx, dword [0x42ea8c]
mov dword [ebp - 0x5b0], edx
mov ax, word [0x42ea90]
mov word [ebp - 0x5ac], ax
mov cl, byte [0x42ea92]
mov byte [ebp - 0x5aa], cl
push 0
push 0
push 0x42f758
push 1
lea edx, [ebp - 0x5b0]
push edx
call fcn.00403250
add esp, 4
push eax
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.004032b0
cmp dword [ebp + 0x20], 0
je 0x4015c3
mov edx, dword [ebp + 0x20]
movsx eax, byte [edx]
test eax, eax
je 0x4015c3
mov ecx, dword [0x42ea80]
mov dword [ebp - 0x5bc], ecx
mov edx, dword [0x42ea84]
mov dword [ebp - 0x5b8], edx
mov ax, word [0x42ea88]
mov word [ebp - 0x5b4], ax
mov byte [ebp - 0x5bc], 0x55
push 1
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.00401840
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.004032b0
lea eax, [ebp - 0x400]
push eax
push 0x80000002
lea ecx, [ebp - 0x58c]
push ecx
mov edx, dword [ebp - 0x510]
push edx
call fcn.004036b0
add esp, 0x10
lea eax, [ebp - 0x58c]
push eax
push 0x80000002
call dword [sym.imp.SHLWAPI_SHDeleteKeyA]
mov ecx, dword [ebp - 0x514]
push ecx
call fcn.00403630
add esp, 4
mov edx, dword [ebp + 0x14]
push edx
call fcn.00401a90
add esp, 4
test eax, eax
jne 0x40162d
mov eax, dword [ebp - 0x514]
push eax
call dword [0x42eccc]
mov dword [ebp - 0x514], 0
mov ecx, dword [ebp - 0x518]
push ecx
call dword [0x42ecc8]
mov eax, dword [ebp - 0x514]
pop edi
mov esp, ebp
pop ebp
ret