Function at 0x10007c26
Capabilities:
Set registry value

Disassembly:
push 0x2c
mov eax, 0x100120fe
call fcn.10011eac
mov edi, ecx
mov eax, dword [0x10014024]
cmp eax, 0x10014024
je 0x10007c60
test byte [eax + 0x1c], 1
je 0x10007c60
cmp byte [eax + 0x19], 5
jb 0x10007c60
push edi
push dword [eax + 0x14]
mov edx, 0x10002130
push dword [eax + 0x10]
push 0x74
pop ecx
call fcn.10002ec1
call fcn.10007534
test edi, edi
setne bl
mov cl, bl
call fcn.10008236
mov cl, bl
call fcn.100098b0
test edi, edi
je 0x10007c81
call fcn.10007b5b
lea ecx, [ebp - 0x2c]
call fcn.100082e7
mov esi, eax
test esi, esi
js 0x1000802c
xor ebx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x10007e01
test edi, edi
je 0x10007d16
xor ecx, ecx
mov dword [ebp - 0x18], ebx
lea edx, [ebp - 0x18]
inc ecx
call fcn.10008544
test eax, eax
mov eax, ebx
js 0x10007cb9
mov eax, dword [ebp - 0x18]
push 2
pop ebx
test eax, eax
je 0x10007ce2
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x18]
call fcn.10008b9c
mov esi, eax
test esi, esi
js 0x1000802c
test dword [ebp - 0x18], 1
je 0x10007ce2
push 3
pop ebx
push 1
mov edx, 0x10001fd8
mov ecx, ebx
call fcn.10008a6f
mov esi, eax
test esi, esi
js 0x1000802c
push 1
mov edx, 0x10002008
mov ecx, ebx
call fcn.10003014
mov esi, eax
test esi, esi
js 0x1000802c
xor ebx, ebx
jmp 0x10007d2e
push ebx
push 3
mov edx, 0x10002008
pop ecx
call fcn.10008a6f
mov esi, eax
test esi, esi
js 0x1000802c
push ecx
push ecx
push 0x20006
push ecx
push ecx
push 0x10002038
push 0x80000002
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
call fcn.1000ab09
mov ebx, eax
mov edx, dword [0x10014024]
cmp edx, 0x10014024
je 0x10007d8e
test byte [edx + 0x1c], 2
je 0x10007d8e
movzx ecx, byte [edx + 0x19]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 5
cmp ecx, eax
jb 0x10007d8e
push ebx
push dword [edx + 0x14]
push dword [edx + 0x10]
mov edx, 0x10002130
push 0x75
pop ecx
call fcn.10002ec1
test ebx, ebx
mov ebx, dword [ebp - 0x24]
jne 0x10007df4
xor eax, eax
test edi, edi
push 4
setne al
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 4
push 0
push 0x10001cb4
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x14], eax
mov edx, dword [0x10014024]
cmp edx, 0x10014024
je 0x10007df4
test byte [edx + 0x1c], 2
je 0x10007df4
movzx ecx, byte [edx + 0x19]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 5
cmp ecx, eax
jb 0x10007df4
push dword [ebp - 0x14]
push dword [edx + 0x14]
push dword [edx + 0x10]
mov edx, 0x10002130
push 0x76
pop ecx
call fcn.10002ec1
test ebx, ebx
je 0x10007dff
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
test edi, edi
je 0x10007f0b
mov esi, 0x10014158
lea ecx, [ebp - 0x28]
push esi
call fcn.1000b324
push esi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call fcn.1000b324
lea edx, [ebp - 0x14]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.1000db92
mov esi, dword [ebp - 0x28]
test eax, eax
je 0x10007e9e
mov dword [ebp - 0x18], ebx
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 2
push eax
push 0x10001e44
push 0x17
push ebx
push 0x10001e74
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x10007e83
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
test ebx, ebx
je 0x10007e83
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
mov edx, dword [ecx]
mov edi, dword [edx + 0x28]
mov ecx, edi
call dword [0x100151d8]
call edi
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10007e9e
mov ecx, dword [eax]
push eax
mov edi, dword [ecx + 8]
mov ecx, edi
call dword [0x100151d8]
call edi
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.1000b376
or dword [ebp - 4], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.1000b376
lea ecx, [ebp - 0x24]
call fcn.1000e605
lea ecx, [ebp - 0x24]
call fcn.1000e720
cmp eax, 4
je 0x10007ee8
lea ecx, [ebp - 0x24]
call fcn.1000e86b
test eax, eax
jne 0x10007ee8
lea ecx, [ebp - 0x24]
mov esi, 0x80070435
call fcn.1000e6bd
jmp 0x1000802c
call fcn.10008d9d
lea ecx, [ebp - 0x24]
mov esi, eax
call fcn.1000e6bd
test esi, esi
js 0x1000802c
call fcn.10008c9d
mov esi, eax
jmp 0x1000802c
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 3
push eax
push 0x20106
push ebx
push 0x10001a88
push 0x80000002
mov dword [ebp - 0x14], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10007fef
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
push 4
push eax
push 4
push ebx
push 0x10001ce4
push edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x14], 1
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x10007fba
jg 0x10007f6c
mov esi, eax
jmp 0x10007f75
movzx esi, ax
or esi, 0x80070000
mov edx, dword [0x10014024]
cmp edx, 0x10014024
je 0x10007fa9
test byte [edx + 0x1c], 2
je 0x10007fa9
cmp byte [edx + 0x19], 2
jb 0x10007fa9
push esi
push dword [edx + 0x14]
push dword [edx + 0x10]
mov edx, 0x10002130
push 0x78
pop ecx
call fcn.10002ec1
mov edx, dword [0x10014024]
test edi, edi
je 0x10008032
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1000802c
lea ecx, [ebp - 0x38]
call fcn.1000e605
lea ecx, [ebp - 0x38]
call fcn.1000e720
cmp eax, 4
jne 0x10007fe1
push ecx
lea ecx, [ebp - 0x38]
call fcn.1000e94c
test eax, eax
jne 0x10007fe1
mov esi, 0x8000ffff
lea ecx, [ebp - 0x38]
call fcn.1000e6bd
test edi, edi
je 0x1000802c
jmp 0x10007fb1
jg 0x10007ff5
mov esi, eax
jmp 0x10007ffe
movzx esi, ax
or esi, 0x80070000
mov edx, dword [0x10014024]
cmp edx, 0x10014024
je 0x10008067
test byte [edx + 0x1c], 2
je 0x10008032
cmp byte [edx + 0x19], 2
jb 0x10008032
push esi
push dword [edx + 0x14]
push dword [edx + 0x10]
mov edx, 0x10002130
push 0x77
pop ecx
call fcn.10002ec1
mov edx, dword [0x10014024]
cmp edx, 0x10014024
je 0x10008067
test byte [edx + 0x1c], 1
je 0x10008067
movzx eax, byte [edx + 0x19]
mov ecx, esi
sar ecx, 0x1f
and ecx, 0xfffffffd
add ecx, 5
cmp eax, ecx
jl 0x10008067
push esi
push dword [edx + 0x14]
push dword [edx + 0x10]
mov edx, 0x10002130
push 0x79
pop ecx
call fcn.10002ec1
mov eax, esi
call fcn.10011e5b
ret