Function at 0x40b119
Capabilities:
Extract resource via kernel32 functions
Get common file path
Get graphical window text
Identify system language via api

Disassembly:
push ebp
sub esp, 0x344
lea ebp, [esp - 4]
mov eax, dword [0x47d550]
xor eax, ebp
mov dword [ebp + 0x344], eax
push 0x10
mov eax, 0x460ea0
call fcn.00446960
mov eax, dword [ebp + 0x350]
mov ecx, 0x47f8a0
mov dword [ebp - 0x1c], eax
call fcn.004258af
test al, al
jne 0x40b15c
or eax, 0xffffffff
jmp 0x40b3da
mov edi, 0x103
xor ebx, ebx
push edi
lea eax, [ebp + 0x241]
push ebx
push eax
mov byte [ebp + 0x240], bl
call fcn.00446500
add esp, 0xc
lea esi, [edi + 1]
push esi
lea eax, [ebp + 0x240]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp + 0x240]
push eax
lea ecx, [ebp + 0x1c]
call fcn.00403c42
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
mov eax, 0x412
cmp ecx, eax
jg 0x40b205
je 0x40b1fe
sub ecx, 0x401
je 0x40b1f7
sub ecx, 3
je 0x40b1f0
sub ecx, 3
je 0x40b1e9
dec ecx
dec ecx
je 0x40b1e2
sub ecx, 3
je 0x40b1db
sub ecx, 5
jne 0x40b22a
push str.ja_JP
jmp 0x40b260
push str._fr_FR
jmp 0x40b260
push str.en_US
jmp 0x40b260
push str.de_DE
jmp 0x40b260
push str.zh_TW
jmp 0x40b260
push str._sr_SA
jmp 0x40b260
push str.ko_KR
jmp 0x40b260
sub ecx, 0x419
je 0x40b25b
sub ecx, 8
je 0x40b254
sub ecx, 0xe6
je 0x40b24d
sub ecx, 0x2fd
je 0x40b246
sub ecx, 0x400
je 0x40b23f
push 0xfffffffffffffffd
pop esi
push ebx
push 1
lea ecx, [ebp + 0x1c]
call fcn.004014e8
mov eax, esi
jmp 0x40b3da
push str.zh_HK
jmp 0x40b260
push str.zh_CN
jmp 0x40b260
push str.kk_KZ
jmp 0x40b260
push str.id_ID
jmp 0x40b260
push str._ru_RU
lea ecx, [ebp + 0x1c]
call fcn.00403c25
push str._shell32.dll.mui
lea ecx, [ebp + 0x1c]
call fcn.00403c25
cmp dword [ebp + 0x34], 0x10
mov eax, dword [ebp + 0x20]
jae 0x40b281
lea eax, [ebp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x10], eax
cmp eax, ebx
jne 0x40b293
push 0xfffffffffffffffc
jmp 0x40b22c
push 5
push 0x461
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, ebx
jne 0x40b2b5
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xfffffffffffffffb
jmp 0x40b22c
push eax
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, ebx
jne 0x40b2d3
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xfffffffffffffffa
jmp 0x40b22c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push ebx
push ebx
push ebx
push eax
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamA]
push edi
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x39]
push ebx
push eax
mov byte [ebp + 0x38], bl
call fcn.00446500
add esp, 0xc
push esi
lea eax, [ebp + 0x38]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_GetWindowTextA]
push dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x40b3c3
cmp eax, dword [ebp + 0x354]
jg 0x40b3c3
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp]
call fcn.00403c42
push edi
lea eax, [ebp + 0x13d]
push ebx
push eax
mov byte [ebp + 0x13c], bl
call fcn.00446500
mov eax, dword [ebp + 0x14]
add esp, 0xc
inc eax
cmp eax, esi
jbe 0x40b372
push ebx
push 1
lea ecx, [ebp]
call fcn.004014e8
push 0xfffffffffffffff9
jmp 0x40b22c
cmp dword [ebp + 0x18], 0x10
mov eax, dword [ebp + 4]
jae 0x40b37e
lea eax, [ebp + 4]
push eax
push 0x466f60
lea eax, [ebp + 0x13c]
push esi
push eax
call fcn.004464a6
lea eax, [ebp + 0x13c]
push eax
push dword [ebp + 0x354]
push dword [ebp - 0x1c]
call fcn.0044a29d
add esp, 0x1c
push ebx
push 1
lea ecx, [ebp]
call fcn.004014e8
push ebx
push 1
lea ecx, [ebp + 0x1c]
call fcn.004014e8
xor eax, eax
jmp 0x40b3da
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ebx
push 1
lea ecx, [ebp + 0x1c]
call fcn.004014e8
push 0xfffffffffffffff9
pop eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x344]
xor ecx, ebp
call fcn.004464e5
add ebp, 0x348
leave
ret