Function at 0x401cb0
Capabilities:
Delete registry key

Disassembly:
mov eax, 0x80000002
mov dword [ebp + 0x5060], eax
mov esi, 0x41b210
lea edi, [ebp + 0x5070]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov eax, 0x20202020
mov cl, 0x39
rep stosd dword es:[edi], eax
push 0xffffffffffffff9f
call fcn.00413137
cmp dword [ebp + 0x5058], 0
jne 0x401db9
lea edi, [ebp + 0x5020]
mov eax, 0x74614449
stosd dword es:[edi], eax
mov eax, 0x20202000
stosd dword es:[edi], eax
mov al, 0x20
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffffa0
call fcn.0041316f
cmp dword [ebp + 0x5058], 0
jne 0x401c2a
lea esi, [ebp + 0x5178]
lea edi, [ebp + 0x5890]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x401c3b
lea edi, [ebp + 0x5890]
mov eax, 0x20202020
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edi, [ebp + 0x5020]
mov eax, 0x72706d65
stosd dword es:[edi], eax
mov eax, 0x617365
stosd dword es:[edi], eax
mov eax, 0x20202020
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffffa0
call fcn.0041316f
cmp dword [ebp + 0x5058], 0
jne 0x401c9f
lea esi, [ebp + 0x5178]
mov ecx, 3
call fcn.004b7b60
jne 0x401c9f
lea esi, [ebp + 0x5178]
mov ecx, 3
call fcn.004b7bd0
lea edi, [ebp + 0x4fb3]
mov ecx, 3
call fcn.004b7bc0
jmp 0x401cb0
mov ax, 0x3030
mov word [ebp + 0x4fb0], ax
mov byte [ebp + 0x4fb2], al
push 7
push 0x41b22c
call fcn.004b7b20
add esp, 8
mov dword [ebp + 0x5960], eax
mov esi, 0x41b1f8
mov dword [ebp - 0x14], esi
lea eax, [ebp + 0x5070]
push eax
mov eax, dword [eax - 0x10]
push eax
mov al, 2
call fcn.0046fae0
test edx, 0x1477b
mov word [ebp + 0x5010], ax
sub ecx, ecx
mov dword [ebp + 0x5960], ecx
push 0xffffffffffffff9e
call fcn.0041310b
mov eax, 0x80000003
mov dword [ebp + 0x5060], eax
mov esi, 0x41b234
lea edi, [ebp + 0x5070]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov eax, 0x20202020
mov cl, 0x36
rep stosd dword es:[edi], eax
add esi, 0xffffffd8
add edi, 8
mov cl, 0xa
rep movsd dword es:[edi], dword [esi]
mov cl, 0x36
rep stosd dword es:[edi], eax
push 0xffffffffffffff9c
call fcn.00412ffc
lea esi, [ebp + 0x5890]
lea edi, [ebp + 0x5178]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov al, 0
mov byte [edi], al
lea edi, [ebp + 0x5020]
mov eax, 0x74614449
stosd dword es:[edi], eax
mov eax, 0x20202000
stosd dword es:[edi], eax
mov al, 0x20
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffff9d
call fcn.00413052
mov ax, word [ebp + 0x4fb0]
mov word [ebp + 0x5178], ax
mov al, byte [ebp + 0x4fb2]
mov byte [ebp + 0x517a], al
mov al, 0
mov byte [ebp + 0x517b], al
lea edi, [ebp + 0x5020]
mov eax, 0x72706d65
stosd dword es:[edi], eax
mov eax, 0x617365
stosd dword es:[edi], eax
mov eax, 0x20202020
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffff9d
call fcn.00413052
push 0xffffffffffffff9e
call fcn.0041310b
push 0xffffffffffffff9b
call fcn.00412fc5
cmp dword [ebp + 0x5058], 0
jne 0x402360
lea edi, [ebp + 0x5020]
mov eax, 0x6c697562
stosd dword es:[edi], eax
mov eax, 0x20200064
stosd dword es:[edi], eax
mov ax, 0x2020
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffffa0
call fcn.0041316f
cmp dword [ebp + 0x5178], 0x55424544
jne 0x401e0d
cmp byte [ebp + 0x517c], 0x47
jne 0x401e19
mov al, 0x20
mov byte [ebp + 0x58a0], al
jmp 0x401e21
mov al, 0x31
mov byte [ebp + 0x58a0], al
lea edi, [ebp + 0x5020]
mov eax, 0x742d6264
stosd dword es:[edi], eax
mov eax, 0x657079
stosd dword es:[edi], eax
mov eax, 0x20202020
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffffa0
call fcn.0041316f
cmp dword [ebp + 0x5058], 0
jne 0x401f07
lea edi, [ebp + 0xc1d4]
mov eax, 0x20202020
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov eax, 0x1000000
mov dword [ebp + 0x190d4], eax
mov dword [ebp + 0x158], eax
mov edi, dword [ebp + 0x158]
bswap edi
cmp byte [ebp + edi + 0x5177], 0
jne 0x401e9d
mov edx, dword [ebp + 0x158]
bswap edx
dec edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x401ec0
mov ecx, dword [ebp + 0x158]
bswap ecx
cmp ecx, 0x100
jae 0x401ec0
mov edx, dword [ebp + 0x158]
bswap edx
inc edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x401e78
mov eax, dword [ebp + 0x158]
mov dword [ebp + 0x190d8], eax
lea esi, [ebp + 0x5178]
mov edi, dword [ebp + 0x190d4]
bswap edi
lea edi, [ebp + edi + 0xc1d3]
mov ecx, dword [ebp + 0x190d8]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [ebp + 0x190d8]
bswap ebx
mov edx, dword [ebp + 0x190d4]
bswap edx
add edx, ebx
bswap edx
mov dword [ebp + 0x190d4], edx
jmp 0x401f22
lea edi, [ebp + 0xc1d4]
mov eax, 0x7173796d
stosd dword es:[edi], eax
mov eax, 0x2020206c
stosd dword es:[edi], eax
mov al, 0x20
mov ecx, 0x3e
rep stosd dword es:[edi], eax
lea esi, [ebp + 0xc1d4]
lea edi, [ebp + 0xd648]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, 0x41b25c
lea edi, [ebp + 0x5020]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, 0x20202020
mov ecx, 9
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffffa0
call fcn.0041316f
cmp dword [ebp + 0x5058], 0
jne 0x402035
mov eax, 0x1000000
mov dword [ebp + 0x190d4], eax
mov dword [ebp + 0x158], eax
mov edi, dword [ebp + 0x158]
bswap edi
cmp byte [ebp + edi + 0x5177], 0
jne 0x401f9d
mov edx, dword [ebp + 0x158]
bswap edx
dec edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x401fc0
mov ecx, dword [ebp + 0x158]
bswap ecx
cmp ecx, 0x100
jae 0x401fc0
mov edx, dword [ebp + 0x158]
bswap edx
inc edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x401f78
mov eax, dword [ebp + 0x158]
mov dword [ebp + 0x190dc], eax
lea esi, [ebp + 0x5178]
mov edi, dword [ebp + 0x190d4]
bswap edi
lea edi, [ebp + edi + 0x10a27]
mov ecx, dword [ebp + 0x190dc]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [ebp + 0x190dc]
bswap ebx
mov edx, dword [ebp + 0x190d4]
bswap edx
add edx, ebx
bswap edx
mov dword [ebp + 0x190d4], edx
mov ecx, edx
bswap ecx
cmp ecx, 0x100
ja 0x402033
mov edi, dword [ebp + 0x190d4]
bswap edi
mov al, 0
mov byte [ebp + edi + 0x10a27], al
mov edx, dword [ebp + 0x190d4]
bswap edx
inc edx
bswap edx
mov dword [ebp + 0x190d4], edx
jmp 0x402047
lea edi, [ebp + 0x10a28]
mov eax, 0x20202020
mov ecx, 0x40
rep stosd dword es:[edi], eax
lea edi, [ebp + 0x5020]
mov eax, 0x702d6264
stosd dword es:[edi], eax
mov eax, 0x74726f
stosd dword es:[edi], eax
mov eax, 0x20202020
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffffa0
call fcn.0041316f
cmp dword [ebp + 0x5058], 0
jne 0x40217f
mov eax, 0x1000000
mov dword [ebp + 0x190d4], eax
mov dword [ebp + 0x158], eax
mov edi, dword [ebp + 0x158]
bswap edi
cmp byte [ebp + edi + 0x5177], 0
jne 0x4020b1
mov edx, dword [ebp + 0x158]
bswap edx
dec edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x4020d4
mov ecx, dword [ebp + 0x158]
bswap ecx
cmp ecx, 0x100
jae 0x4020d4
mov edx, dword [ebp + 0x158]
bswap edx
inc edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x40208c
mov eax, 0x8000000
mov dword [ebp + 0x190e0], eax
mov ebx, dword [ebp + 0x190d4]
bswap ebx
mov edx, dword [ebp + 0x190e0]
bswap edx
sub edx, ebx
bswap edx
mov dword [ebp + 0x190e0], edx
mov edx, dword [ebp + 0x158]
bswap edx
mov ecx, dword [ebp + 0x190e0]
bswap ecx
cmp ecx, edx
jbe 0x402119
mov eax, dword [ebp + 0x158]
mov dword [ebp + 0x190e0], eax
lea esi, [ebp + 0x5178]
mov edi, dword [ebp + 0x190d4]
bswap edi
lea edi, [ebp + edi + 0x10a1f]
mov ecx, dword [ebp + 0x190e0]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [ebp + 0x190e0]
bswap ebx
mov edx, dword [ebp + 0x190d4]
bswap edx
add edx, ebx
bswap edx
mov dword [ebp + 0x190d4], edx
mov ecx, edx
bswap ecx
cmp ecx, 7
ja 0x40217d
mov edi, dword [ebp + 0x190d4]
bswap edi
mov al, 0
mov byte [ebp + edi + 0x10a1f], al
mov edx, dword [ebp + 0x190d4]
bswap edx
inc edx
bswap edx
mov dword [ebp + 0x190d4], edx
jmp 0x40218e
lea edi, [ebp + 0x10a20]
mov eax, 0x20202020
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, 0x41b268
lea edi, [ebp + 0x5020]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, 0x20202020
mov ecx, 9
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffffa0
call fcn.0041316f
lea edi, [ebp + 0xd433]
mov eax, 0x20202020
stosb byte es:[edi], al
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp dword [ebp + 0x5058], 0
jne 0x4022a7
mov eax, 0x1000000
mov dword [ebp + 0x190d4], eax
mov dword [ebp + 0x158], eax
mov edi, dword [ebp + 0x158]
bswap edi
cmp byte [ebp + edi + 0x5177], 0
jne 0x402206
mov edx, dword [ebp + 0x158]
bswap edx
dec edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x402229
mov ecx, dword [ebp + 0x158]
bswap ecx
cmp ecx, 0x100
jae 0x402229
mov edx, dword [ebp + 0x158]
bswap edx
inc edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x4021e1
mov eax, 0x11000000
mov dword [ebp + 0x190e4], eax
mov ebx, dword [ebp + 0x190d4]
bswap ebx
mov edx, dword [ebp + 0x190e4]
bswap edx
sub edx, ebx
bswap edx
mov dword [ebp + 0x190e4], edx
mov edx, dword [ebp + 0x158]
bswap edx
mov ecx, dword [ebp + 0x190e4]
bswap ecx
cmp ecx, edx
jbe 0x40226e
mov eax, dword [ebp + 0x158]
mov dword [ebp + 0x190e4], eax
lea esi, [ebp + 0x5178]
mov edi, dword [ebp + 0x190d4]
bswap edi
lea edi, [ebp + edi + 0xd432]
mov ecx, dword [ebp + 0x190e4]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [ebp + 0x190e4]
bswap ebx
mov edx, dword [ebp + 0x190d4]
bswap edx
add edx, ebx
bswap edx
mov dword [ebp + 0x190d4], edx
lea edi, [ebp + 0x5020]
mov eax, 0x74614449
stosd dword es:[edi], eax
mov eax, 0x20202000
stosd dword es:[edi], eax
mov al, 0x20
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffffa0
call fcn.0041316f
cmp dword [ebp + 0x5058], 0
jne 0x40234f
lea esi, [ebp + 0x5178]
lea edi, [ebp + 0x5890]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea esi, [ebp + 0x5890]
lea edi, [ebp + 0x58d8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea esi, [ebp + 0x105a0]
lea edi, [ebp + 0x58e0]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, 1
mov dword [ebp + 0x5278], eax
lea esi, [ebp + 0x58d8]
lea edi, [ebp + 0x5178]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov al, 0
mov byte [edi], al
lea edi, [ebp + 0x5020]
mov eax, 0x74614449
stosd dword es:[edi], eax
mov eax, 0x20202000
stosd dword es:[edi], eax
mov al, 0x20
mov ecx, 0xa
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xffffffffffffff9d
call fcn.00413052
jmp 0x402360
lea edi, [ebp + 0x5890]
mov eax, 0x20202020
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0xffffffffffffff9e
call fcn.0041310b
lea esi, [ebp + 0x10a28]
mov eax, 0x20202020
xchg esi, edi
mov ecx, 0x40
repe scasd eax, dword es:[edi]
xchg esi, edi
je 0x40239b
lea esi, [ebp + 0x10a20]
cmp dword [esi], eax
lea esi, [esi + 4]
jne 0x402399
cmp word [esi], ax
lea esi, [esi + 2]
jne 0x402399
cmp byte [esi], al
lea esi, [esi + 1]
jne 0x4023a7
push 0xffffffffffffff82
call fcn.004031d4
call fcn.00408b3b
mov eax, 0x1000000
mov dword [ebp + 0x190d4], eax
mov dword [ebp + 0x158], eax
mov edi, dword [ebp + 0x158]
bswap edi
cmp byte [ebp + edi + 0x10a27], 0
jne 0x4023dd
mov edx, dword [ebp + 0x158]
bswap edx
dec edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x402400
mov ecx, dword [ebp + 0x158]
bswap ecx
cmp ecx, 0x100
jae 0x402400
mov edx, dword [ebp + 0x158]
bswap edx
inc edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x4023b8
mov eax, dword [ebp + 0x158]
mov dword [ebp + 0x190d8], eax
lea esi, [ebp + 0x10a28]
mov edi, dword [ebp + 0x190d4]
bswap edi
lea edi, [ebp + edi + 0xd86f]
mov ecx, dword [ebp + 0x190d8]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [ebp + 0x190d8]
bswap ebx
mov edx, dword [ebp + 0x190d4]
bswap edx
add edx, ebx
bswap edx
mov dword [ebp + 0x190d4], edx
mov eax, 0x1000000
mov dword [ebp + 0x190d4], eax
mov dword [ebp + 0x158], eax
mov edi, dword [ebp + 0x158]
bswap edi
cmp byte [ebp + edi + 0x10a1f], 0
jne 0x40247b
mov edx, dword [ebp + 0x158]
bswap edx
dec edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x40249b
mov ecx, dword [ebp + 0x158]
bswap ecx
cmp ecx, 7
jae 0x40249b
mov edx, dword [ebp + 0x158]
bswap edx
inc edx
bswap edx
mov dword [ebp + 0x158], edx
jmp 0x402456
mov eax, dword [ebp + 0x158]
mov dword [ebp + 0x190d8], eax
lea esi, [ebp + 0x10a20]
mov edi, dword [ebp + 0x190d4]
bswap edi
lea edi, [ebp + edi + 0xd865]
mov ecx, dword [ebp + 0x190d8]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [ebp + 0x190d8]
bswap ebx
mov edx, dword [ebp + 0x190d4]
bswap edx
add edx, ebx
bswap edx
mov dword [ebp + 0x190d4], edx
ret