Function at 0x419737
Capabilities:
Delete registry value
Get file attributes
Set file attributes
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x42b004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor edx, edx
mov edi, ecx
mov esi, 0x104
lea ecx, [ebp - 0x20c]
push esi
inc edx
call fcn.00425381
test eax, eax
je 0x419901
lea eax, [ebp - 0x20c]
test eax, eax
je 0x41977e
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
push ecx
lea eax, [ebp - 0x210]
mov edx, esi
push eax
lea ecx, [ebp - 0x20c]
call fcn.00418514
test eax, eax
js 0x4197b6
mov eax, dword [ebp - 0x210]
mov edx, esi
push ecx
push 0x4011e8
push ecx
lea ecx, [ebp - 0x20c]
sub edx, eax
lea ecx, [ecx + eax*2]
call fcn.00418577
lea ecx, [ebp - 0x20c]
call fcn.00425077
test eax, eax
je 0x419901
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ebx, ebx
mov dword [ebp - 0x210], ebx
test edi, edi
je 0x4197e7
and eax, 0xfffffff9
jmp 0x4197ea
or eax, 6
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push ebx
lea eax, [ebp - 0x210]
push eax
push ebx
push 0x2001f
push ebx
push ebx
push ebx
push 0x401c70
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x419992
test edi, edi
jne 0x4198d3
push 0x401cf0
mov edx, 0x208
lea ecx, [ebp - 0x20c]
call fcn.004183cc
test eax, eax
js 0x41987d
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x41984b
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 2
push ebx
push 0x401d54
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 0x401d80
mov edx, 0x208
lea ecx, [ebp - 0x20c]
call fcn.004183cc
test eax, eax
js 0x4198f5
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x41989f
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 2
push ebx
push 0x401dec
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x4198f5
push 0x401d54
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push 0x401dec
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
xor edx, edx
lea ecx, [ebp - 0x20c]
call fcn.00425381
test eax, eax
je 0x419992
lea eax, [ebp - 0x20c]
test eax, eax
je 0x419924
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
push ecx
lea eax, [ebp - 0x210]
mov edx, esi
push eax
lea ecx, [ebp - 0x20c]
call fcn.00418514
test eax, eax
js 0x41995c
mov eax, dword [ebp - 0x210]
sub esi, eax
push ecx
push 0x4011ac
push ecx
lea ecx, [ebp - 0x20c]
mov edx, esi
lea ecx, [ecx + eax*2]
call fcn.00418577
lea ecx, [ebp - 0x20c]
call fcn.00425077
test eax, eax
je 0x419992
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test edi, edi
je 0x419981
and eax, 0xfffffff9
jmp 0x419984
or eax, 6
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00429770
mov esp, ebp
pop ebp
ret