Function at 0x401be7
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1a4]
sub esp, 0x224
mov eax, dword [0x40e060]
xor eax, ebp
mov dword [ebp + 0x1a0], eax
push ebx
lea eax, [ecx + 0x4180]
push esi
mov dword [ebp - 0x6c], ecx
lea edx, [eax + 2]
push edi
mov si, word [eax]
inc eax
inc eax
test si, si
jne 0x401c11
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ecx + 0x4180]
push eax
push 1
push str.Address0
mov ebx, str.SoftwareDVRemoteDesktop
push ebx
mov edi, connect
push edi
call esi
mov eax, dword [ebp - 0x6c]
push 4
add eax, 0x4388
push eax
push 4
push str.Port0
push ebx
push edi
call esi
mov ecx, dword [ebp - 0x6c]
lea eax, [ecx + 0x438c]
lea edx, [eax + 2]
mov dword [ebp - 0x74], edx
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x401c6b
sub eax, dword [ebp - 0x74]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ecx + 0x438c]
push eax
push 1
push str.User0
push ebx
push edi
call esi
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x3d2c], 0
je 0x401cce
lea ecx, [eax + 0x4594]
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x74], edx
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x401cab
sub eax, dword [ebp - 0x74]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push str.Password0
push ebx
push edi
call esi
mov eax, dword [ebp - 0x6c]
and dword [ebp - 0x74], 0
cmp dword [eax + 0x10], 0
mov dword [ebp - 0x78], 1
jle 0x401eb4
lea ecx, [eax + 0x148c]
mov dword [ebp - 0x70], ecx
lea ecx, [eax + 0x1464]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x70]
add ecx, 0xffffeb88
push ecx
add eax, 0x4180
push eax
call fcn.00409017
pop ecx
pop ecx
test eax, eax
jne 0x401d89
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x7c]
add eax, 0x4388
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x401d89
mov eax, dword [ebp - 0x6c]
push dword [ebp - 0x70]
add eax, 0x438c
push eax
call fcn.00409017
pop ecx
pop ecx
test eax, eax
jne 0x401d89
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x3d2c], 0
je 0x401e97
mov ecx, dword [ebp - 0x70]
add ecx, 0x1450
add eax, 0x4594
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401d7c
test dx, dx
je 0x401d78
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401d7c
add eax, 4
add ecx, 4
test dx, dx
jne 0x401d56
xor eax, eax
jmp 0x401d81
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x401e97
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x68], ax
lea eax, [ebp - 0x66]
push eax
call fcn.00406a70
push dword [ebp - 0x78]
lea eax, [ebp - 0x68]
push str.Address_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp - 0x70]
add esp, 0x18
add eax, 0xffffeb88
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x401dbe
sub eax, ecx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
mov eax, dword [ebp - 0x70]
add eax, 0xffffeb88
push eax
push 1
lea eax, [ebp - 0x68]
push eax
push ebx
push edi
call esi
push dword [ebp - 0x78]
lea eax, [ebp - 0x68]
push str.Port_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 4
push dword [ebp - 0x7c]
lea eax, [ebp - 0x68]
push 4
push eax
push ebx
push edi
call esi
push dword [ebp - 0x78]
lea eax, [ebp - 0x68]
push str.User_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp - 0x70]
add esp, 0xc
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x401e23
sub eax, ecx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push dword [ebp - 0x70]
lea eax, [ebp - 0x68]
push 1
push eax
push ebx
push edi
call esi
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x3d2c], 0
je 0x401e94
push dword [ebp - 0x78]
lea eax, [ebp - 0x68]
push str.Password_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x70]
add esp, 0xc
add ecx, 0x1450
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x80], edx
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x401e75
sub eax, dword [ebp - 0x80]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
lea eax, [ebp - 0x68]
push eax
push ebx
push edi
call esi
inc dword [ebp - 0x78]
inc dword [ebp - 0x74]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
add dword [ebp - 0x7c], 4
add dword [ebp - 0x70], 0x208
cmp ecx, dword [eax + 0x10]
jl 0x401cf5
mov ecx, dword [ebp + 0x1a0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040283c
add ebp, 0x1a4
leave
ret