Function at 0x453590
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1cc
mov eax, dword [0x5512ec]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
push 0
push 0x55
lea ecx, [ebp - 0x1c0]
movzx eax, ax
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_LCIDToLocaleName]
test eax, eax
jle 0x4535e8
push 0
push 0
push 0x55
push 0x59d790
push 0xffffffffffffffff
lea eax, [ebp - 0x1c0]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x453605
mov eax, dword [str.en_US]
mov dword [0x59d790], eax
mov ax, word [0x539018]
mov word [0x59d794], ax
mov byte [0x59d795], 0
push 0x59d790
push 0x5a2780
push str._s_s_shell32.dll.mui
lea eax, [ebp - 0x110]
push 0x104
push eax
call fcn.004050d0
add esp, 0x14
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0x110], 0
jne 0x453667
push 2
push 1
call fcn.004b6706
add esp, 8
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
mov dword [ebp - 0x1c4], eax
test edi, edi
je 0x4536f7
jmp 0x4536e8
mov ebx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x110]
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call ebx
mov esi, eax
cmp esi, 1
jg 0x45369e
push 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
jmp 0x4536f7
push 2
push esi
call fcn.004b6706
mov edi, eax
add esp, 8
test edi, edi
je 0x45368a
push esi
push edi
push 0xffffffffffffffff
lea eax, [ebp - 0x110]
push eax
push 0
push 0xfde9
call ebx
push edi
cmp eax, esi
je 0x4536d2
call fcn.004d1211
add esp, 4
jmp 0x45368a
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
mov dword [ebp - 0x1c4], eax
push edi
call fcn.004d1211
mov eax, dword [ebp - 0x1c4]
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_SetLastError]
push eax
call edi
test ebx, ebx
je 0x4538a7
push 2
push 0x80
call fcn.004b6706
add esp, 8
mov dword [ebp - 0x1cc], eax
push 0x80
push eax
push 0x101d
push ebx
call dword [sym.imp.USER32.dll_LoadStringW]
mov dword [ebp - 0x1c4], eax
call esi
cmp dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c8], eax
jle 0x45377b
push 0
push 0
push 0x80
push 0x59eac8
push 0xffffffffffffffff
push dword [ebp - 0x1cc]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x1c4], eax
test eax, eax
jne 0x45377b
call esi
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1cc]
test eax, eax
je 0x45378e
push eax
call fcn.004d1211
add esp, 4
push dword [ebp - 0x1c8]
call edi
cmp dword [ebp - 0x1c4], 0
jg 0x4537da
movups xmm0, xmmword [str.Microsoft_Windows]
mov ax, word [0x543194]
mov word [0x59ead8], ax
movups xmmword [0x59eac8], xmm0
mov byte [0x59ead9], 0
call fcn.0044b6b0
push eax
lea eax, [ebp - 0x110]
push eax
push str.Warning:_Could_not_locate_localized_format_prompt_title_string_in__s:__s
call fcn.0044b0b0
add esp, 0xc
push 2
push 0x80
call fcn.004b6706
add esp, 8
mov edi, eax
push 0x80
push edi
push 0x101e
push ebx
call dword [sym.imp.USER32.dll_LoadStringW]
mov dword [ebp - 0x1c4], eax
call esi
cmp dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c8], eax
jle 0x453842
push 0
push 0
push 0x80
push 0x59ea20
push 0xffffffffffffffff
push edi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x1c4], eax
test eax, eax
jne 0x453842
call esi
mov esi, eax
jmp 0x453848
mov esi, dword [ebp - 0x1c8]
test edi, edi
je 0x453855
push edi
call fcn.004d1211
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x1c4], 0
jg 0x4538a0
movq xmm0, qword [str.Format_disk]
mov eax, dword [0x5431ec]
mov dword [0x59ea28], eax
movq qword [0x59ea20], xmm0
mov byte [0x59ea2b], 0
call fcn.0044b6b0
push eax
lea eax, [ebp - 0x110]
push eax
push str.Warning:_Could_not_locate_localized_format_prompt_button_string_in__s:__s
call fcn.0044b0b0
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xc4d
call fcn.0041e970
add esp, 4
test eax, eax
je 0x4538e0
push 0xc4d
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4538c8
sub eax, edx
inc eax
cmp eax, 0x80
jb 0x4538e0
mov eax, 0x80
jmp 0x45390b
push 0xc4d
call fcn.0041e970
add esp, 4
test eax, eax
je 0x45390a
push 0xc4d
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x453901
sub eax, edx
inc eax
push eax
push 0xc4d
call fcn.0041e970
add esp, 4
push eax
push 0x59eb48
call fcn.004aab70
add esp, 0xc
push 0xc4d
call fcn.0041e970
add esp, 4
test eax, eax
je 0x453975
push 0xc4d
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x453948
sub eax, edx
inc eax
cmp eax, 0x80
jb 0x453975
mov eax, 0x80
mov byte [eax + 0x59eb47], cl
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8b60
mov esp, ebp
pop ebp
ret
push 0xc4d
call fcn.0041e970
add esp, 4
test eax, eax
je 0x45399f
push 0xc4d
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x453996
sub eax, edx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov byte [eax + 0x59eb48], 0
pop ebx
call fcn.004a8b60
mov esp, ebp
pop ebp
ret