Function at 0x405057
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.0046eb00
mov eax, dword [0x49b3d4]
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.00405695
push esi
lea ecx, [esp + 0x2dc]
call fcn.00416120
push 0x104
lea esi, [esp + 0x82f4]
call fcn.00408470
mov dword [esp], str.onaInstall.log
push 0x480fb4
call fcn.004087e0
push 0x50
mov esi, eax
call fcn.00459337
xor ebx, ebx
add esp, 0xc
cmp eax, ebx
je 0x4050db
push esi
mov esi, eax
call fcn.00416920
mov dword [esp + 0xc], eax
jmp 0x4050df
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xc]
push str.___START___
mov edi, str.INFO
push edi
call fcn.00416a80
push 0x800
call fcn.0045854a
mov esi, eax
lea eax, [esp + 0x2dc]
mov dword [esp], 0x400
push eax
call fcn.00416450
push esi
push str.ARGS:
lea eax, [esp + 0x84]
call fcn.004025d0
push eax
call fcn.0040260f
call fcn.0040263b
mov ecx, dword [esp + 0xc]
push eax
push edi
call fcn.00416a80
lea ecx, [esp + 0x7c]
call fcn.00402601
push esi
call fcn.004592db
pop ecx
push dword [esp + 0xc]
push ecx
push str.onaFull
push 0x48102c
call fcn.004087e0
add esp, 0xc
push eax
lea esi, [esp + 0xd0]
call fcn.00404e6d
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx esi, ax
mov eax, 0x419
mov dword [esp + 0x10], 0x68
cmp si, ax
jne 0x405194
mov dword [esp + 0x10], 0x67
jmp 0x4051a6
mov eax, 0x422
cmp si, ax
jne 0x4051a6
mov dword [esp + 0x10], 0x69
push 0x484dbc
push 0x484dc4
mov dword [esp + 0x20], ebx
call fcn.004087e0
pop ecx
pop ecx
push eax
movzx eax, word [esp + 0x14]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x405208
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x405208
push dword [esp + 0x10]
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push esi
push eax
push dword [esp + 0x1c]
call fcn.00415b80
add esp, 0xc
push dword [esp + 0x14]
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
lea esi, [esp + 0xc8]
call fcn.00404f03
test eax, eax
je 0x405290
mov edi, 0x483758
lea ebx, [esp + 0x2d8]
call fcn.00416300
test al, al
jne 0x405289
push 0x10
push 0
push 0x4810f4
push 0x481994
call fcn.004087e0
mov ebx, dword [esp + 0x28]
pop ecx
pop ecx
call fcn.00415cd0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0xa
pop edi
lea esi, [esp + 0xc8]
call fcn.00404e97
lea eax, [esp + 0x2d8]
push eax
call fcn.004056a7
mov ecx, dword [esp + 0x86fc]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00458db6
mov esp, ebp
pop ebp
ret 0x10
xor ebx, ebx
mov edi, str.INFO
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x10
pop eax
call fcn.00416d00
push 0x24
mov dword [esp + 0x18], eax
call fcn.00459337
mov esi, eax
pop ecx
cmp esi, ebx
je 0x4052f4
mov eax, dword [esp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x18]
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.0045a4ad
pop ecx
push eax
call fcn.0045a49b
pop ecx
mov dword [0x4a1138], esi
mov dword [esp + 0x10], esi
jmp 0x4052f8
mov dword [esp + 0x10], ebx
push 0xb678
call fcn.00459337
pop ecx
cmp eax, ebx
je 0x40531e
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.00404e53
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x405324
mov dword [esp + 0x18], ebx
mov esi, ebx
mov ecx, esi
call fcn.00424240
mov ecx, dword [esp + 0xc]
push eax
push edi
call fcn.00416a80
lea ebx, [esi + 0xb6c]
mov edi, str._silent
call fcn.00416300
mov byte [esp + 0x14], al
test al, al
jne 0x405481
mov edi, 0x483788
lea ebx, [esp + 0x2d8]
call fcn.00416300
test al, al
jne 0x405419
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
test al, al
je 0x405419
push 4
call fcn.00459337
pop ecx
test eax, eax
je 0x405395
mov esi, eax
call fcn.004056b0
mov esi, dword [esp + 0x18]
mov ebx, eax
jmp 0x405397
xor ebx, ebx
mov edi, dword [esp + 0x10]
lea eax, [esp + 0xac]
mov dword [esp + 0x98], 0x485d78
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], edi
call fcn.004025a9
push ebx
push esi
lea eax, [esp + 0xa0]
lea esi, [esp + 0x30]
call fcn.00427ae0
push edi
push ebx
mov edi, esi
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.00404fcb
pop ecx
pop ecx
call fcn.00415880
push ebx
call fcn.004592db
pop ecx
call fcn.004305c0
lea ecx, [esp + 0x98]
call fcn.004056c0
xor edi, edi
jmp 0x405257
mov edi, 0x4837a0
lea ebx, [esp + 0x2d8]
call fcn.00416300
test al, al
jne 0x405481
lea esi, [esp + 0xc8]
call fcn.00404e9f
push dword [esp + 0x1c]
lea eax, [esp + 0x80]
call fcn.004025d0
push 0x4837c0
push 0x481f2c
lea eax, [esp + 0x84]
push eax
call fcn.0040260f
push eax
call fcn.0040260f
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x7c]
push eax
call fcn.00406e90
pop ecx
lea ecx, [esp + 0x7c]
call fcn.00402601
jmp 0x405412
mov edi, str._version
lea ebx, [esi + 0xb6c]
call fcn.00416300
test al, al
je 0x4054a7
mov edi, esi
call fcn.00424270
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x405412
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
push 0x48
mov dword [esp + 0x20], eax
call fcn.00459337
pop ecx
test eax, eax
je 0x4054ce
push dword [esp + 0x14]
mov ecx, esi
push eax
call fcn.0040197a
mov edi, eax
jmp 0x4054d0
xor edi, edi
cmp byte [esp + 0x14], 0
je 0x40552d
mov ecx, dword [esp + 0xc]
push str.Init_pinstall_options_from_command_args...
mov ebx, str.INFO
push ebx
mov dword [esp + 0x84], 0x4860cc
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], ecx
call fcn.00416a80
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.00428760
jmp 0x405618
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0xac]
mov dword [esp + 0x98], 0x485d78
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], ebx
call fcn.004025a9
push dword [ebx + 0x10]
lea esi, [esp + 0x24]
call fcn.00404e07
push 0x68
call fcn.00459337
pop ecx
test eax, eax
je 0x40558d
mov ebx, dword [esp + 0x18]
mov ecx, esi
push ecx
lea ecx, [esp + 0x9c]
push ecx
push eax
call fcn.00403e8c
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x405592
and dword [esp + 0x14], 0
push 0x14
call fcn.00459337
pop ecx
test eax, eax
je 0x4055c2
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], vtable.OffersReadyCallBack.0
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax], vtable.PartnerPageCreator.0
mov dword [eax + 4], vtable.PartnerPageCreator.1.0
mov dword [eax + 0xc], ecx
jmp 0x4055c4
xor eax, eax
mov dword [esp + 0x10], eax
test eax, eax
je 0x4055de
mov eax, ebx
call fcn.00405cdc
mov esi, eax
lea eax, [esp + 0x10]
call fcn.00442f60
push ebx
push edi
mov edi, dword [esp + 0x1c]
call fcn.00404fcb
pop ecx
mov edi, eax
mov eax, dword [esp + 0x1c]
pop ecx
push dword [edi + 4]
call fcn.00404dd1
mov esi, eax
call fcn.0043e240
mov eax, edi
call fcn.00415880
lea ecx, [esp + 0x98]
call fcn.004056c0
mov ebx, str.INFO
cmp dword [esp + 0x1c], 0
je 0x40564c
mov ecx, dword [esp + 0xc]
push str.Start_wait_initVarThread_....
push ebx
call fcn.00416a80
push 0x3a98
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
push str.End_wait_initVarThread
push ebx
call fcn.00416a80
mov edi, dword [esp + 0x18]
mov esi, dword [edi + 0x14]
jmp 0x405670
push dword [esp + 0xc]
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 0x405655
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0xc]
push 0x48320c
push ebx
call fcn.00416a80
mov edi, dword [edi + 0xa88]
jmp 0x405257