Function at 0x10066ac
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4e0
mov eax, dword [0x10191b8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x498], edi
mov esi, 0x1019538
push esi
call fcn.010029e0
push 0x1001ad0
mov dword [0x1019558], 0x100161c
mov dword [0x1019010], esi
call fcn.01002ab0
mov eax, dword [0x1019010]
mov esi, 0x1019010
cmp eax, esi
je 0x1006735
test byte [eax + 0x1c], 1
je 0x1006735
cmp byte [eax + 0x19], 5
jb 0x1006735
push dword [ebp + 0x14]
push edi
push ebx
push dword [ebp - 0x490]
push 0x100162c
push 0x10
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002961
xor ebx, ebx
push edi
lea ecx, [ebp - 0x484]
mov dword [ebp - 0x494], ebx
mov dword [ebp - 0x47c], ebx
mov dword [ebp - 0x480], ebx
call fcn.01006666
push ebx
push 0x1001ac0
lea ecx, [ebp - 0x484]
call fcn.0100497f
cmp eax, 0xffffffff
je 0x10067f9
push 0x1001a68
push ebx
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov edi, eax
mov dword [ebp - 0x480], edi
mov eax, dword [0x1019010]
cmp eax, esi
je 0x10067b0
test byte [eax + 0x1c], 2
je 0x10067b0
cmp byte [eax + 0x19], 4
jb 0x10067b0
push edi
push 0x100162c
push 0x11
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp edi, ebx
je 0x10067ef
push edi
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [0x1019010]
cmp ecx, esi
je 0x10067e4
test byte [ecx + 0x1c], 2
je 0x10067e4
cmp byte [ecx + 0x19], 4
jb 0x10067e4
push eax
push 0x100162c
push 0x12
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002935
lea ecx, [ebp - 0x480]
call fcn.01002d5e
mov dword [ebp - 0x47c], 1
mov ecx, dword [ebp - 0x484]
add ecx, 0xfffffff0
call fcn.01002efe
cmp dword [ebp - 0x480], ebx
je 0x100681a
lea ecx, [ebp - 0x480]
call fcn.01002d5e
cmp dword [ebp - 0x47c], ebx
jne 0x1006ed8
call fcn.01003154
test eax, eax
jne 0x1006ed8
push 0x1001a08
lea ecx, [ebp - 0x488]
mov dword [ebp - 0x484], ebx
call fcn.01006666
push ebx
push ebx
push 0x2001f
push ebx
push ebx
push 0x10019b0
mov edi, 0x80000001
push edi
lea ecx, [ebp - 0x484]
call fcn.01002d98
mov dword [ebp - 0x478], eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x100689b
test byte [eax + 0x1c], 2
je 0x100689b
cmp byte [eax + 0x19], 4
jb 0x100689b
push dword [ebp - 0x478]
push 0x100162c
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp dword [ebp - 0x478], ebx
jne 0x100690e
lea eax, [ebp - 0x480]
push eax
push 0x1001978
lea ecx, [ebp - 0x484]
mov dword [ebp - 0x480], ebx
call fcn.01002ded
mov dword [ebp - 0x478], eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x10068f3
test byte [eax + 0x1c], 2
je 0x10068f3
cmp byte [eax + 0x19], 4
jb 0x10068f3
push dword [ebp - 0x478]
push 0x100162c
push 0x14
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp dword [ebp - 0x478], ebx
jne 0x100690e
cmp dword [ebp - 0x480], 1
je 0x100690e
mov dword [ebp - 0x47c], 1
mov ecx, dword [ebp - 0x488]
add ecx, 0xfffffff0
call fcn.01002efe
lea ecx, [ebp - 0x484]
call fcn.01002d7a
cmp dword [ebp - 0x47c], ebx
jne 0x1006ed8
push 0x1001a08
lea ecx, [ebp - 0x48c]
mov dword [ebp - 0x478], ebx
call fcn.01006666
push ebx
push ebx
push 0x2001f
push ebx
push ebx
push dword [ebp - 0x48c]
lea ecx, [ebp - 0x478]
push edi
call fcn.01002d98
mov edi, eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x100698e
test byte [eax + 0x1c], 2
je 0x100698e
cmp byte [eax + 0x19], 4
jb 0x100698e
push edi
push 0x100162c
push 0x15
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp edi, ebx
jne 0x1006a89
lea eax, [ebp - 0x484]
push eax
push 0x1001954
lea ecx, [ebp - 0x478]
mov dword [ebp - 0x484], ebx
call fcn.01002ded
mov edi, eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x10069dd
test byte [eax + 0x1c], 2
je 0x10069dd
cmp byte [eax + 0x19], 4
jb 0x10069dd
push edi
push 0x100162c
push 0x16
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp edi, ebx
jne 0x10069ed
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x47c], eax
lea eax, [ebp - 0x484]
push eax
mov edi, 0x1001938
push edi
lea ecx, [ebp - 0x478]
call fcn.01002ded
mov dword [ebp - 0x480], eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006a38
test byte [eax + 0x1c], 2
je 0x1006a38
cmp byte [eax + 0x19], 4
jb 0x1006a38
push dword [ebp - 0x480]
push 0x100162c
push 0x17
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp dword [ebp - 0x480], 2
jne 0x1006a89
push 4
lea eax, [ebp - 0x488]
push eax
push 4
push ebx
push edi
push dword [ebp - 0x478]
mov dword [ebp - 0x488], ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, dword [0x1019010]
cmp ecx, esi
je 0x1006a89
test byte [ecx + 0x1c], 2
je 0x1006a89
cmp byte [ecx + 0x19], 4
jb 0x1006a89
push eax
push 0x100162c
push 0x18
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002935
mov ecx, dword [ebp - 0x48c]
add ecx, 0xfffffff0
call fcn.01002efe
lea ecx, [ebp - 0x478]
call fcn.01002d7a
cmp dword [ebp - 0x47c], ebx
jne 0x1006ed8
mov edi, 0x10196c4
push edi
lea ecx, [ebp - 0x484]
call fcn.0100389f
push edi
lea ecx, [ebp - 0x488]
call fcn.0100389f
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.01013e38
dec eax
neg eax
sbb eax, eax
and eax, 0x80004005
push edi
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x47c], eax
call fcn.0100389f
push 0x1001934
lea eax, [ebp - 0x484]
push eax
lea eax, [ebp - 0x478]
push eax
call fcn.010064df
push eax
lea ecx, [ebp - 0x480]
call fcn.01005c4f
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.01002efe
push 0x10018e8
lea ecx, [ebp - 0x480]
call fcn.01005d85
cmp dword [ebp - 0x47c], ebx
mov dword [ebp - 0x478], ebx
jl 0x1006e6e
push dword [ebp - 0x480]
push ebx
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov dword [ebp - 0x478], eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006b93
test byte [eax + 0x1c], 2
je 0x1006b93
cmp byte [eax + 0x19], 4
jb 0x1006b93
push dword [ebp - 0x478]
push 0x100162c
push 0x19
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp dword [ebp - 0x478], ebx
je 0x1006bb0
lea ecx, [ebp - 0x478]
call fcn.01002d5e
mov dword [ebp - 0x47c], 0x80004005
cmp dword [ebp - 0x47c], ebx
jl 0x1006e6e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1006bd3
mov dword [ebp - 0x47c], 0x80004005
cmp dword [ebp - 0x47c], ebx
jl 0x1006e6e
push 2
push ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov edi, eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006c12
test byte [eax + 0x1c], 2
je 0x1006c12
cmp byte [eax + 0x19], 4
jb 0x1006c12
push edi
push 0x100162c
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp edi, ebx
jl 0x1006e9b
push ebx
lea eax, [ebp - 0x4a8]
push eax
lea eax, [ebp - 0x48c]
push eax
mov dword [ebp - 0x4a8], 1
mov dword [ebp - 0x4a4], ebx
mov dword [ebp - 0x4a0], ebx
mov dword [ebp - 0x49c], ebx
call sub.gdiplus.dll_GdiplusStartup
cmp eax, ebx
je 0x1006c88
mov ecx, dword [0x1019010]
cmp ecx, esi
je 0x1006e6e
test byte [ecx + 0x1c], 2
je 0x1006e6e
cmp byte [ecx + 0x19], 2
jb 0x1006e6e
push eax
push 0x100162c
push 0x1b
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002935
jmp 0x1006e6e
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006cb0
test byte [eax + 0x1c], 2
je 0x1006cb0
cmp byte [eax + 0x19], 5
jb 0x1006cb0
push ebx
push 0x100162c
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
push ebx
push dword [ebp - 0x490]
mov edi, 0x1019590
push ebx
mov ecx, edi
call fcn.01003717
mov dword [ebp - 0x47c], eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006cfc
test byte [eax + 0x1c], 2
je 0x1006cfc
cmp byte [eax + 0x19], 4
jb 0x1006cfc
push dword [ebp - 0x47c]
push 0x100162c
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
mov eax, dword [0x1019010]
cmp dword [ebp - 0x47c], ebx
jl 0x1006e3b
lea eax, [ebp - 0x4e0]
push eax
mov ecx, edi
mov dword [ebp - 0x4e0], 0x1001890
mov dword [ebp - 0x4dc], ebx
mov dword [ebp - 0x4d8], ebx
mov dword [ebp - 0x4d4], ebx
mov dword [ebp - 0x4d0], ebx
mov dword [ebp - 0x4cc], ebx
mov dword [ebp - 0x4c8], ebx
call fcn.01005659
push dword [ebp - 0x498]
lea ecx, [ebp - 0x47c]
call fcn.01006666
lea ecx, [ebp - 0x474]
call fcn.0100d9ef
push dword [ebp - 0x484]
lea ecx, [ebp - 0x474]
push dword [ebp - 0x480]
call fcn.0100eba2
cmp eax, ebx
jl 0x1006e04
push ebx
push ebx
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x498], esp
push ebx
lea ecx, [ebp - 0x474]
mov dword [eax], ebx
call fcn.0100653b
mov dword [ebp - 0x490], eax
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006dd2
test byte [eax + 0x1c], 2
je 0x1006dd2
cmp byte [eax + 0x19], 4
jb 0x1006dd2
xor ecx, ecx
cmp dword [ebp - 0x490], ebx
setne cl
push ecx
push 0x100162c
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
cmp dword [ebp - 0x490], ebx
je 0x1006e04
push ebx
lea ecx, [ebp - 0x470]
call fcn.01002ffd
push ebx
push dword [ebp - 0x470]
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [ebp - 0x4e0]
call fcn.0100368d
mov dword [ebp - 0x494], eax
lea ecx, [ebp - 0x474]
call fcn.01006446
mov ecx, edi
call fcn.01005c0c
mov ecx, edi
call fcn.01005be7
mov ecx, dword [ebp - 0x47c]
add ecx, 0xfffffff0
call fcn.01002efe
lea ecx, [ebp - 0x4e0]
call fcn.01004964
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006e63
test byte [eax + 0x1c], 2
je 0x1006e63
cmp byte [eax + 0x19], 5
jb 0x1006e63
push dword [ebp - 0x48c]
push 0x100162c
push 0x1f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
push dword [ebp - 0x48c]
call sub.gdiplus.dll_GdiplusShutdown
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006e9b
test byte [eax + 0x1c], 2
je 0x1006e9b
cmp byte [eax + 0x19], 4
jb 0x1006e9b
push 0x100162c
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010028d7
cmp dword [ebp - 0x478], ebx
je 0x1006eae
lea ecx, [ebp - 0x478]
call fcn.01002d5e
mov ecx, dword [ebp - 0x480]
add ecx, 0xfffffff0
call fcn.01002efe
mov ecx, dword [ebp - 0x488]
add ecx, 0xfffffff0
call fcn.01002efe
mov ecx, dword [ebp - 0x484]
add ecx, 0xfffffff0
call fcn.01002efe
mov eax, dword [0x1019010]
cmp eax, esi
je 0x1006f05
test byte [eax + 0x1c], 1
je 0x1006f05
cmp byte [eax + 0x19], 5
jb 0x1006f05
push dword [ebp - 0x494]
push 0x100162c
push 0x21
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002935
call fcn.01002afe
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x494]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01011905
leave
ret 0x10