Function at 0x1003953f
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
push esi
movzx eax, byte [ebp + 0x28]
test eax, eax
je 0x10039cb5
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xec], 0x1e65
cmp dword [ebp - 0xec], 0xc60
jge 0x100397eb
call fcn.10051452
push 0x20
pop ecx
imul ecx, ecx, 0
add eax, ecx
push eax
push 0x10007d84
push 0x10007d88
call fcn.10051601
add esp, 0xc
call fcn.10051452
push 0x20
pop ecx
shl ecx, 0
add eax, ecx
push eax
push 0x10007d90
push 0x10007d94
call fcn.10051601
add esp, 0xc
xor eax, eax
inc eax
je 0x100397eb
push 0x109670f4
push 0x10fbbc34
mov ecx, 0x1065c990
call fcn.1001716d
mov ecx, eax
call fcn.1001716d
cmp dword [0x10fbbc34], 0
jne 0x100395f3
cmp dword [0x109670f4], 0
jne 0x100395f3
jmp 0x100397eb
and dword [ebp - 0x24], 0
jmp 0x10039600
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [0x10fbbc34]
jge 0x10039645
and dword [ebp - 0x28], 0
jmp 0x10039618
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [0x10fbbc34]
jge 0x10039643
imul eax, dword [ebp - 0x24], 0x61
mov ecx, dword [ebp - 0x28]
mov byte [eax + ecx + 0x10f9a0d8], 0
imul eax, dword [ebp - 0x24], 0x61
mov ecx, dword [ebp - 0x28]
mov byte [eax + ecx + 0x10aedb10], 0
jmp 0x10039611
jmp 0x100395f9
and dword [ebp - 0x40], 0
jmp 0x10039652
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [0x109670f4]
jge 0x10039695
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x1065c990
call fcn.1001716d
mov ecx, eax
call fcn.1001716d
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
imul eax, dword [ebp - 0x10], 0x61
mov ecx, dword [ebp - 0x14]
mov byte [eax + ecx + 0x10f9a0d8], 1
jmp 0x1003964b
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x1065c990
call fcn.1001716d
mov ecx, eax
call fcn.1001716d
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
imul eax, dword [ebp - 0x10], 0x61
mov ecx, dword [ebp - 0x14]
movzx eax, byte [eax + ecx + 0x10f9a0d8]
test eax, eax
je 0x100396fb
push fcn.1001be35
push fcn.1001be35
mov edx, 0x10008044
mov ecx, 0x1065c8d8
call fcn.1001be67
mov ecx, eax
call fcn.1001735c
mov ecx, eax
call fcn.1001735c
jmp 0x100395b8
and dword [ebp - 0x3c], 0
jmp 0x10039708
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp eax, dword [0x10fbbc34]
jge 0x1003973e
and dword [ebp - 0x38], 0
jmp 0x10039720
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [0x10fbbc34]
jge 0x1003973c
imul eax, dword [ebp - 0x3c], 0x61
mov ecx, dword [ebp - 0x38]
mov byte [eax + ecx + 0x10661e00], 0x2e
jmp 0x10039719
jmp 0x10039701
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.100393d3
pop ecx
pop ecx
test eax, eax
jne 0x1003975e
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.10039468
pop ecx
pop ecx
jmp 0x1003977c
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.100393d3
pop ecx
pop ecx
add eax, 0x30
imul ecx, dword [ebp - 0x10], 0x61
mov edx, dword [ebp - 0x14]
mov byte [ecx + edx + 0x10661e00], al
and dword [ebp - 0x34], 0
jmp 0x10039789
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [0x10fbbc34]
jge 0x100397d7
and dword [ebp - 0x30], 0
jmp 0x100397a1
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [0x10fbbc34]
jge 0x100397c6
imul eax, dword [ebp - 0x34], 0x61
mov ecx, dword [ebp - 0x30]
mov dl, byte [eax + ecx + 0x10661e00]
mov ecx, 0x1065c8d8
call fcn.1004a40d
jmp 0x1003979a
push fcn.1001be35
mov ecx, 0x1065c8d8
call fcn.1001735c
jmp 0x10039782
push fcn.1001be35
mov ecx, 0x1065c8d8
call fcn.1001735c
jmp 0x100395b8
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x114], eax
lea eax, [ebp + 0x3c]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x84], 0x26a2
cmp dword [ebp - 0x84], 0x123d
jge 0x100399c5
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
mov ecx, 0x1065c990
call fcn.1001716d
mov ecx, eax
call fcn.1001716d
mov ecx, eax
call fcn.1001716d
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x10039898
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jl 0x10039898
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
jmp 0x100398c6
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 4]
jl 0x100398b0
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jl 0x100398b0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
jmp 0x100398c6
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jl 0x100398c6
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 4]
jl 0x100398c6
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jg 0x100398de
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jg 0x100398de
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
jmp 0x1003990c
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 4]
jg 0x100398f6
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jg 0x100398f6
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
jmp 0x1003990c
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jg 0x1003990c
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 4]
jg 0x1003990c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x1c]
jne 0x10039924
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jne 0x10039924
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
jmp 0x1003999a
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x1c]
jne 0x1003993c
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jne 0x1003993c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
jmp 0x1003999a
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x1c]
jne 0x10039954
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x18]
jne 0x10039954
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
jmp 0x1003999a
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x1c]
jne 0x1003996c
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jne 0x1003996c
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
jmp 0x1003999a
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x1c]
jne 0x10039984
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x18]
jne 0x10039984
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
jmp 0x1003999a
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x1c]
jne 0x1003999a
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jne 0x1003999a
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
jle 0x100399b8
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x20]
push eax
mov ecx, 0x1065c8d8
call fcn.10017368
jmp 0x100399c5
push dword [ebp - 0x1c]
mov ecx, 0x1065c8d8
call fcn.10017368
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x10c]
movzx eax, byte [eax]
test eax, eax
je 0x10039a01
push 0x16b7
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
jmp 0x10039cb0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
inc ecx
mov edx, dword [ebp - 0x48]
mov dword [edx], ecx
test eax, eax
je 0x10039ca1
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
push 0
mov ecx, dword [ebp - 0x4c]
call fcn.10017939
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xb8]
jge 0x10039b89
mov dword [ebp - 0x74], 1
jmp 0x10039b8d
and dword [ebp - 0x74], 0
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
push 0
mov ecx, dword [ebp - 0x4c]
call fcn.10017939
cmp esi, dword [eax]
jg 0x10039bac
mov dword [ebp - 0x50], 1
jmp 0x10039bb0
and dword [ebp - 0x50], 0
mov esi, dword [ebp - 0x74]
add esi, dword [ebp - 0x50]
push 0
mov ecx, dword [ebp - 0xc8]
call fcn.10017939
cmp esi, dword [eax]
jle 0x10039bd0
mov dword [ebp - 0x5c], 1
jmp 0x10039bd4
and dword [ebp - 0x5c], 0
cmp dword [ebp - 0x5c], 9
jle 0x10039be3
mov dword [ebp - 0x6c], 1
jmp 0x10039be7
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
cmp dword [ebp - 0x6c], eax
jl 0x10039bfa
mov dword [ebp - 0x64], 1
jmp 0x10039bfe
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax]
cmp dword [ebp - 0x64], eax
jg 0x10039c14
mov dword [ebp - 0x54], 1
jmp 0x10039c18
and dword [ebp - 0x54], 0
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax]
cmp dword [ebp - 0x54], eax
jle 0x10039c2e
mov dword [ebp - 0x60], 1
jmp 0x10039c32
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
cmp dword [ebp - 0x60], eax
jg 0x10039c45
mov dword [ebp - 0x68], 1
jmp 0x10039c49
and dword [ebp - 0x68], 0
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax]
cmp dword [ebp - 0x68], eax
jl 0x10039c5f
mov dword [ebp - 0x70], 1
jmp 0x10039c63
and dword [ebp - 0x70], 0
cmp dword [ebp - 0x70], 0xffffffff
jae 0x10039c75
mov dword [ebp - 0xe8], 1
jmp 0x10039c7c
and dword [ebp - 0xe8], 0
push 0
mov ecx, dword [ebp - 0x4c]
call fcn.10017939
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf8]
mov ecx, dword [ecx]
cmp dword [eax], ecx
jge 0x10039ca1
mov dword [ebp - 0x78], 1
jmp 0x10039ca5
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x78]
mov dword [eax], ecx
jmp 0x10039d4c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x110], eax
lea eax, [ebp + 0x2c]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x108]
movzx eax, byte [eax]
test eax, eax
je 0x10039ce9
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x10039d4c
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
jmp 0x10039d2c
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c]
cmp dword [eax], 4
jge 0x10039d4c
mov eax, dword [ebp - 0x2c]
push dword [eax]
mov ecx, dword [ebp - 0x130]
call fcn.10017939
mov dword [eax], 0x219909d0
jmp 0x10039d21
pop esi
mov esp, ebp
pop ebp
ret