Function at 0x40a1e0
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41a1c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb4
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x64], 1
push esi
mov esi, 0x453514b2
mov esi, 0x108256bb
xor esi, ebp
pop esi
lea ecx, [ebp - 0x90]
call fcn.0040ed50
mov dword [ebp - 4], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x68], esp
push 0x42045c
call fcn.0040eb10
mov dword [ebp - 0x6c], eax
push 0x420420
lea eax, [ebp - 0x40]
push eax
call fcn.004075f0
add esp, 0x20
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.0040ed50
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], 0
jmp 0x40a285
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x40]
call fcn.00417e50
cmp dword [ebp - 0x10], eax
jae 0x40aa39
cmp dword [ebp - 0x10], 2
jne 0x40a2bb
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 4
jne 0x40a2e0
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 6
jne 0x40a305
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 9
jne 0x40a32a
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0xc
jne 0x40a34f
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0xe
jne 0x40a374
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x12
jne 0x40a399
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x16
jne 0x40a3be
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x17
jne 0x40a3e3
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x1b
jne 0x40a408
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x1d
jne 0x40a42d
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x20
jne 0x40a452
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x21
jne 0x40a477
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x23
jne 0x40a49c
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x26
jne 0x40a4c1
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x28
jne 0x40a4f4
push ebp
mov ebp, 0x4bf84f01
or ebp, esi
mov ebp, 0x52fd5772
pop ebp
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x29
jne 0x40a527
push edi
mov edi, 0x1dee4d62
mov edi, 0x6b1078bd
or edi, esp
pop edi
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x2a
jne 0x40a55a
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push ebp
sub ebp, ecx
mov ebp, 0x41151f93
or ebp, ebx
sub ebp, eax
nop
pop ebp
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x2f
jne 0x40a58d
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push ebx
xor ebx, eax
mov ebx, 0x6de43cbc
sbb ebx, esi
sbb ebx, ebp
nop
pop ebx
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x30
jne 0x40a5c0
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push eax
xor eax, esp
mov eax, 0x44006b5e
mov eax, 0x55ef27bb
pop eax
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x31
jne 0x40a5f3
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push esi
sbb esi, ebp
mov esi, 0x271b0e9a
xor esi, ebx
add esi, edi
nop
pop esi
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x32
jne 0x40a626
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push eax
and eax, eax
mov eax, 0xb4b67b5
sbb eax, esi
sub eax, eax
nop
pop eax
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x33
jne 0x40a659
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push edi
sub edi, esp
mov edi, 0x91c01a7
sub edi, edx
sub edi, eax
nop
pop edi
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x35
jne 0x40a68c
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push ebp
sub ebp, ebx
xor ebp, esi
add ebp, esi
mov ebp, 0x3e0e0380
nop
pop ebp
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x39
jne 0x40a6bf
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push edi
add edi, edi
mov edi, 0x264d12d1
sub edi, ebp
sbb edi, eax
nop
pop edi
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x3b
jne 0x40a6f2
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push eax
mov eax, 0x9402e92
sub eax, esp
add eax, eax
add eax, edx
nop
pop eax
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x41
jne 0x40a725
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push ecx
and ecx, esp
sub ecx, ebp
sbb ecx, esp
or ecx, eax
sub ecx, ecx
sub ecx, edi
pop ecx
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x46
jne 0x40a74a
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x48
jne 0x40a76f
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x4a
jne 0x40a7a2
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push ebx
sub ebx, ecx
mov ebx, 0x598f3c0c
mov ebx, 0x6ac25214
pop ebx
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x4b
jne 0x40a7c7
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x4e
jne 0x40a7fa
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push esi
mov esi, 0x285b4e82
sbb esi, edi
mov esi, 0x4b9432eb
pop esi
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x52
jne 0x40a82d
push ebx
sub ebx, edi
sub ebx, eax
sbb ebx, edx
mov ebx, 0x43d93d41
nop
pop ebx
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x54
jne 0x40a852
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x56
jne 0x40a885
push ebx
mov ebx, 0x16e17a09
xor ebx, edi
and ebx, ebx
and ebx, eax
nop
pop ebx
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x58
jne 0x40a8aa
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x5a
jne 0x40a8cf
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x5b
jne 0x40a910
push ebx
xor ebx, ebp
mov ebx, 0x29067b8
sbb ebx, ecx
add ebx, ebx
nop
pop ebx
push ebp
mov ebp, 0x6ab600b0
sbb ebp, ebp
sub ebp, edx
xor ebp, ebp
nop
pop ebp
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x5f
jne 0x40a935
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x63
jne 0x40a968
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
push edx
mov edx, 0x81835c4
mov edx, 0x12886ed7
and edx, ebp
pop edx
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x64
jne 0x40a98d
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x66
jne 0x40a9b2
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x6a
jne 0x40a9d4
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x6e
jne 0x40a9f6
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x6f
jne 0x40aa26
push ebp
add ebp, ebx
mov ebp, 0x2abc0739
xor ebp, ebx
add ebp, esi
nop
pop ebp
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
call fcn.0040fda0
mov al, byte [eax]
movzx ecx, al
push ecx
lea ecx, [ebp - 0x28]
call fcn.00410090
jmp 0x40aa34
push ebx
xor ebx, eax
sub ebx, esp
xor ebx, ebp
mov ebx, 0x58f43f7c
nop
pop ebx
jmp 0x40a27c
cmp dword [ebp + 0xc], 0
jne 0x40aa5e
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x90]
call fcn.0040fb80
push ebp
xor ebp, edi
mov ebp, 0x5bbd1033
add ebp, edi
sbb ebp, esp
nop
pop ebp
jmp 0x40aaa1
push 0x41b4b0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.0040bf70
add esp, 0xc
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x5c]
push edx
lea ecx, [ebp - 0x90]
call fcn.0040fa90
lea ecx, [ebp - 0xc0]
call fcn.0040f630
push edx
mov edx, 0x5b926404
mov edx, 0x2ac71fc8
add edx, eax
pop edx
lea ecx, [ebp - 0x4d]
call fcn.0040e460
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x90]
call fcn.004145a0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x78]
push edx
lea ecx, [ebp - 0x90]
call fcn.00413eb0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040bbd0
lea ecx, [ebp - 0x44]
push ecx
push 0x20006
push 0
lea ecx, [ebp - 0xa8]
call fcn.00413fd0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x48], eax
push ebx
sbb ebx, esi
mov ebx, 0x28d74b71
mov ebx, 0x6d67005c
pop ebx
cmp dword [ebp - 0x48], 0
jne 0x40ab1b
mov dword [ebp - 0x54], 1
jmp 0x40ab22
mov dword [ebp - 0x54], 0
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0
je 0x40ab5b
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x40ab4e
mov dword [ebp - 0x58], 1
jmp 0x40ab55
mov dword [ebp - 0x58], 0
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x4c], edx
push ecx
or ecx, ebp
sbb ecx, edi
or ecx, esp
mov ecx, 0x32e30d79
nop
pop ecx
push ebx
sbb ebx, eax
add ebx, esi
mov ebx, 0x700035c0
or ebx, esi
nop
pop ebx
cmp dword [ebp - 0x44], 0
je 0x40ab8e
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x44], 0
push ebp
and ebp, eax
mov ebp, 0x50434030
mov ebp, 0x3ff4281b
pop ebp
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0xa8]
call fcn.0040f670
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.0040f630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.0040f630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.0040f630
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret