Function at 0x1000a273
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2120
call fcn.1003fb50
mov eax, dword [0x10069020]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x2120], eax
xor eax, eax
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x2110], eax
mov edi, ecx
lea eax, [ebp - 0x2004]
mov dword [ebp - 0x211c], edi
push eax
mov dword [ebp - 0x210c], ebx
mov dword [ebp - 0x2114], esi
call fcn.1000ab59
test eax, eax
js 0x1000a615
lea edx, [ebp - 0x2110]
lea ecx, [ebp - 0x2004]
call fcn.1000a1dd
test eax, eax
jne 0x1000a2eb
mov eax, 0x80020009
jmp 0x1000a615
mov ecx, edi
call fcn.1000b0a5
lea eax, [ebp - 0x2004]
mov ecx, edi
push eax
call fcn.1000ab59
test eax, eax
js 0x1000a615
movzx eax, word [ebp - 0x2110]
sub eax, 8
je 0x1000a5c3
sub eax, 9
je 0x1000a489
dec eax
dec eax
je 0x1000a44d
sub eax, 0x3ff5
jne 0x1000a602
lea eax, [ebp - 0x2004]
push eax
call fcn.1000ab59
pop ecx
add eax, 2
xor ecx, ecx
shld ecx, eax, 1
xor edx, edx
add eax, eax
mov dword [ebp - 0x2108], edx
cmp ecx, edx
ja 0x1000a628
cmp eax, 0xffffffff
ja 0x1000a628
cmp eax, 0x100
jbe 0x1000a382
push eax
lea ecx, [ebp - 0x2108]
call fcn.1000ab59
mov esi, dword [ebp - 0x2108]
xor edx, edx
jmp 0x1000a38e
lea esi, [ebp - 0x2104]
mov dword [ebp - 0x2108], esi
test esi, esi
je 0x1000a42c
cmp word [ebp - 0x2004], 0
lea edi, [ebp - 0x2004]
je 0x1000a3de
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
push edi
call ebx
movzx ecx, word [edi]
cmp ecx, 0x5c
jne 0x1000a3ce
push 0x30
pop edx
cmp word [eax], dx
jne 0x1000a3ce
xor ecx, ecx
mov word [esi], cx
add esi, 2
push eax
call ebx
mov edi, eax
jmp 0x1000a3d7
mov word [esi], cx
add esi, 2
add edi, 2
xor edx, edx
cmp word [edi], dx
jne 0x1000a3ac
xor eax, eax
mov dword [esi], eax
mov esi, dword [ebp - 0x2108]
test esi, esi
jne 0x1000a3f0
push 0xd
jmp 0x1000a42e
mov edi, edx
mov ebx, esi
push ebx
call fcn.1000ab59
inc eax
pop ecx
lea ebx, [ebx + eax*2]
lea edi, [edi + eax*2]
cmp eax, 1
jne 0x1000a3f4
push edi
push esi
push 7
xor eax, eax
push eax
mov eax, dword [ebp - 0x210c]
push dword [ebp - 0x2114]
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, dword [ebp - 0x2108]
mov edi, eax
jmp 0x1000a42f
push 0xe
pop edi
lea eax, [ebp - 0x2104]
cmp esi, eax
je 0x1000a5ef
lea ecx, [ebp - 0x2108]
call fcn.10009cfd
jmp 0x1000a5ef
lea eax, [ebp - 0x210c]
push eax
xor eax, eax
push eax
push eax
lea eax, [ebp - 0x2004]
push eax
call dword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
test eax, eax
js 0x1000a615
mov eax, dword [ebp - 0x210c]
mov dword [ebp - 0x2114], eax
lea eax, [ebp - 0x2114]
push 4
push eax
push 4
jmp 0x1000a5e1
lea eax, [ebp - 0x2004]
push eax
call fcn.1000ab59
mov ebx, eax
pop ecx
test bl, 1
je 0x1000a4a7
mov eax, 0x80004005
jmp 0x1000a615
cdq
xor ecx, ecx
sub eax, edx
mov dword [ebp - 0x2108], ecx
mov esi, eax
sar esi, 1
cmp ecx, ecx
ja 0x1000a628
cmp esi, 0xffffffff
ja 0x1000a628
cmp esi, 0x100
jbe 0x1000a4e5
push esi
lea ecx, [ebp - 0x2108]
call fcn.1000ab59
mov eax, dword [ebp - 0x2108]
xor ecx, ecx
jmp 0x1000a4f1
lea eax, [ebp - 0x2104]
mov dword [ebp - 0x2108], eax
test eax, eax
jne 0x1000a50c
lea eax, [ebp - 0x2104]
test eax, eax
je 0x1000a49d
lea ecx, [ebp - 0x2108]
call fcn.10009cfd
jmp 0x1000a49d
push esi
push ecx
push eax
call fcn.10032cb0
xor ecx, ecx
add esp, 0xc
mov edi, ecx
test ebx, ebx
jle 0x1000a588
mov eax, edi
cdq
sub eax, edx
movzx edx, word [ebp + edi*2 - 0x2004]
sar eax, 1
add eax, dword [ebp - 0x2108]
mov dword [ebp - 0x2110], eax
mov eax, edx
cmp eax, 0x30
jl 0x1000a567
cmp eax, 0x39
jle 0x1000a562
cmp eax, 0x40
jle 0x1000a567
cmp eax, 0x46
jle 0x1000a55d
add eax, 0xffffff9f
cmp eax, 5
ja 0x1000a567
sub dl, 0x57
jmp 0x1000a569
sub dl, 0x37
jmp 0x1000a569
sub dl, 0x30
jmp 0x1000a569
mov dl, cl
mov eax, edi
and eax, 1
push 4
shl eax, 2
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x2110]
shl dl, cl
push 0
pop ecx
or byte [eax], dl
inc edi
cmp edi, ebx
jl 0x1000a51f
mov eax, dword [ebp - 0x210c]
push esi
push dword [ebp - 0x2108]
push 3
push ecx
push dword [ebp - 0x2114]
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
lea eax, [ebp - 0x2104]
cmp dword [ebp - 0x2108], eax
je 0x1000a5ef
lea ecx, [ebp - 0x2108]
call fcn.10009cfd
jmp 0x1000a5ef
lea eax, [ebp - 0x2004]
push eax
call fcn.1000ab59
pop ecx
lea eax, [eax*2 + 2]
push eax
lea eax, [ebp - 0x2004]
push eax
push 1
xor eax, eax
push eax
push esi
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
test edi, edi
je 0x1000a5fc
mov ecx, edi
call fcn.1000a9f7
jmp 0x1000a615
mov edi, dword [ebp - 0x211c]
push dword [ebp - 0x2120]
mov ecx, edi
call fcn.1000ab59
test eax, eax
js 0x1000a615
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10030b40
mov esp, ebp
pop ebp
ret 0xc
push 0x80070216
call fcn.1000ab59
int3