Function at 0x4339a0
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x518276
mov eax, dword fs:[0]
push eax
sub esp, 0x260
mov eax, dword [0x5746cc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.0042d280
mov ecx, eax
call fcn.00423ca0
test eax, eax
jne 0x433c69
call fcn.0042d4a0
mov ecx, eax
call fcn.00433040
test eax, eax
je 0x433c69
call fcn.0042d4a0
mov ecx, eax
call fcn.004317e0
test eax, eax
je 0x433c69
call fcn.0040b740
mov ecx, eax
test ecx, ecx
je 0x433c85
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x258], eax
mov eax, 0x530aa0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x258]
test eax, 0xffff0000
jne 0x433a4b
movzx eax, ax
push eax
call fcn.00409d50
jmp 0x433a55
push 0x530aa0
call fcn.0041aff0
mov dword [ebp - 4], 1
call fcn.0042d280
mov ecx, eax
call fcn.00421ca0
mov esi, dword [ebp - 0x258]
mov edi, dword [eax]
mov ebx, edi
mov eax, dword [esi - 0xc]
sub ebx, esi
sar ebx, 1
mov dword [ebp - 0x264], eax
mov ecx, dword [edi - 0xc]
test ecx, ecx
js 0x433c8f
test edi, edi
jne 0x433a92
xor edx, edx
jmp 0x433aa4
push ecx
push edi
call fcn.004bf4bc
mov edx, eax
add esp, 8
mov eax, dword [ebp - 0x264]
mov ecx, SysReAllocString
mov dword [ebp - 0x260], edx
sub ecx, edx
cmp ecx, eax
jl 0x433c99
add eax, edx
mov dword [ebp - 0x25c], eax
js 0x433ca3
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, dword [ebp - 0x25c]
or eax, ecx
jge 0x433af9
push dword [ebp - 0x25c]
lea ecx, [ebp - 0x258]
call fcn.0040a8f0
mov esi, dword [ebp - 0x258]
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x264]
cmp ebx, eax
ja 0x433b06
lea edi, [esi + ebx*2]
push edx
push edi
push edx
lea eax, [esi + eax*2]
push eax
call fcn.0040b530
mov eax, dword [ebp - 0x25c]
add esp, 0x10
cmp eax, dword [esi - 8]
jg 0x433c8f
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
mov dword [ebp - 0x4c], 0x740055
mov dword [ebp - 0x48], 0x6c0069
mov dword [ebp - 0x44], 0x5c0073
mov dword [ebp - 0x40], 0x64006c
mov dword [ebp - 0x3c], 0x670073
mov dword [ebp - 0x38], 0x6d0061
mov dword [ebp - 0x34], 0x630065
mov dword [ebp - 0x30], 0x6e0065
mov dword [ebp - 0x2c], 0x650074
mov dword [ebp - 0x28], 0x5f0072
mov dword [ebp - 0x24], 0x690062
mov dword [ebp - 0x20], 0x68007a
mov dword [ebp - 0x1c], 0x2e0069
mov dword [ebp - 0x18], 0x6c0064
mov dword [ebp - 0x14], 0x6c
call fcn.00441610
push esi
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
push 0x208
lea eax, [ebp - 0x254]
push 0
push eax
call fcn.004a3360
add esp, 0xc
mov dword [ebp - 0x26c], 1
lea eax, [ebp - 0x268]
mov dword [ebp - 0x268], 0x104
push eax
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x26c]
push eax
push 0x52bfd4
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_Pathshalowp.exe
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x433c4a
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x433c4a
push str.config.set
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x254]
push eax
push 0x52bfb0
push str.games
push str.install_config
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x258]
call fcn.00408f90
jmp 0x433c69
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x433c69
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004864b8
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00409360
push 0x80070057
call fcn.00409360
push 0x80070057
call fcn.00409360
push 0x80070057
call fcn.00409360
int3