Function at 0x4580c0
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x224
mov ebx, edx
mov edx, dword [ebp + 8]
mov eax, dword [0x64a040]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp byte [edx + 0xb], 0
js 0x4580ec
mov word [edx], 0
mov byte [edx + 0xb], 0
jmp 0x4580fa
mov eax, dword [edx]
mov word [eax], 0
mov dword [edx + 4], 0
test ecx, ecx
je 0x4581df
xor eax, eax
lea esi, [ebp - 0x218]
mov dword [esi], eax
lea edx, [ebp - 0x21c]
mov dword [edx], eax
push edx
push esi
push str.VarFileInfoTranslation
mov dword [ebp - 0x230], ecx
push ecx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4581df
mov eax, dword [ebp - 0x218]
movzx ecx, word [eax]
mov dword [ebp - 0x228], ecx
movzx eax, word [eax + 2]
mov dword [ebp - 0x22c], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call edi
mov word [ebp - 0x224], ax
call edi
mov word [ebp - 0x222], ax
push 0x208
push 0xff
mov edi, esi
push esi
call fcn.00582870
add esp, 0xc
cmp byte [ebx + 0xb], 0
mov eax, ebx
jns 0x45817f
mov eax, dword [ebx]
mov ecx, 0x104
push eax
push dword [ebp - 0x22c]
push dword [ebp - 0x228]
push str.StringFileInfo_04hx_04hx_ls
push ecx
push ecx
mov esi, edi
push edi
call fcn.00458360
add esp, 0x1c
xor eax, eax
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x220]
mov dword [ecx], eax
push ecx
lea eax, [ebp - 0x21c]
push eax
push edi
mov edi, dword [ebp - 0x230]
push edi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4581f4
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x4581f4
mov ecx, dword [ebp + 8]
push eax
call fcn.00422c20
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005810d5
add esp, 0x224
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x208
push 0xff
push esi
call fcn.00582870
add esp, 0xc
cmp byte [ebx + 0xb], 0
mov eax, ebx
jns 0x458211
mov eax, dword [ebx]
movzx ecx, word [ebp - 0x224]
mov edx, 0x104
push eax
push dword [ebp - 0x22c]
push ecx
push str.StringFileInfo_04hx_04hx_ls
push edx
push edx
push esi
call fcn.00458360
add esp, 0x1c
xor eax, eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x21c]
push eax
push esi
push edi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x45826a
mov eax, dword [ebp - 0x21c]
test eax, eax
jne 0x4581d6
push 0x208
push 0xff
push esi
call fcn.00582870
add esp, 0xc
cmp byte [ebx + 0xb], 0
mov eax, ebx
jns 0x458287
mov eax, dword [ebx]
mov ecx, 0x104
push eax
push 0x4e4
push dword [ebp - 0x228]
push str.StringFileInfo_04hx_04hx_ls
push ecx
push ecx
push esi
call fcn.00458360
add esp, 0x1c
xor eax, eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x21c]
push eax
push esi
push edi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4582dd
mov eax, dword [ebp - 0x21c]
test eax, eax
jne 0x4581d6
push 0x208
push 0xff
push esi
call fcn.00582870
add esp, 0xc
cmp byte [ebx + 0xb], 0
jns 0x4582f8
mov ebx, dword [ebx]
movzx eax, word [ebp - 0x222]
movzx eax, ax
mov ecx, 0x104
push ebx
push 0x4e4
push eax
push str.StringFileInfo_04hx_04hx_ls
push ecx
push ecx
push esi
call fcn.00458360
add esp, 0x1c
xor eax, eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x21c]
push eax
push esi
push edi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4581df
mov eax, dword [ebp - 0x21c]
test eax, eax
jne 0x4581d6
jmp 0x4581df