Function at 0x412bd0
Capabilities:
Identify system language via api
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x43d004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x210], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
push dword [0x43fc50]
movzx eax, ax
mov dword [ebp - 0x224], eax
call dword [sym.imp.USER32.dll_GetMenu]
mov ebx, dword [sym.imp.USER32.dll_GetSubMenu]
mov edi, eax
push 0
push edi
call ebx
push 0x43a4ac
push 0xa001
mov esi, eax
push 0
push esi
call dword [sym.imp.USER32.dll_AppendMenuW]
push str.USB_Device_Only
push 0xa006
push 0
push esi
call dword [sym.imp.USER32.dll_AppendMenuW]
push str.Generate_VTSI_File
push 0xa007
push 0
push esi
call dword [sym.imp.USER32.dll_AppendMenuW]
push 0x43a4ac
push 0xa002
push 0
push esi
call dword [sym.imp.USER32.dll_AppendMenuW]
push 0x43a4ac
push 0xa008
push 0
push esi
call dword [sym.imp.USER32.dll_AppendMenuW]
cmp dword [0x43e380], 0
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
je 0x412c96
push 0
push 0x9c4c
push edi
call esi
push 8
jmp 0x412ca2
push 8
push 0x9c4c
push edi
call esi
push 0
push 0x9c4d
push edi
call esi
push 1
push edi
call ebx
push 0x400
push 0
push eax
mov dword [ebp - 0x228], eax
call dword [sym.imp.USER32.dll_DeleteMenu]
push 0x1411b20
call fcn.0041c36a
add esp, 4
mov dword [0x43e388], eax
test eax, eax
je 0x412f3f
push 0x1411b20
push 0
push eax
call fcn.00418c40
add esp, 0xc
push str.._ventoylanguages.json
push 0
call fcn.0040f640
add esp, 8
test eax, eax
je 0x412d14
push str.Load_languages_from_json_file_...
call fcn.0040f530
add esp, 4
call fcn.00412830
jmp 0x412d26
push str.Load_languages_from_ini_file_...
call fcn.0040f530
add esp, 4
call fcn.00412590
mov eax, dword [0x43e378]
mov edi, dword [0x43e388]
push 0x19b04
mov dword [ebp - 0x218], eax
call fcn.0041c36a
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpW]
add esp, 4
mov dword [ebp - 0x20c], eax
test eax, eax
je 0x412e3b
mov edx, dword [ebp - 0x218]
test edx, edx
jle 0x412e32
mov ecx, 1
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x21c], ecx
mov eax, edx
nop dword [eax]
cmp ecx, edx
jge 0x412e10
mov eax, edx
lea esi, [edi + 0x19b04]
sub eax, ecx
mov dword [ebp - 0x214], eax
push str.Chinese_Simplified__
push esi
call ebx
test eax, eax
je 0x412db8
push str.Chinese_Simplified__
push edi
call ebx
test eax, eax
je 0x412def
push edi
push esi
call ebx
test eax, eax
jns 0x412def
push 0x19b04
push edi
push dword [ebp - 0x20c]
call fcn.004192f0
add esp, 0xc
push 0x19b04
push esi
push edi
call fcn.004192f0
add esp, 0xc
push 0x19b04
push dword [ebp - 0x20c]
push esi
call fcn.004192f0
add esp, 0xc
add esi, 0x19b04
sub dword [ebp - 0x214], 1
jne 0x412d98
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x220]
inc ecx
add edi, 0x19b04
sub eax, 1
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x220], eax
jne 0x412d80
mov eax, dword [ebp - 0x20c]
push eax
call fcn.0041bffb
add esp, 4
xor eax, eax
mov ecx, 0x804
cmp cx, word [ebp - 0x224]
mov edi, 0xffffffff
push 0x200
cmove edi, eax
push eax
lea eax, [ebp - 0x208]
mov dword [ebp - 0x20c], edi
push eax
call fcn.00418c40
add esp, 0xc
lea eax, [ebp - 0x208]
push 0x43a1c8
push 0x100
push eax
push 0x43a3e8
push 0x43a544
push 0x436b38
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor esi, esi
cmp dword [0x43e378], esi
jle 0x412f2d
xor edi, edi
mov eax, dword [0x43e388]
add eax, edi
push eax
mov eax, esi
or eax, 0xb000
push eax
push 0
push dword [ebp - 0x228]
call dword [sym.imp.USER32.dll_AppendMenuW]
cmp dword [ebp - 0x210], 0
jge 0x412eeb
lea eax, [ebp - 0x208]
push eax
mov eax, dword [0x43e388]
add eax, edi
push eax
call ebx
mov ecx, dword [ebp - 0x210]
test eax, eax
cmove ecx, esi
mov dword [ebp - 0x210], ecx
cmp dword [ebp - 0x20c], 0
jge 0x412f14
mov eax, dword [0x43e388]
push str.English__English_
add eax, edi
push eax
call ebx
mov ecx, dword [ebp - 0x20c]
test eax, eax
cmove ecx, esi
mov dword [ebp - 0x20c], ecx
inc esi
add edi, 0x19b04
cmp esi, dword [0x43e378]
jl 0x412ea2
mov edi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x210]
test eax, eax
cmovns edi, eax
mov ecx, edi
call fcn.00412220
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00417710
mov esp, ebp
pop ebp
ret