Function at 0x603154
Capabilities:
Set registry value

Disassembly:
push 0x14
mov eax, 0x616780
call fcn.00508068
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
mov eax, dword [ebp + 0x14]
test eax, eax
push esi
cmove eax, ecx
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x10]
mov dword [ebp + 0x14], eax
call fcn.0045290e
push esi
push str.writeValue:_Value_Data:__s
mov byte [ebp - 4], 1
call fcn.00609c05
mov edi, dword [ebp + 0x10]
pop ecx
pop ecx
cmp edi, 4
jne 0x6031b9
push esi
call fcn.00519ce9
push edi
push str.writeValue:__REG_DWORD____sizeOfInputData:__d
mov dword [ebp - 0x20], eax
call fcn.00609c05
add esp, 0xc
jmp 0x60320c
cmp edi, 1
je 0x6031ea
cmp edi, 2
je 0x6031ea
cmp edi, 3
je 0x6031ea
cmp edi, 7
jne 0x60320c
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x6031d0
sub esi, ecx
sar esi, 1
lea eax, [esi + 1]
push eax
push str.writeValue:__Data_type_is_REG_MULTI_SZ:__d
jmp 0x603205
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x6031ed
sub esi, ecx
sar esi, 1
lea eax, [esi + 1]
push eax
push str.writeValue:__Data_type_is_REG_SZ_or_REG_EXPAND_SZ_or_REG_BINARY:__d
call fcn.00609c05
pop ecx
pop ecx
mov eax, dword [ebp - 0x10]
mov dl, bl
mov ecx, ebx
mov esi, dword [eax - 0xc]
test esi, esi
jle 0x60325f
add ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp word [ecx + eax], 0xa
jne 0x603243
test dl, dl
jne 0x60323d
push esi
lea ecx, [ebp - 0x10]
mov byte [ebp + 0xf], 1
call fcn.00452c9e
mov dl, byte [ebp + 0xf]
mov ecx, dword [ebp - 0x1c]
xor edi, edi
mov word [ecx + eax], di
add ecx, 2
sar ecx, 1
cmp ecx, esi
jl 0x60321a
mov edi, dword [ebp + 0x10]
test dl, dl
je 0x60325c
push esi
lea ecx, [ebp - 0x10]
call fcn.00452c76
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
push ebx
mov dword [ebp + 0x10], eax
lea ecx, [esi + 4]
call fcn.00452c9e
push eax
push dword [ebp + 0x14]
mov ecx, esi
call fcn.00603098
mov esi, eax
test esi, esi
je 0x60328d
push esi
push str.writeValue:__WriteValue_failure_during_key_creation___d
jmp 0x60334c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
push ecx
cmp dword [eax + 0x10], ebx
je 0x6032a0
push 0xf013f
jmp 0x6032a5
push 0xf003f
push ebx
push dword [eax + 4]
push dword [ebp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test esi, esi
jne 0x603346
push ebx
push 0x6aca10
call fcn.00609c05
push 0x6ac920
call fcn.00609c05
add esp, 0xc
cmp edi, 4
jne 0x6032e7
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x14]
push edi
push eax
push edi
jmp 0x6032f8
push ebx
lea ecx, [ebp - 0x10]
call fcn.00452c9e
mov ecx, dword [ebp + 0x10]
add ecx, ecx
push ecx
push eax
push edi
push ebx
push dword [ebp + 8]
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x60332e
push ebx
push 0x6acaa8
call fcn.00609c05
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x6aca50
call fcn.00609c05
pop ecx
jmp 0x603355
push esi
push 0x6acae8
call fcn.00609c05
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x603353
push esi
push 0x6ac8d8
call fcn.00609c05
pop ecx
pop ecx
mov ebx, esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00452239
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00452239
mov eax, ebx
call fcn.00508031
ret 0x10