Function at 0x4021e0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x424b00
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
mov eax, dword [0x433610]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
cmp byte [esi], bl
je 0x402418
cmp byte [esi + 1], bl
je 0x402418
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
push ebx
push ebx
push 0x2001f
push ebx
push ebx
push str.SoftwareSkypeUpdater
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], ebx
call fcn.004013f0
test eax, eax
je 0x4022a0
call fcn.00401260
mov esi, eax
call fcn.00401810
mov ecx, eax
call fcn.00409030
cmp eax, ebx
je 0x40227f
push esi
push str.SoftwareSkypeUpdater
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push str.BitsJob:_failed_to_open_key___s___0x_x_
push eax
mov dword [ebp - 0x10], 0xfffffffe
call fcn.00408ee0
add esp, 0x10
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x40228d
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esi + 0x1c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00406460
lea edx, [esi + 4]
push edx
push str.BitsJobId
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.004019f0
test eax, eax
je 0x40232d
call fcn.00401260
mov esi, eax
call fcn.00401810
mov ecx, eax
call fcn.00409030
cmp eax, ebx
je 0x4022fd
push esi
push str.BitsJobId
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push str.BitsJob:_failed_to_save__s__0x_x_
push eax
mov dword [ebp - 0x10], 0xfffffffe
call fcn.00408ee0
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.00406480
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x40228d
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x18]
push 1
push eax
push str.BitsJobFile
lea ecx, [ebp - 0x28]
call fcn.00401530
test eax, eax
je 0x4023a2
call fcn.00401260
mov esi, eax
call fcn.00401810
mov ecx, eax
call fcn.00409030
cmp eax, ebx
je 0x40237c
push esi
push str.BitsJobFile
push str.BitsJob:_failed_to_save__s__0x_x_
lea ecx, [ebp - 0x14]
push ecx
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x14], eax
call fcn.00408ee0
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.00406480
lea ecx, [ebp - 0x28]
call fcn.00401910
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x28]
mov edx, dword [esi + 0x14]
push 4
lea eax, [ebp - 0x10]
push eax
push 4
push ebx
push str.BitsJobError
push ecx
mov dword [ebp - 0x10], edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x4023ef
call fcn.00401260
mov esi, eax
call fcn.00401810
mov ecx, eax
call fcn.00409030
cmp eax, ebx
je 0x40237c
push esi
push str.BitsJobError
push str.BitsJob:_failed_to_save__s__0x_x_
lea edx, [ebp - 0x14]
push edx
jmp 0x40236a
lea ecx, [ebp - 0x1c]
mov byte [esi + 1], bl
mov byte [ebp - 4], bl
call fcn.00406480
lea ecx, [ebp - 0x28]
call fcn.00401910
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret