Function at 0x428200
Capabilities:
Check if file exists
Get common file path
Query or enumerate registry value
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x146c
call fcn.005ad780
mov eax, dword [0x6a8a44]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x1458], ecx
xor eax, eax
mov word [ebp - 0x61c], ax
push 0x206
push 0
lea ecx, [ebp - 0x61a]
push ecx
call fcn.005be3a0
add esp, 0xc
xor edx, edx
mov word [ebp - 0xa2c], dx
push 0x206
push 0
lea eax, [ebp - 0xa2a]
push eax
call fcn.005be3a0
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x824], cx
push 0x206
push 0
lea edx, [ebp - 0x822]
push edx
call fcn.005be3a0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x20c], ax
push 0x206
push 0
lea ecx, [ebp - 0x20a]
push ecx
call fcn.005be3a0
add esp, 0xc
xor edx, edx
mov word [ebp - 0x414], dx
push 0x206
push 0
lea eax, [ebp - 0x412]
push eax
call fcn.005be3a0
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x1454], cx
push 0x206
push 0
lea edx, [ebp - 0x1452]
push edx
call fcn.005be3a0
add esp, 0xc
mov dword [ebp - 0x1464], 0
xor eax, eax
mov word [ebp - 0xc34], ax
push 0x206
push 0
lea ecx, [ebp - 0xc32]
push ecx
call fcn.005be3a0
add esp, 0xc
push 0x5eecf8
lea edx, [ebp - 0xc34]
push edx
call fcn.005c5a4b
add esp, 8
push 0x5eed0c
lea eax, [ebp - 0xc34]
push eax
call fcn.005c7787
add esp, 8
lea ecx, [ebp - 0x1460]
push ecx
push 0x20019
push 0
lea edx, [ebp - 0xc34]
push edx
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x145c], eax
cmp dword [ebp - 0x145c], 0
jne 0x428473
mov dword [ebp - 0x1468], 0x208
lea eax, [ebp - 0x1468]
push eax
lea ecx, [ebp - 0x1454]
push ecx
push 0
push 0
push 0x5eed20
mov edx, dword [ebp - 0x1460]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x145c], eax
cmp dword [ebp - 0x145c], 0
jne 0x428473
lea eax, [ebp - 0x1454]
push eax
lea ecx, [ebp - 0x20c]
push ecx
call fcn.005c5a4b
add esp, 8
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x414]
push eax
call fcn.005c5a4b
add esp, 8
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x428473
xor edx, edx
mov word [ebp - 0xe3c], dx
push 0x206
push 0
lea eax, [ebp - 0xe3a]
push eax
call fcn.005be3a0
add esp, 0xc
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0xe3c]
push edx
call fcn.005c5a4b
add esp, 8
push 0x5eed38
lea eax, [ebp - 0xe3c]
push eax
call fcn.005c7787
add esp, 8
lea ecx, [ebp - 0xe3c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x428473
mov edx, dword [ebp - 0x1460]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x1458]
add ecx, 0x44
call fcn.004028a0
lea ecx, [ebp - 0x414]
push ecx
mov ecx, dword [ebp - 0x1458]
add ecx, 0x74
call fcn.004028a0
jmp 0x428803
mov edx, dword [ebp - 0x1460]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
push 0x2b
lea eax, [ebp - 0x61c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x5eed54
lea ecx, [ebp - 0x61c]
push ecx
call fcn.005c7787
add esp, 8
push 0x5eed58
lea edx, [ebp - 0x61c]
push edx
call fcn.005c7787
add esp, 8
push 0x5eed6c
lea eax, [ebp - 0x61c]
push eax
call fcn.005c7787
add esp, 8
push 0x5eed70
lea ecx, [ebp - 0x61c]
push ecx
call fcn.005c7787
add esp, 8
push str..ini
lea edx, [ebp - 0x61c]
push edx
call fcn.005c7787
add esp, 8
lea eax, [ebp - 0x61c]
push eax
push 0x104
lea ecx, [ebp - 0xa2c]
push ecx
push 0x5eed90
push 0x5eed94
push 0x5eedac
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [ebp - 0xa2c]
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.005c5a4b
add esp, 8
lea ecx, [ebp - 0x20c]
push ecx
call fcn.005c1d51
add esp, 4
mov dword [ebp - 0x1464], eax
cmp dword [ebp - 0x1464], 0
jle 0x42860b
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x414]
push eax
call fcn.005c5a4b
add esp, 8
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42860b
xor edx, edx
mov word [ebp - 0x1044], dx
push 0x206
push 0
lea eax, [ebp - 0x1042]
push eax
call fcn.005be3a0
add esp, 0xc
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0x1044]
push edx
call fcn.005c5a4b
add esp, 8
push str.WnConfig.exe
lea eax, [ebp - 0x1044]
push eax
call fcn.005c7787
add esp, 8
lea ecx, [ebp - 0x1044]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42860b
lea edx, [ebp - 0x20c]
push edx
mov ecx, dword [ebp - 0x1458]
add ecx, 0x44
call fcn.004028a0
lea eax, [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x1458]
add ecx, 0x74
call fcn.004028a0
jmp 0x428803
push 0
push 0x26
lea ecx, [ebp - 0x824]
push ecx
push 0
call fcn.005b18eb
add esp, 0x10
push 0x5eedd8
lea edx, [ebp - 0x824]
push edx
call fcn.005c7787
add esp, 8
push 0x5eeddc
lea eax, [ebp - 0x824]
push eax
call fcn.005c7787
add esp, 8
push 0x5eedfc
lea ecx, [ebp - 0x824]
push ecx
call fcn.005c7787
add esp, 8
lea edx, [ebp - 0x824]
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.005c5a4b
add esp, 8
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.005c5a4b
add esp, 8
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x428726
xor ecx, ecx
mov word [ebp - 0x124c], cx
push 0x206
push 0
lea edx, [ebp - 0x124a]
push edx
call fcn.005be3a0
add esp, 0xc
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x124c]
push ecx
call fcn.005c5a4b
add esp, 8
push 0x5eee00
lea edx, [ebp - 0x124c]
push edx
call fcn.005c7787
add esp, 8
lea eax, [ebp - 0x124c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x428726
lea ecx, [ebp - 0x20c]
push ecx
mov ecx, dword [ebp - 0x1458]
add ecx, 0x44
call fcn.004028a0
lea edx, [ebp - 0x414]
push edx
mov ecx, dword [ebp - 0x1458]
add ecx, 0x74
call fcn.004028a0
jmp 0x428803
lea eax, [ebp - 0xa2c]
push eax
call fcn.005c1d51
add esp, 4
mov dword [ebp - 0x146c], eax
cmp dword [ebp - 0x146c], 0
jle 0x4287ad
lea ecx, [ebp - 0xa2c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4287ad
lea edx, [ebp - 0xa2c]
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.005c5a4b
add esp, 8
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.005c5a4b
add esp, 8
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x1458]
add ecx, 0x44
call fcn.004028a0
lea ecx, [ebp - 0x414]
push ecx
mov ecx, dword [ebp - 0x1458]
add ecx, 0x74
call fcn.004028a0
jmp 0x428803
lea edx, [ebp - 0x824]
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.005c5a4b
add esp, 8
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.005c5a4b
add esp, 8
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x1458]
add ecx, 0x44
call fcn.004028a0
lea ecx, [ebp - 0x414]
push ecx
mov ecx, dword [ebp - 0x1458]
add ecx, 0x74
call fcn.004028a0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005ad281
mov esp, ebp
pop ebp
ret