Function at 0x419960
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x448004]
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 [0x44b688]
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 0x44461c
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 0x44461c
push 0xa002
push 0
push esi
call dword [sym.imp.USER32.dll_AppendMenuW]
push 0x44461c
push 0xa008
push 0
push esi
call dword [sym.imp.USER32.dll_AppendMenuW]
cmp dword [0x449424], 0
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
je 0x419a26
push 0
push 0x9c4c
push edi
call esi
push 8
jmp 0x419a32
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 0x1763b20
call fcn.0042442e
add esp, 4
mov dword [0x44942c], eax
test eax, eax
je 0x419ccf
push 0x1763b20
push 0
push eax
call fcn.00420f90
add esp, 0xc
push str.._ventoylanguages.json
push 0
call fcn.00414c60
add esp, 8
test eax, eax
je 0x419aa4
push str.Load_languages_from_json_file_...
call fcn.00414ac0
add esp, 4
call fcn.004195c0
jmp 0x419ab6
push str.Load_languages_from_ini_file_...
call fcn.00414ac0
add esp, 4
call fcn.00419320
mov eax, dword [0x44941c]
mov edi, dword [0x44942c]
push 0x1df04
mov dword [ebp - 0x218], eax
call fcn.0042442e
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpW]
add esp, 4
mov dword [ebp - 0x20c], eax
test eax, eax
je 0x419bcb
mov edx, dword [ebp - 0x218]
test edx, edx
jle 0x419bc2
mov ecx, 1
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x21c], ecx
mov eax, edx
nop dword [eax]
cmp ecx, edx
jge 0x419ba0
mov eax, edx
lea esi, [edi + 0x1df04]
sub eax, ecx
mov dword [ebp - 0x214], eax
push str.Chinese_Simplified__
push esi
call ebx
test eax, eax
je 0x419b48
push str.Chinese_Simplified__
push edi
call ebx
test eax, eax
je 0x419b7f
push edi
push esi
call ebx
test eax, eax
jns 0x419b7f
push 0x1df04
push edi
push dword [ebp - 0x20c]
call fcn.00421640
add esp, 0xc
push 0x1df04
push esi
push edi
call fcn.00421640
add esp, 0xc
push 0x1df04
push dword [ebp - 0x20c]
push esi
call fcn.00421640
add esp, 0xc
add esi, 0x1df04
sub dword [ebp - 0x214], 1
jne 0x419b28
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x220]
inc ecx
add edi, 0x1df04
sub eax, 1
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x220], eax
jne 0x419b10
mov eax, dword [ebp - 0x20c]
push eax
call fcn.0042422d
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.00420f90
add esp, 0xc
lea eax, [ebp - 0x208]
push 0x444280
push 0x100
push eax
push 0x444558
push 0x4446b4
push 0x43bf44
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor esi, esi
cmp dword [0x44941c], esi
jle 0x419cbd
xor edi, edi
mov eax, dword [0x44942c]
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 0x419c7b
lea eax, [ebp - 0x208]
push eax
mov eax, dword [0x44942c]
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 0x419ca4
mov eax, dword [0x44942c]
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, 0x1df04
cmp esi, dword [0x44941c]
jl 0x419c32
mov edi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x210]
test eax, eax
cmovns edi, eax
mov ecx, edi
call fcn.00418e60
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041fa5e
mov esp, ebp
pop ebp
ret