Function at 0x14001f534
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0x90
mov r8d, dword [0x140071e00]
test r8d, r8d
je 0x14001f578
lea rdx, str.GetLCID:_from_arg__lu
lea rcx, [0x14005f708]
call fcn.140025b7c
mov eax, dword [0x140071e00]
jmp 0x14001f758
call fcn.1400064a8
mov rcx, rax
test rax, rax
je 0x14001f770
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x67], rax
lea rcx, [rbp + 0x67]
call fcn.14001f434
test al, al
jne 0x14001f5c8
lea rdx, str.GetLCID:_Get_Base_Dir_fail_
lea rcx, [0x14005f708]
call fcn.140025b7c
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov edi, eax
mov rbx, qword [rbp + 0x67]
jmp 0x14001f73b
mov edx, 0x5c
lea rcx, [rbp + 0x67]
call fcn.14001e8e8
mov edx, 0x2f
lea rcx, [rbp + 0x67]
call fcn.14001e8e8
lea rcx, str.I18nconfig.xml
call fcn.140032038
mov r8d, eax
lea rdx, str.I18nconfig.xml
lea rcx, [rbp + 0x67]
call fcn.14000e0f8
mov rbx, qword [rbp + 0x67]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14001f637
mov r8, rbx
lea rdx, str.GetLCID:_config_not_exist___s
lea rcx, [0x14005f708]
call fcn.140025b7c
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov edi, eax
jmp 0x14001f73b
lea rcx, [rbp - 0x29]
call qword [sym.imp.tinyxml.dll_public:_void___cdecl_TiXmlDocument::constructor_void____ptr64]
nop
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x29]
call qword [sym.imp.tinyxml.dll_public:_bool___cdecl_TiXmlDocument::LoadFile_wchar_t_const____ptr64__enum_TiXmlEncoding____ptr64]
test al, al
jne 0x14001f65f
lea rdx, str.GetLCID:_Load_File_fail_
jmp 0x14001f678
lea rcx, [rbp - 0x29]
call qword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____ptr64___cdecl_TiXmlDocument::RootElement_void____ptr64]
mov rsi, rax
test rax, rax
jne 0x14001f691
lea rdx, str.GetLCID:_Get_Root_Element_fail_
lea rcx, [0x14005f708]
call fcn.140025b7c
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov edi, eax
jmp 0x14001f730
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov edi, eax
xor r14d, r14d
mov rcx, rsi
call qword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____ptr64___cdecl_TiXmlNode::FirstChildElement_void____ptr64]
test rax, rax
mov rsi, rax
je 0x14001f70b
mov rcx, rax
call qword [sym.imp.tinyxml.dll_public:_char_const____ptr64___cdecl_TiXmlNode::Value_void_const___ptr64]
test rax, rax
je 0x14001f6e3
lea rdx, str.locale
mov rcx, rax
call fcn.14003f9a0
test eax, eax
jne 0x14001f6e3
lea rdx, [0x140065748]
mov rcx, rsi
call qword [sym.imp.tinyxml.dll_public:_char_const____ptr64___cdecl_TiXmlElement::Attribute_char_const____ptr64_const___ptr64]
test rax, rax
jne 0x14001f6ee
mov rcx, rsi
call qword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____ptr64___cdecl_TiXmlNode::NextSiblingElement_void____ptr64]
jmp 0x14001f6a5
mov r14d, 1
and qword [rbp + 0x6f], 0
lea r8d, [r14 + 9]
lea rdx, [rbp + 0x6f]
mov rcx, rax
call fcn.140040be8
mov edi, eax
lea rax, str.GetLCID:_from_default__lu
lea rdx, str.GetLCID:_from_config__lu
test r14d, r14d
cmove rdx, rax
mov r8d, edi
lea rcx, [0x14005f708]
call fcn.140025b7c
nop
lea rcx, [rbp - 0x29]
call qword [sym.imp.tinyxml.dll_public_virtual:_void___cdecl_TiXmlDocument::destructor_void____ptr64]
nop
lea rdx, [rbx - 0x18]
or ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x14001f756
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, edi
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140006280
int3