Function at 0x1005b510
Capabilities:
Identify system language via api

Disassembly:
mov eax, dword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
lea ecx, [esp - 0x18]
sub esp, 0x2c
push ebx
push ebp
mov ebp, dword [sym.imp.Qt5Gui.dll_public:_void___thiscall_QFontDatabase::constructor_void_]
push esi
push edi
mov edi, dword [esp + 0x40]
mov dword [edi], eax
call ebp
push dword [esp + 0x44]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.Qt5Gui.dll_public:_class_QList_enum_QFontDatabase::WritingSystem____thiscall_QFontDatabase::writingSystems_class_QString_const__]
mov esi, eax
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_void_____thiscall_QListData::end_void_const]
mov ecx, esi
mov ebx, eax
call dword [sym.imp.Qt5Core.dll_public:_void_____thiscall_QListData::begin_void_const]
mov ecx, eax
cmp ecx, ebx
je 0x1005b572
nop dword [eax + eax]
mov eax, dword [ecx]
cmp dword [eax], 0x1e
je 0x1005b61c
add ecx, 4
cmp ecx, ebx
jne 0x1005b560
mov byte [esp + 0x40], 1
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x1005b59b
cmp eax, 0xffffffff
je 0x1005b5db
mov eax, dword [esp + 0x18]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
cmp ecx, 1
setne al
test al, al
jne 0x1005b5db
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 8]
lea esi, [ebp + 0x10]
lea ebx, [eax*4 + 0x10]
mov eax, dword [ebp + 0xc]
add ebx, ebp
lea esi, [esi + eax*4]
cmp esi, ebx
je 0x1005b5cb
sub esi, 4
push 4
push dword [esi]
call fcn.100d4323
add esp, 8
cmp esi, ebx
jne 0x1005b5b8
push ebp
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data__]
mov ebp, dword [sym.imp.Qt5Gui.dll_public:_void___thiscall_QFontDatabase::constructor_void_]
add esp, 4
cmp byte [esp + 0x40], 0
mov ebx, dword [sym.imp.Qt5Core.dll_public:_void_____thiscall_QListData::append_void_]
je 0x1005b732
cmp dword [0x1011ef78], 0
jne 0x1005b666
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx ecx, ax
movzx eax, cl
sub eax, 4
je 0x1005b63e
sub eax, 0xd
je 0x1005b632
sub eax, 1
je 0x1005b626
mov dword [0x1011ef78], 0x1011a160
jmp 0x1005b666
mov byte [esp + 0x40], 0
jmp 0x1005b577
mov dword [0x1011ef78], 0x1011a1d0
jmp 0x1005b666
mov dword [0x1011ef78], 0x1011a17c
jmp 0x1005b666
mov eax, 0x804
cmp cx, ax
je 0x1005b65c
mov eax, 0x1004
mov dword [0x1011ef78], 0x1011a1b4
cmp cx, ax
jne 0x1005b666
mov dword [0x1011ef78], 0x1011a198
lea ecx, [esp + 0x1c]
call ebp
push 0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.Qt5Gui.dll_public:_class_QStringList___thiscall_QFontDatabase::families_enum_QFontDatabase::WritingSystem_]
mov esi, dword [0x1011ef78]
test esi, esi
je 0x1005b729
mov ebp, dword [sym.imp.Qt5Gui.dll_public:_bool___thiscall_QFontDatabase::hasFamily_class_QString_const__const]
mov eax, dword [esi]
test eax, eax
je 0x1005b729
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLatin1_char_const___int_]
push 1
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.Qt5Core.dll_bool___cdecl_QtPrivate::QStringList_contains_class_QStringList_const___class_QString_const___enum_Qt::CaseSensitivity_]
add esp, 0x18
test al, al
jne 0x1005b6d1
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
call ebp
test al, al
je 0x1005b716
mov eax, dword [edi]
mov eax, dword [eax]
cmp eax, 1
je 0x1005b6fb
test eax, eax
je 0x1005b6fb
push 1
push SysReAllocString
mov ecx, edi
call fcn.1000bce0
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
jmp 0x1005b716
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
mov ecx, edi
call ebx
mov ecx, eax
mov eax, dword [esp + 0x28]
mov dword [ecx], eax
lea ecx, [esp + 0x14]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
add esi, 4
jne 0x1005b691
lea ecx, [esp + 0x20]
call fcn.1001d4b0
lea eax, [esp + 0x30]
mov byte [esp + 0x12], 0
push eax
lea ecx, [esp + 0x16]
call fcn.100585a0
mov esi, eax
mov eax, dword [edi]
mov ecx, dword [eax]
cmp ecx, 1
je 0x1005b76d
test ecx, ecx
je 0x1005b76d
push 1
push SysReAllocString
mov ecx, edi
call fcn.1000bce0
push esi
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
jmp 0x1005b784
push esi
lea ecx, [esp + 0x30]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
mov ecx, edi
call ebx
mov ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x17]
call fcn.10058500
mov esi, eax
mov eax, dword [edi]
mov ecx, dword [eax]
cmp ecx, 1
je 0x1005b7d6
test ecx, ecx
je 0x1005b7d6
push 1
push SysReAllocString
mov ecx, edi
call fcn.1000bce0
push esi
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
lea ecx, [esp + 0x38]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push esi
lea ecx, [esp + 0x38]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
mov ecx, edi
call ebx
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
lea ecx, [esp + 0x38]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret