Function at 0x10019570
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2064
call fcn.1001d3b0
push esi
mov dword [ebp - 0x2038], ecx
mov dword [ebp - 0x2010], 0
mov dword [ebp - 0x1004], 0
mov dword [ebp - 0x2014], 0
lea eax, [ebp - 0x2004]
push eax
mov ecx, dword [ebp - 0x2038]
call fcn.10018160
mov dword [ebp - 0x2018], eax
cmp dword [ebp - 0x2018], 0
jge 0x100195ce
mov eax, dword [ebp - 0x2018]
jmp 0x100199f9
lea ecx, [ebp - 0x2008]
push ecx
lea edx, [ebp - 0x2004]
push edx
call fcn.10019a80
add esp, 8
test eax, eax
jne 0x10019633
mov eax, 1
test eax, eax
je 0x100195fd
mov dword [ebp - 0x203c], 0
jmp 0x1001961e
lea ecx, [ebp - 0x2004]
push ecx
push str._s_Type_not_supported_n
push 0
push pe_nt_image_headers32
call fcn.10017c50
add esp, 0x10
mov dword [ebp - 0x203c], eax
push 0x20f
mov ecx, dword [ebp - 0x2038]
call fcn.10018050
jmp 0x100199f9
mov ecx, dword [ebp - 0x2038]
call fcn.100180c0
lea edx, [ebp - 0x1000]
push edx
mov ecx, dword [ebp - 0x2038]
call fcn.10018160
mov dword [ebp - 0x2018], eax
cmp dword [ebp - 0x2018], 0
jge 0x1001966a
mov eax, dword [ebp - 0x2018]
jmp 0x100199f9
mov eax, dword [ebp - 0x2008]
and eax, 0xffff
mov dword [ebp - 0x2040], eax
cmp dword [ebp - 0x2040], 8
je 0x1001969f
cmp dword [ebp - 0x2040], 0x11
je 0x10019812
cmp dword [ebp - 0x2040], 0x13
je 0x10019715
jmp 0x1001997d
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x1000]
push edx
mov ecx, dword [ebp + 8]
call fcn.10019a40
mov dword [ebp - 0x1004], eax
mov eax, 1
test eax, eax
je 0x100196cd
mov dword [ebp - 0x2044], 0
jmp 0x10019710
cmp dword [ebp + 0xc], 0
jne 0x100196df
mov dword [ebp - 0x2048], str.default
jmp 0x100196e8
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x2048], ecx
mov edx, dword [ebp - 0x2048]
push edx
lea eax, [ebp - 0x1000]
push eax
push str.Setting_Value__s_at__s_n
push 2
push pe_nt_image_headers32
call fcn.10017c50
add esp, 0x14
mov dword [ebp - 0x2044], eax
jmp 0x1001997d
lea ecx, [ebp - 0x1000]
mov dword [ebp - 0x2020], ecx
cmp dword [ebp - 0x2020], 0
jne 0x10019736
mov dword [ebp - 0x204c], 0
jmp 0x10019784
mov edx, dword [ebp - 0x2020]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x2024], eax
mov eax, dword [ebp - 0x2024]
shl eax, 1
add eax, 3
and al, 0xfc
call fcn.1001d3b0
mov dword [ebp - 0x2050], esp
mov eax, dword [ebp - 0x2024]
push eax
mov ecx, dword [ebp - 0x2020]
push ecx
mov edx, dword [ebp - 0x2050]
push edx
call fcn.10017520
mov dword [ebp - 0x204c], eax
lea eax, [ebp - 0x201c]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x204c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x201c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10019a10
mov dword [ebp - 0x1004], eax
mov ecx, 1
test ecx, ecx
je 0x100197ca
mov dword [ebp - 0x2054], 0
jmp 0x1001980d
cmp dword [ebp + 0xc], 0
jne 0x100197dc
mov dword [ebp - 0x2058], str.default
jmp 0x100197e5
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x2058], edx
mov eax, dword [ebp - 0x2058]
push eax
mov ecx, dword [ebp - 0x201c]
push ecx
push str.Setting_Value__d_at__s_n
push 2
push pe_nt_image_headers32
call fcn.10017c50
add esp, 0x14
mov dword [ebp - 0x2054], eax
jmp 0x1001997d
lea edx, [ebp - 0x1000]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x202c], eax
mov eax, dword [ebp - 0x202c]
and eax, 1
test eax, eax
je 0x1001986b
mov ecx, 1
test ecx, ecx
je 0x10019847
mov dword [ebp - 0x205c], 0
jmp 0x10019861
push str.Binary_Data_does_not_fall_on_BYTE_boundries_n
push 0
push pe_nt_image_headers32
call fcn.10017c50
add esp, 0xc
mov dword [ebp - 0x205c], eax
mov eax, 0x80004005
jmp 0x100199f9
mov eax, dword [ebp - 0x202c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x2028], eax
mov eax, dword [ebp - 0x2028]
add eax, 3
and al, 0xfc
call fcn.1001d3b0
mov dword [ebp - 0x2060], esp
mov edx, dword [ebp - 0x2060]
mov dword [ebp - 0x2034], edx
mov eax, dword [ebp - 0x2028]
push eax
push 0
mov ecx, dword [ebp - 0x2034]
push ecx
call fcn.1001cc20
add esp, 0xc
cmp dword [ebp - 0x2034], 0
jne 0x100198c9
mov eax, 0x80004005
jmp 0x100199f9
mov dword [ebp - 0x2030], 0
jmp 0x100198e4
mov edx, dword [ebp - 0x2030]
add edx, 1
mov dword [ebp - 0x2030], edx
mov eax, dword [ebp - 0x2030]
cmp eax, dword [ebp - 0x202c]
jge 0x10019952
mov eax, dword [ebp - 0x2030]
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov ecx, dword [ebp - 0x2030]
mov dl, byte [ebp + ecx - 0x1000]
push edx
call fcn.10019b30
add esp, 4
and eax, 0xff
mov ecx, dword [ebp - 0x2030]
and ecx, 1
mov edx, 1
sub edx, ecx
shl edx, 2
mov ecx, edx
shl eax, cl
mov ecx, dword [ebp - 0x2034]
mov cl, byte [ecx + esi]
or cl, al
mov eax, dword [ebp - 0x2030]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x2034]
mov byte [edx + eax], cl
jmp 0x100198d5
mov eax, dword [ebp - 0x2028]
push eax
mov ecx, dword [ebp - 0x2034]
push ecx
push 3
push 0
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
call fcn.1001a7c0
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x1004], eax
cmp dword [ebp - 0x1004], 0
je 0x100199d1
mov dword [ebp - 0x2014], 0x204
cmp dword [ebp - 0x1004], 0
jg 0x100199a7
mov eax, dword [ebp - 0x1004]
mov dword [ebp - 0x2064], eax
jmp 0x100199c5
mov ecx, dword [ebp - 0x1004]
and ecx, 0xffff
or ecx, 0x70000
or ecx, 0x80000000
mov dword [ebp - 0x2064], ecx
mov edx, dword [ebp - 0x2064]
mov dword [ebp - 0x2018], edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x2038]
call fcn.10018160
mov dword [ebp - 0x2018], eax
cmp dword [ebp - 0x2018], 0
jge 0x100199f7
mov eax, dword [ebp - 0x2018]
jmp 0x100199f9
xor eax, eax
lea esp, [ebp - 0x2068]
pop esi
mov esp, ebp
pop ebp
ret 0xc