Function at 0x1013e124
Capabilities:
Set registry value

Disassembly:
push 0x74c
mov eax, 0x10327b24
call fcn.1027911b
mov eax, ecx
mov dword [ebp - 0x758], eax
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x744], ebx
cmp dword [eax + 0x20], ecx
jne 0x1013e16e
push str.ORegistryKey.SetValue_failure:_Cannot_set_multistring._The_registry_key_is_closed_or_not_set
push 0x3a
lea ecx, [ebp - 0x3b0]
call fcn.10014732
push 0x1060513c
lea eax, [ebp - 0x3b0]
push eax
call fcn.1027a8f4
cmp dword [ebx + 0x10], 0x3fff
jbe 0x1013e18b
push str.ORegistryKey.SetValue_failure:_Cannot_set_multistring._The_registry_value_name_is_too_long
push 0x21
lea ecx, [ebp - 0x3b0]
call fcn.1013da9f
jmp 0x1013e15d
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x740], 0x18
mov edi, dword [esi + 4]
mov eax, edi
mov esi, dword [esi]
sub eax, esi
cdq
idiv dword [ebp - 0x740]
test eax, eax
jne 0x1013e1c0
push str.ORegistryKey.SetValue_failure:_Cannot_set_multistring._The_multistring_value_is_null__empty_vector_
push 0x1d
lea ecx, [ebp - 0x3b0]
call fcn.1013db8d
jmp 0x1013e15d
xor eax, eax
inc eax
cmp esi, edi
je 0x1013e202
mov ebx, eax
push esi
lea ecx, [ebp - 0x28]
call fcn.100068e6
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push 0
inc eax
push 1
add ebx, eax
call fcn.10007cb3
add esi, dword [ebp - 0x740]
cmp esi, edi
jne 0x1013e1c9
mov dword [ebp - 0x73c], ebx
xor ecx, ecx
mov ebx, dword [ebp - 0x744]
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x750], ecx
mov dword [ebp - 0x74c], ecx
mov dword [ebp - 0x748], ecx
add eax, eax
mov dword [ebp - 4], ecx
push eax
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x754], eax
call fcn.100e1904
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x73c], 0
mov dword [ebp - 4], 1
mov edi, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [ebp - 0x74c]
cmp esi, edi
je 0x1013e2bf
mov ebx, eax
sub ebx, dword [ebp - 0x750]
push esi
lea ecx, [ebp - 0x28]
call fcn.100068e6
mov ecx, dword [ebp - 0x750]
xor eax, eax
test ebx, ebx
mov byte [ebp - 4], 2
cmove ecx, eax
mov eax, dword [ebp - 0x18]
inc eax
push eax
mov eax, dword [ebp - 0x73c]
add eax, ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.101207b3
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x73c]
push 0
push 1
mov byte [ebp - 4], 1
lea ecx, [ecx + eax*2]
add ecx, 2
mov dword [ebp - 0x73c], ecx
lea ecx, [ebp - 0x28]
call fcn.10007cb3
add esi, dword [ebp - 0x740]
cmp esi, edi
jne 0x1013e253
mov ebx, dword [ebp - 0x744]
mov eax, dword [ebp - 0x74c]
xor edi, edi
mov dword [ebp - 0x14], 7
xor ecx, ecx
mov dword [ebp - 0x18], edi
mov word [ebp - 0x28], cx
mov esi, dword [ebp - 0x750]
sub eax, esi
mov dword [ebp - 0x744], eax
mov eax, esi
cmove eax, ecx
mov byte [ebp - 4], 3
add eax, dword [ebp - 0x73c]
push 1
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.101207d7
push edi
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.10007cb3
xor eax, eax
cmp dword [ebp - 0x744], eax
cmove esi, eax
cmp dword [ebx + 0x14], 8
jb 0x1013e31e
mov eax, dword [ebx]
jmp 0x1013e320
mov eax, ebx
push dword [ebp - 0x754]
push esi
mov esi, dword [ebp - 0x758]
push 7
push edi
push eax
push dword [esi + 0x20]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x1013e366
lea ecx, [esi + 8]
push ecx
push ebx
push str.ORegistryKey.SetValue_failure:_Cannot_set_multistring_name___s__into_in_registry_key__s
push eax
push 0xf
lea ecx, [ebp - 0x738]
call fcn.1013da06
push 0x1060513c
lea eax, [ebp - 0x738]
jmp 0x1013e168
lea ecx, [ebp - 0x750]
call fcn.100d58ce
call fcn.102790cd
ret 8