Function at 0x4052d6
Capabilities:
Extract resource via kernel32 functions
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x86f4
call fcn.004675f0
mov eax, dword [0x491654]
xor eax, esp
mov dword [esp + 0x86f0], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
lea eax, [esp + 0x2d8]
push eax
mov dword [esp + 0x20], esi
call fcn.0040590c
push esi
lea ecx, [esp + 0x2dc]
call fcn.004172b0
push 0x104
lea esi, [esp + 0x82f4]
call fcn.00408680
mov dword [esp], str.onaInstall.log
push 0x479b4c
call fcn.004089f0
push 0x50
mov esi, eax
call fcn.00453347
xor ebx, ebx
add esp, 0xc
cmp eax, ebx
je 0x40535a
push esi
mov esi, eax
call fcn.00417ab0
mov dword [esp + 0x10], eax
jmp 0x40535e
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x10]
push str.___START___
mov edi, str.INFO
push edi
call fcn.00417c10
push 0x800
call fcn.00452372
mov esi, eax
lea eax, [esp + 0x2dc]
mov dword [esp], 0x400
push eax
call fcn.004175e0
push esi
push str.ARGS:
lea eax, [esp + 0x84]
call fcn.004025ce
push eax
call fcn.0040260d
call fcn.00402639
mov ecx, dword [esp + 0x10]
push eax
push edi
call fcn.00417c10
lea ecx, [esp + 0x7c]
call fcn.004025ff
push esi
call fcn.004532eb
pop ecx
push dword [esp + 0x10]
push ecx
push str.onaFull
push 0x479fb8
call fcn.004089f0
add esp, 0xc
push eax
lea esi, [esp + 0xd0]
call fcn.004050ec
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx esi, ax
mov eax, 0x419
mov dword [esp + 0xc], 0x68
cmp si, ax
jne 0x405413
mov dword [esp + 0xc], 0x67
jmp 0x405425
mov eax, 0x422
cmp si, ax
jne 0x405425
mov dword [esp + 0xc], 0x69
push 0x47b4c4
push 0x47b4cc
mov dword [esp + 0x1c], ebx
call fcn.004089f0
pop ecx
pop ecx
push eax
movzx eax, word [esp + 0x10]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x405487
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [esp + 0xc], eax
cmp eax, ebx
je 0x405487
push dword [esp + 0x18]
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push esi
push eax
push dword [esp + 0x14]
call fcn.00416d10
add esp, 0xc
push dword [esp + 0xc]
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
lea esi, [esp + 0xc8]
call fcn.00405182
test eax, eax
je 0x40550f
mov edi, 0x479fbc
lea ebx, [esp + 0x2d8]
call fcn.00417490
test al, al
jne 0x405508
push 0x10
push 0
push str.NSTALLER_RUNNING_ALREADY
push 0x47a010
call fcn.004089f0
mov ebx, dword [esp + 0x24]
pop ecx
pop ecx
call fcn.00416e60
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0xa
pop edi
lea esi, [esp + 0xc8]
call fcn.00405116
lea eax, [esp + 0x2d8]
push eax
call fcn.0040591e
mov ecx, dword [esp + 0x86fc]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00452dc2
mov esp, ebp
pop ebp
ret 0x10
mov edi, str.INFO
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x10
pop eax
call fcn.00417e90
push 0x24
mov dword [esp + 0x1c], eax
call fcn.00453347
mov esi, eax
pop ecx
cmp esi, ebx
je 0x405573
mov eax, dword [esp + 0x18]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov dword [esi], eax
call fcn.0045445d
pop ecx
push eax
call fcn.0045444b
pop ecx
mov dword [0x496198], esi
mov dword [esp + 0xc], esi
jmp 0x405577
mov dword [esp + 0xc], ebx
push 0xa698
call fcn.00453347
pop ecx
cmp eax, ebx
je 0x40559c
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
call fcn.00405070
mov esi, eax
mov dword [esp + 0x14], esi
jmp 0x4055a2
mov dword [esp + 0x14], ebx
mov esi, ebx
mov ecx, esi
call fcn.00420400
mov ecx, dword [esp + 0x10]
push eax
push edi
call fcn.00417c10
lea ebx, [esi + 0xc6c]
mov edi, 0x47a014
call fcn.00417490
mov byte [esp + 0x18], al
test al, al
jne 0x405702
mov edi, 0x47a024
lea ebx, [esp + 0x2d8]
call fcn.00417490
test al, al
jne 0x40569a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
test al, al
je 0x40569a
push 4
call fcn.00453347
pop ecx
test eax, eax
je 0x405613
mov esi, eax
call fcn.00405927
mov esi, dword [esp + 0x14]
mov ebx, eax
jmp 0x405615
xor ebx, ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x98], 0x47c188
mov dword [esp + 0xa4], esi
call fcn.004025a7
push ebx
push esi
lea eax, [esp + 0xa0]
lea esi, [esp + 0x30]
call fcn.00423a70
push dword [esp + 0xc]
mov edi, esi
push ebx
mov dword [esp + 0x30], vtable.ZonaInstalledAlreadyWizard.0
mov dword [esp + 0x34], vtable.ZonaInstalledAlreadyWizard.1.0
mov dword [esp + 0x6c], vtable.ZonaInstalledAlreadyWizard.2.0
call fcn.0040524a
pop ecx
pop ecx
call fcn.00416a10
push ebx
call fcn.004532eb
pop ecx
call fcn.0042c2a0
lea ecx, [esp + 0x98]
call fcn.00405937
xor edi, edi
jmp 0x4054d6
mov edi, 0x47a03c
lea ebx, [esp + 0x2d8]
call fcn.00417490
test al, al
jne 0x405702
lea esi, [esp + 0xc8]
call fcn.0040511e
push dword [esp + 0x1c]
lea eax, [esp + 0x80]
call fcn.004025ce
push 0x47a060
push 0x47a05c
lea eax, [esp + 0x84]
push eax
call fcn.0040260d
push eax
call fcn.0040260d
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x7c]
push eax
call fcn.00407370
pop ecx
lea ecx, [esp + 0x7c]
call fcn.004025ff
jmp 0x405693
mov edi, str._version
lea ebx, [esi + 0xc6c]
call fcn.00417490
test al, al
je 0x405728
mov edi, esi
call fcn.00420430
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x405693
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
push 0x48
mov dword [esp + 0x20], eax
call fcn.00453347
pop ecx
test eax, eax
je 0x40574f
push dword [esp + 0x18]
mov ecx, esi
push eax
call fcn.0040196b
mov edi, eax
jmp 0x405751
xor edi, edi
cmp byte [esp + 0x18], 0
je 0x4057ae
mov ecx, dword [esp + 0x10]
push 0x47c1a0
mov ebx, str.INFO
push ebx
mov dword [esp + 0x84], 0x47c4dc
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], ecx
call fcn.00417c10
mov eax, dword [edi]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, edi
mov byte [esp + 0x90], 0
call dword [eax + 0x18]
lea esi, [esp + 0x7c]
call fcn.00424830
jmp 0x40588f
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0xc]
lea eax, [esp + 0xac]
mov dword [esp + 0x98], 0x47c188
mov dword [esp + 0xa8], esi
call fcn.004025a7
push dword [esi + 0x10]
lea esi, [esp + 0x24]
call fcn.00405028
push 0x68
call fcn.00453347
pop ecx
test eax, eax
je 0x405808
mov ebx, dword [esp + 0x14]
mov ecx, esi
push ecx
lea ecx, [esp + 0x9c]
push ecx
push eax
call fcn.0040408d
mov ebx, eax
jmp 0x40580a
xor ebx, ebx
push 0x14
call fcn.00453347
pop ecx
test eax, eax
je 0x405836
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], vtable.OffersReadyCallBack.0
mov dword [eax], vtable.PartnerPageCreator.0
mov dword [eax + 4], vtable.PartnerPageCreator.1.0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
jmp 0x405838
xor eax, eax
mov dword [esp + 0x18], eax
test eax, eax
je 0x405854
mov eax, dword [esp + 0xc]
call fcn.00405f15
mov esi, eax
lea eax, [esp + 0x18]
call fcn.0043ed60
push dword [esp + 0xc]
push edi
mov edi, ebx
call fcn.0040524a
pop ecx
mov edi, eax
mov eax, dword [esp + 0x18]
pop ecx
push dword [edi + 4]
call fcn.00404ff2
mov esi, eax
call fcn.00439f90
mov eax, edi
call fcn.00416a10
lea ecx, [esp + 0x98]
call fcn.00405937
mov ebx, str.INFO
cmp dword [esp + 0x1c], 0
je 0x4058c3
mov ecx, dword [esp + 0x10]
push str.Start_wait_initVarThread_....
push ebx
call fcn.00417c10
push 0x3a98
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x10]
push str.End_wait_initVarThread
push ebx
call fcn.00417c10
mov edi, dword [esp + 0x14]
mov esi, dword [edi + 0x14]
jmp 0x4058e7
push dword [esp + 0x10]
mov ecx, dword [esi]
mov eax, dword [ecx]
push 0x100
lea edx, [esp + 0x8500]
push edx
call dword [eax + 4]
add esi, 4
cmp esi, dword [edi + 0x18]
jne 0x4058cc
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x10]
push str.___END___
push ebx
call fcn.00417c10
mov edi, dword [edi + 0xb88]
jmp 0x4054d6