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 ebx
mov ebx, 0x1aa969ef
mov ebx, 0x41d70e4a
and ebx, ebx
pop ebx
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 ebx
sub ebx, ebp
mov ebx, 0x1f43085d
mov ebx, 0x4c772619
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], 0x29
jne 0x40a527
push edi
sub edi, ecx
mov edi, 0x248727f8
mov edi, 0x179f1e4a
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, esp
sub ebp, ebp
mov ebp, 0x51e73664
sbb ebp, esi
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 eax
xor eax, ecx
add eax, eax
mov eax, 0x59ab3f3a
and eax, edx
nop
pop eax
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 esi
or esi, esp
add esi, ebx
or esi, eax
mov esi, 0x5f835114
nop
pop esi
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 ecx
mov ecx, 0x6c313ab4
mov ecx, 0x9c50d2b
xor ecx, eax
pop ecx
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 edi
sbb edi, ecx
or edi, ecx
mov edi, 0x3afb0c10
xor edi, edx
nop
pop edi
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
mov edi, 0x25871eaf
mov edi, 0x1ad96962
add edi, esi
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 ebx
mov ebx, 0x24e738e7
sub ebx, ecx
mov ebx, 0x92e38f7
pop ebx
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 eax
mov eax, 0x32c9750c
sbb eax, esp
or eax, edx
or eax, edx
nop
pop eax
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 esi
sbb esi, esp
xor esi, edi
or esi, eax
mov esi, 0x4bcc36d2
nop
pop esi
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
add ecx, edx
mov ecx, 0x47731d35
and ecx, edx
or ecx, eax
nop
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 edx
mov edx, 0x11437d6
mov edx, 0x406d43f6
and edx, ecx
pop edx
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 edx
and edx, edi
and edx, ecx
mov edx, 0x75b39e5
add edx, edi
nop
pop edx
jmp 0x40aa34
cmp dword [ebp - 0x10], 0x52
jne 0x40a82d
push eax
or eax, esi
add eax, esp
mov eax, 0x5ec05a28
xor eax, ebx
nop
pop eax
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 eax
mov eax, 0x684b5e80
sub eax, eax
sub eax, esp
add eax, eax
nop
pop eax
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 ecx
xor ecx, edx
mov ecx, 0x79df132f
or ecx, ebx
xor ecx, edx
nop
pop ecx
push ecx
add ecx, edi
mov ecx, 0x6c6c26fa
xor ecx, eax
or ecx, edx
nop
pop ecx
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 ebp
mov ebp, 0x683311e0
xor ebp, esp
mov ebp, 0x2b96d20
pop ebp
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 esi
sub esi, esi
mov esi, 0x4c55780f
mov esi, 0x67ec3061
pop esi
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 ebp
add ebp, esp
mov ebp, 0x23527811
sub ebp, esp
or ebp, edx
nop
pop ebp
jmp 0x40a27c
cmp dword [ebp + 0xc], 0
jne 0x40aa5e
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x90]
call fcn.0040fb80
push ebp
and ebp, eax
mov ebp, 0x16bf0b19
mov ebp, 0x2a736eaf
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 ecx
add ecx, ecx
xor ecx, edi
sub ecx, esi
mov ecx, 0x7b492c4e
nop
pop ecx
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 ecx
mov ecx, 0x1145408f
xor ecx, edi
sub ecx, eax
add ecx, ebp
nop
pop ecx
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 eax
and eax, esi
sub eax, edi
mov eax, 0x41d74251
or eax, esp
nop
pop eax
push edi
sbb edi, edi
sub edi, esi
mov edi, 0x59480c87
sbb edi, esp
nop
pop edi
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 ebx
mov ebx, 0x58766582
add ebx, ebx
sub ebx, edx
and ebx, edx
nop
pop ebx
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