Function at 0x1401769f0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x1404af540]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r15, r8
mov r13, rdx
mov r14, rcx
mov qword [rbp - 0x50], rcx
xor ebx, ebx
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x10]
call sub.VCRUNTIME140.dll_memset
mov rsi, 0xffffffffffffffff
mov r9, rsi
lea r8, [0x1404ba700]
mov edx, 0x104
lea rcx, [rbp + 0x10]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
mov r9, rsi
lea r8, str.gConfig.xml
mov edx, 0x104
lea rcx, [rbp + 0x10]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
lea rcx, [rbp + 0x10]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140176cce
test r15, r15
je 0x140176c9e
mov dword [rsp + 0x28], 1
mov r9d, 2
lea r8, str.Global_config_file_is_missing.
lea rdx, [0x1404397d8]
mov rcx, r15
call fcn.14016ca80
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x28]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rbp - 0x48]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rsp + 0x68]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, reloc.SinoSPE.dll_Ordinal_24
lea rdx, str.STRING_GCONFIG_NOT_EXIST
lea rcx, [rbp - 0x70]
call fcn.140006340
nop
mov dword [rsp + 0x50], reloc.SinoSPE.dll_Ordinal_16
mov byte [rsp + 0x48], 1
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8b, 1
lea rdx, [rbp - 0x70]
mov rcx, r13
call fcn.140120d20
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140176bd2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140176bcc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140176bcc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x140176c17
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140176c11
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140176c11
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x140176c5b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140176c55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140176c55
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x140176c9e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140176c99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140176c99
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
mov qword [r14], rbx
mov rax, r14
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1403ca460
mov rbx, qword [rsp + 0x388]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rbp], rbx
lea rax, [rbp]
mov qword [rsp + 0x20], rax
lea r9, [0x14041b290]
xor edx, edx
mov r8d, 1
lea rcx, [0x14043f8a8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov r12d, eax
test eax, eax
jns 0x140176d07
mov rdi, rbx
mov qword [rbp], rbx
jmp 0x140176d0b
mov rdi, qword [rbp]
test r12d, r12d
jns 0x140176f46
test r15, r15
je 0x140176f2f
mov r9d, r12d
lea r8, str.Create_xml_object_failed._Error_code:__d.
mov rdx, rsi
lea rcx, [0x1404c32c0]
call fcn.1400d02a0
mov dword [rsp + 0x28], 1
mov r9d, 2
lea r8, [0x1404c32c0]
lea rdx, [0x1404397d8]
mov rcx, r15
call fcn.14016ca80
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rsp + 0x68]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rbp - 0x70]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x48]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
mov r8d, Ordinal_32
lea rdx, str.STRING_GCONFIG_XML_OBJECT_ERROR
lea rcx, [rbp - 0x28]
call fcn.140006340
nop
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
mov r9d, r12d
lea rdx, [rbp - 0x28]
mov rcx, r13
call fcn.140121a80
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x140176e5f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140176e59
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140176e59
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x140176ea3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140176e9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140176e9d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140176ee7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140176ee1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140176ee1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x140176f2b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140176f26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140176f26
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
mov rdi, qword [rbp]
mov qword [r14], rbx
test rdi, rdi
je 0x140176f41
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.SinoSPE.dll_Ordinal_16]
nop
jmp 0x140176ca1
test rdi, rdi
je 0x1401773d1
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x1f8]
test eax, eax
jns 0x140176f72
lea r8, [0x14041b290]
mov rdx, rdi
mov ecx, eax
call fcn.1403c9f60
mov rdi, qword [rbp]
test rdi, rdi
je 0x1401773d1
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x220]
test eax, eax
jns 0x140176fa2
lea r8, [0x14041b290]
mov rdx, rdi
mov ecx, eax
call fcn.1403c9f60
mov rdi, qword [rbp]
test rdi, rdi
je 0x1401773d1
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x230]
test eax, eax
jns 0x140176fd2
lea r8, [0x14041b290]
mov rdx, rdi
mov ecx, eax
call fcn.1403c9f60
mov eax, 8
mov word [rsp + 0x68], ax
lea rcx, [rbp + 0x10]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1401773dc
mov rdi, qword [rbp]
test rdi, rdi
je 0x1401773c6
mov word [rbp + 8], bx
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [rsp + 0x78]
movsd qword [rbp - 0x60], xmm1
mov rax, qword [rdi]
lea r8, [rbp + 8]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call qword [rax + 0x1d0]
test eax, eax
jns 0x140177043
lea r8, [0x14041b290]
mov rdx, rdi
mov ecx, eax
call fcn.1403c9f60
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp word [rbp + 8], 0xffff
je 0x1401773ba
test r15, r15
je 0x1401773a8
mov rcx, qword [rbp]
test rcx, rcx
je 0x140177408
lea rdx, [rbp - 0x50]
call fcn.1401a8130
nop
mov rcx, qword [rax]
test rcx, rcx
je 0x1401773fd
lea rdx, [rsp + 0x60]
call fcn.1401a81b0
nop
mov r8, qword [rax]
test r8, r8
je 0x14017709d
mov r8, qword [r8]
jmp 0x1401770a0
mov r8, rbx
mov dword [rsp + 0x28], 1
mov r9d, 2
lea rdx, [0x1404397d8]
mov rcx, r15
call fcn.14016cf10
nop
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x14017710e
mov eax, esi
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140177109
test rdi, rdi
je 0x140177109
mov rcx, qword [rdi]
test rcx, rcx
je 0x1401770ea
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1401770fc
call fcn.1403ca488
mov qword [rdi + 8], rbx
mov edx, reloc.SinoSPE.dll_Ordinal_24
mov rcx, rdi
call fcn.1403ca488
mov qword [rsp + 0x60], rbx
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14017711e
mov rax, qword [rcx]
call qword [rax + reloc.SinoSPE.dll_Ordinal_16]
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rsp + 0x68]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rbp - 0x70]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x48]
call fcn.140006340
nop
mov rcx, qword [rbp]
test rcx, rcx
je 0x1401773f2
lea rdx, [rbp - 0x50]
call fcn.1401a8130
nop
mov rcx, qword [rax]
test rcx, rcx
je 0x1401773e7
lea rdx, [rsp + 0x60]
call fcn.1401a81b0
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x1401771c8
mov rdx, qword [rdx]
jmp 0x1401771cb
mov rdx, rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1401771e0
lea rcx, [rbp - 0x28]
call fcn.140006340
nop
mov dword [rsp + 0x50], reloc.SinoSPE.dll_Ordinal_16
mov byte [rsp + 0x48], 1
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x28]
mov rcx, qword [0x1404ba678]
call fcn.140120d20
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x14017727e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140177278
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140177278
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x1401772cc
lock xadd dword [rdi + 0x10], esi
cmp esi, 1
jne 0x1401772c7
test rdi, rdi
je 0x1401772c7
mov rcx, qword [rdi]
test rcx, rcx
je 0x1401772a8
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1401772ba
call fcn.1403ca488
mov qword [rdi + 8], rbx
mov edx, reloc.SinoSPE.dll_Ordinal_24
mov rcx, rdi
call fcn.1403ca488
mov qword [rsp + 0x60], rbx
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1401772dc
mov rax, qword [rcx]
call qword [rax + reloc.SinoSPE.dll_Ordinal_16]
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x140177320
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017731a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017731a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140177364
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017735e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017735e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x1401773a8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401773a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401773a3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
mov rcx, qword [rbp]
test rcx, rcx
je 0x1401773d1
mov rax, qword [rcx]
call qword [rax + reloc.SinoSPE.dll_Ordinal_16]
nop
jmp 0x1401773be
mov rbx, qword [rbp]
mov qword [r14], rbx
jmp 0x140176ca1
mov ecx, 0x80004003
call fcn.1403c9f50
nop
mov ecx, 0x80004003
call fcn.1403c9f50
int3
mov ecx, 0x8007000e
call fcn.1403c9f50
nop
mov ecx, 0x80004003
call fcn.1403c9f50
nop
mov ecx, 0x80004003
call fcn.1403c9f50
nop
mov ecx, 0x80004003
call fcn.1403c9f50
nop
mov ecx, 0x80004003
call fcn.1403c9f50
int3