Function at 0x44a690
Capabilities:
Check if file exists
Query or enumerate registry value
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x484522
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [0x4a60f8]
xor eax, esp
mov dword [esp + 0x228], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a60f8]
xor eax, esp
push eax
lea eax, [esp + 0x240]
mov dword fs:[0], eax
cmp dword [0x4a7dac], 0
jne 0x44aa90
lea esi, [esp + 0x20]
mov dword [0x4a7dac], 1
call fcn.00449880
push str...updatecfg.ini
push 0x104
mov ecx, esi
mov dword [esp + 0x250], 0
call fcn.0041b800
mov ebp, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push eax
call ebp
mov ecx, esi
call fcn.0041b900
mov esi, dword [esp + 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
call edi
mov dword [esi - 8], eax
xor ecx, ecx
mov word [esi + eax*2], cx
mov edx, dword [0x4a4014]
mov dword [esp + 0x18], edx
push esi
push 0x104
push 0x104
lea ecx, [esp + 0x24]
mov byte [esp + 0x254], 1
call fcn.0041b800
push eax
push 0x494900
push 0x4951c0
push str.DefaultSkin.uiz
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [esp + 0x18]
call fcn.0041b900
mov esi, dword [esp + 0x18]
push esi
call edi
mov dword [esi - 8], eax
xor ecx, ecx
mov word [esi + eax*2], cx
mov edx, dword [0x4a4014]
mov eax, str.2.9.1.1013
shr eax, 0x10
mov dword [esp + 0x14], edx
test eax, eax
jne 0x44a7ac
mov ecx, str.2.9.1.1013
movzx eax, cx
push eax
lea ecx, [esp + 0x18]
call fcn.0041c340
jmp 0x44a7e4
push str.2.9.1.1013
call edi
mov esi, eax
test esi, esi
je 0x44a7e4
push esi
lea ecx, [esp + 0x18]
call fcn.0041b310
test eax, eax
je 0x44a7e4
lea eax, [esi + esi]
lea edx, [eax + 2]
cmp edx, eax
jb 0x44a7e4
push eax
mov eax, dword [esp + 0x18]
push str.2.9.1.1013
push eax
call fcn.00461ec0
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x250], 2
call fcn.0044a3e0
mov esi, dword [esp + 0x1c]
add esp, 8
test eax, eax
lea eax, [esi - 0xc]
setl bl
mov byte [esp + 0x248], 1
cmp eax, dword [0x4a4010]
je 0x44a831
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x44a831
push esi
call fcn.00462471
add esp, 4
test bl, bl
jne 0x44a98c
lea esi, [esp + 0x24]
call fcn.00449880
push str._flashApp.exe
push 0x104
mov ecx, esi
mov byte [esp + 0x250], 3
call fcn.0041b800
push eax
call ebp
mov ecx, esi
call fcn.0041b900
mov esi, dword [esp + 0x24]
push esi
call edi
xor ecx, ecx
mov dword [esi - 8], eax
mov word [esi + eax*2], cx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x2c]
xor ebx, ebx
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], ebx
call fcn.00448b70
mov ecx, dword [0x4a4014]
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x24]
movzx edx, ax
push edx
shr eax, 0x10
push eax
mov eax, dword [esp + 0x38]
movzx ecx, ax
push ecx
shr eax, 0x10
push eax
lea edx, [esp + 0x2c]
push str._d._d._d._d
push edx
mov byte [esp + 0x268], 4
call fcn.0041d3c0
mov eax, dword [0x4a4014]
mov ecx, str.2.6.1.1015
shr ecx, 0x10
add esp, 0x20
mov dword [esp + 0x1c], eax
test ecx, ecx
jne 0x44a8f7
mov edx, str.2.6.1.1015
movzx eax, dx
push eax
lea ecx, [esp + 0x20]
call fcn.0041c340
jmp 0x44a92f
push str.2.6.1.1015
call edi
mov edi, eax
cmp edi, ebx
je 0x44a92f
push edi
lea ecx, [esp + 0x20]
call fcn.0041b310
test eax, eax
je 0x44a92f
lea eax, [edi + edi]
lea ecx, [eax + 2]
cmp ecx, eax
jb 0x44a92f
mov edx, dword [esp + 0x1c]
push eax
push str.2.6.1.1015
push edx
call fcn.00461ec0
add esp, 0xc
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x250], 5
call fcn.0044a3e0
mov edi, dword [esp + 0x24]
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add esp, 8
test eax, eax
lea edx, [edi - 0xc]
setl bl
cmp edx, dword [0x4a4010]
je 0x44a976
add edi, 0xfffffff4
push edi
call ebp
test eax, eax
jg 0x44a976
push edi
call fcn.00462471
add esp, 4
test bl, bl
je 0x44a9a3
lea ecx, [esp + 0x14]
call fcn.0041b2e0
lea ecx, [esp + 0x24]
call fcn.0041b2e0
lea ecx, [esp + 0x18]
call fcn.0041b2e0
lea ecx, [esp + 0x20]
call fcn.0041b2e0
jmp 0x44aa90
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x3e]
mov edi, 1
push ecx
mov dword [esp + 0x38], edi
mov word [esp + 0x40], ax
call fcn.00461950
add esp, 0xc
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x34]
push ecx
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_Paths360wpapp.exe
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x48], 0x103
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x44a97a
lea edx, [esp + 0x34]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x44a97a
mov eax, dword [esp + 0x14]
lea ecx, [eax - 0xc]
mov dword [0x4a7da8], edi
cmp ecx, dword [0x4a4010]
je 0x44aa2e
lea edi, [eax - 0xc]
push edi
call ebp
test eax, eax
jg 0x44aa2e
push edi
call fcn.00462471
add esp, 4
lea edx, [esi - 0xc]
cmp edx, dword [0x4a4010]
je 0x44aa4c
add esi, 0xfffffff4
push esi
call ebp
test eax, eax
jg 0x44aa4c
push esi
call fcn.00462471
add esp, 4
mov esi, dword [esp + 0x18]
lea eax, [esi - 0xc]
cmp eax, dword [0x4a4010]
je 0x44aa6e
add esi, 0xfffffff4
push esi
call ebp
test eax, eax
jg 0x44aa6e
push esi
call fcn.00462471
add esp, 4
mov esi, dword [esp + 0x20]
lea ecx, [esi - 0xc]
cmp ecx, dword [0x4a4010]
je 0x44aa90
add esi, 0xfffffff4
push esi
call ebp
test eax, eax
jg 0x44aa90
push esi
call fcn.00462471
add esp, 4
mov eax, dword [0x4a7da8]
mov ecx, dword [esp + 0x240]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x228]
xor ecx, esp
call fcn.00461932
add esp, 0x238
ret