Function at 0x46ca20
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f6e3d
mov eax, dword fs:[0]
push eax
sub esp, 0x1a0
mov eax, dword [0x564610]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x154]
call fcn.00467760
lea eax, [ebp - 0x88]
xor esi, esi
push eax
mov dword [ebp - 4], esi
call fcn.004adfe0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [ebp - 0x6c], ax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov word [ebp - 0x6a], ax
mov eax, dword [0x56f598]
cmp eax, esi
jne 0x46ca9e
push str.QMDetect_GetMemInfo2
call fcn.004f24d0
add esp, 4
cmp eax, esi
mov dword [0x56f598], eax
je 0x46caa7
lea ecx, [ebp - 0x11c]
push ecx
call eax
mov eax, dword [0x56f59c]
cmp eax, esi
jne 0x46cac6
push str.QMDetect_GetHardDiskSize
call fcn.004f24d0
add esp, 4
cmp eax, esi
mov dword [0x56f59c], eax
je 0x46cacf
lea edx, [ebp - 0x118]
push edx
call eax
mov eax, dword [0x56f5a0]
cmp eax, esi
jne 0x46caee
push str.QMDetect_GetMacInfo2
call fcn.004f24d0
add esp, 4
cmp eax, esi
mov dword [0x56f5a0], eax
je 0x46caf7
lea ecx, [ebp - 0xdc]
push ecx
call eax
mov eax, dword [0x56f5a8]
cmp eax, esi
jne 0x46cb16
push str.QMDetect_GetHardDiskInfo
call fcn.004f24d0
add esp, 4
cmp eax, esi
mov dword [0x56f5a8], eax
je 0x46cb1f
lea edx, [ebp - 0xc0]
push edx
call eax
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov eax, dword [0x56f5a4]
cmp eax, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x158], esi
jne 0x46cb51
push str.QMDetect_GetDispDeviceInfo
call fcn.004f24d0
add esp, 4
cmp eax, esi
mov dword [0x56f5a4], eax
je 0x46cb5e
lea ecx, [ebp - 0x158]
push ecx
lea edx, [ebp - 0x48]
push edx
call eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x114]
call dword [0x5096b0]
push str.360Safe.exe
lea ecx, [ebp - 0x174]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea ecx, [ebp - 0x174]
push ecx
mov byte [ebp - 4], 2
call fcn.00457ac0
add esp, 4
lea ecx, [ebp - 0x174]
mov word [ebp - 0x68], ax
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push str.DisplayVersion
lea ecx, [ebp - 0x190]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall360
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push reloc.OLEAUT32.dll_SysReAllocString
lea edx, [ebp - 0x190]
push edx
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov byte [ebp - 4], 4
call fcn.00457950
add esp, 0x10
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
cmp dword [ebp - 0x18], esi
je 0x46cc46
push esi
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x1ac]
push eax
call fcn.00457e20
add esp, 0xc
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 8
call dword [0x5096b0]
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
lea ecx, [ebp - 0x154]
push 0x1392
push ecx
call fcn.00455290
mov ecx, eax
call fcn.0046c570
lea ecx, [ebp - 0x2c]
mov esi, eax
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x154]
mov dword [ebp - 4], 0xffffffff
call fcn.00468810
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f019a
mov esp, ebp
pop ebp
ret