Function at 0x140079120
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x428]
sub rsp, 0x500
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x14015b138]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
mov r14, rdx
mov r12, rcx
xor edi, edi
lea rdx, [rbp - 0x50]
mov rcx, r14
call fcn.14001c6d0
nop
lea rbx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rbx, qword [rbp - 0x50]
xor ecx, ecx
call fcn.1400186d0
mov rcx, rax
mov r9, rbx
lea r8, str.Begin_Loading_whitelist:__s
lea edx, [rdi + 5]
call fcn.140016fb0
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x1400791a7
mov rcx, qword [r14]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x140079804
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x1400791c3
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400791d6
test al, 0x10
jne 0x140079804
xor edx, edx
mov r8d, 0x320
lea rcx, [rbp - 0x30]
call fcn.1400cf640
mov qword [rbp - 0x20], rdi
mov dword [rbp - 0x18], edi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov dword [rbp], edi
mov qword [rbp + 8], rdi
movdqa xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x20], xmm1
mov qword [rbp + 0x30], rdi
lea rax, vtable.tinyxml2::XMLDocument.0
mov qword [rbp - 0x30], rax
mov word [rbp + 0x38], 0x100
mov qword [rbp + 0x3c], rdi
mov dword [rbp + 0x48], edi
movdqa xmmword [rbp + 0x50], xmm0
mov dword [rbp + 0x60], edi
mov qword [rbp + 0x68], rdi
mov qword [rbp + 0x70], rdi
mov dword [rbp + 0x78], edi
mov qword [rbp + 0x80], rdi
mov dword [rbp + 0x88], edi
lea rax, [rbp + 0x98]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0xe8], 0xa
lea rax, vtable.tinyxml2::MemPoolT_120_.0
mov qword [rbp + 0xf0], rax
lea rax, [rbp + 0x100]
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x150], 0xa
mov qword [rbp + 0x158], rdi
movdqa xmmword [rbp + 0x160], xmm0
lea rax, vtable.tinyxml2::MemPoolT_80_.0
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x180]
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x1d0], 0xa
mov qword [rbp + 0x1d8], rdi
movdqa xmmword [rbp + 0x1e0], xmm0
lea rax, vtable.tinyxml2::MemPoolT_112_.0
mov qword [rbp + 0x1f0], rax
lea rax, [rbp + 0x200]
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x250], 0xa
mov qword [rbp + 0x258], rdi
movdqa xmmword [rbp + 0x260], xmm0
lea rax, vtable.tinyxml2::MemPoolT_104_.0
mov qword [rbp + 0x270], rax
lea rax, [rbp + 0x280]
mov qword [rbp + 0x278], rax
mov qword [rbp + 0x2d0], 0xa
mov qword [rbp + 0x2d8], rdi
movdqa xmmword [rbp + 0x2e0], xmm0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.14001f520
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x140079358
mov rsi, qword [rax]
lea rcx, [rbp - 0x30]
call fcn.1400073d0
test rsi, rsi
je 0x140079414
cmp byte [rsi], 0
je 0x140079414
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140079380
lea rcx, [rbx + 1]
call fcn.1400cd468
mov qword [rbp + 0x80], rax
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.1400cf800
mov rax, qword [rbp + 0x80]
mov byte [rax + rbx], 0
lea rcx, [rbp - 0x30]
call fcn.1400075c0
cmp dword [rbp + 0x3c], 0
je 0x140079458
lea rcx, [rbp - 0x30]
call fcn.1400059d0
lea rcx, [rbp + 0xf0]
mov rax, qword [rbp + 0xf0]
call qword [rax + Ordinal_41]
lea rcx, [rbp + 0x170]
mov rax, qword [rbp + 0x170]
call qword [rax + Ordinal_41]
lea rcx, [rbp + 0x1f0]
mov rax, qword [rbp + 0x1f0]
call qword [rax + Ordinal_41]
lea rcx, [rbp + 0x270]
mov rax, qword [rbp + 0x270]
call qword [rax + Ordinal_41]
jmp 0x140079458
mov dword [rbp + 0x3c], reloc.WS2_32.dll_ntohs
test dword [rbp + 0x48], 0x200
je 0x14007942d
mov rcx, qword [rbp + 0x50]
call fcn.1400cd424
mov dword [rbp + 0x48], edi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x50], xmm0
test dword [rbp + 0x60], 0x200
je 0x14007944a
mov rcx, qword [rbp + 0x68]
call fcn.1400cd424
mov dword [rbp + 0x60], edi
mov qword [rbp + 0x68], rdi
mov qword [rbp + 0x70], rdi
mov dword [rbp + 0x78], edi
mov r15d, dword [rbp + 0x3c]
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x140079497
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140079492
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400798c7
call fcn.1400cd424
test r15d, r15d
jne 0x14007961d
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x1400794c9
nop dword [rax]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x1400794cc
mov rbx, qword [rbx + 0x50]
test rbx, rbx
jne 0x1400794b0
mov rsi, rdi
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x14007950c
lea r15, str.expiration
nop dword [rax]
lea rcx, [rbx + 8]
call fcn.140005200
cmp rax, r15
je 0x14007954c
mov r8d, 0x7fffffff
mov rdx, r15
mov rcx, rax
call fcn.1400d56a0
test eax, eax
je 0x14007954c
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1400794e0
lea rbx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rbx, qword [rbp - 0x50]
xor ecx, ecx
call fcn.1400186d0
mov rcx, rax
mov r9, rbx
lea r8, str.whitelist.xml_file__s_is_expired
mov edx, 2
call fcn.140016fb0
lea rdx, str..expired
mov rcx, r14
call fcn.14004e8a0
jmp 0x1400797f9
test rbx, rbx
je 0x14007950c
lea rcx, [rbx + 0x20]
call fcn.140005200
mov rbx, rax
test rax, rax
je 0x14007950c
mov qword [rbp - 0x58], rdi
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x2f0]
call fcn.1400cf640
lea rcx, [rbp + 0x2f0]
call fcn.14000a250
nop
mov rdx, rbx
lea rcx, [rbp + 0x300]
call fcn.1400181c0
mov rdx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
test byte [rcx + rdx + 0x10], 6
jne 0x1400795cc
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x2f0]
call fcn.14000ada0
mov rdx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
test byte [rcx + rdx + 0x10], 6
jne 0x1400795cc
mov bl, 1
jmp 0x1400795ce
xor bl, bl
lea rcx, [rbp + 0x2f0]
call fcn.14000a140
test bl, bl
je 0x14007950c
mov ecx, 1
call fcn.1400266a0
mov rdx, qword [rbp - 0x58]
test rdx, rdx
js 0x1400795fe
cmp rax, rdx
jge 0x14007950c
mov rdx, rsi
mov rcx, r12
call fcn.1400798d0
mov edi, eax
mov rdx, rsi
mov rcx, r12
call fcn.140079f80
add edi, eax
jmp 0x1400797f9
movsxd rax, dword [rbp + 0x3c]
lea rdx, str.XML_SUCCESS
mov qword [rbp - 0x60], rdi
mov rdx, qword [rdx + rax*8]
lea rcx, [rbp - 0x60]
call fcn.14007d290
nop
lea rbx, [0x140123b98]
mov rax, qword [rbp + 0x70]
cmp qword [rbp + 0x68], rax
jne 0x140079650
mov rax, rbx
jmp 0x140079659
lea rcx, [rbp + 0x60]
call fcn.140005200
mov qword [rbp - 0x58], rdi
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.14007d290
nop
mov qword [rsp + 0x50], rdi
lea rdx, [0x14012b74c]
lea rcx, [rsp + 0x50]
call fcn.14007d290
nop
mov qword [rsp + 0x48], rdi
lea rdx, [0x14012444c]
lea rcx, [rsp + 0x48]
call fcn.14007d290
nop
mov rax, qword [rbp + 0x58]
cmp qword [rbp + 0x50], rax
je 0x1400796ae
lea rcx, [rbp + 0x48]
call fcn.140005200
mov rbx, rax
mov qword [rsp + 0x40], rdi
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14007d290
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.14007d590
nop
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14007d590
nop
lea r8, [rbp - 0x58]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14007d590
nop
mov r8, rax
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x58]
call fcn.14007d590
mov rbx, rax
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.14007d290
mov rcx, qword [rbp - 0x60]
mov rsi, qword [rbx]
mov qword [rbp - 0x60], rsi
mov qword [rbx], rcx
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.14007d290
nop
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.14007d290
nop
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.14007d290
nop
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.14007d290
nop
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.14007d290
nop
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.14007d290
nop
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.14007d290
nop
xor edx, edx
lea rcx, [rbp - 0x58]
call fcn.14007d290
nop
mov r12d, dword [rbp + 0x78]
test rsi, rsi
je 0x1400797a4
cmp qword [rsi + 0x18], 0x10
jb 0x1400797a7
mov rsi, qword [rsi]
jmp 0x1400797a7
mov rsi, rdi
lea rbx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rbx, qword [rbp - 0x50]
xor ecx, ecx
call fcn.1400186d0
mov rcx, rax
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r15d
mov r9, rbx
lea r8, str.Cannot_load_whitelist_xml_file:__s_nxml_error_code:__d____s_nXml_error_line_number:_d
mov edx, 2
call fcn.140016fb0
xor edx, edx
mov rcx, r14
call fcn.14004e8a0
nop
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.14007d290
nop
lea rcx, [rbp - 0x30]
call fcn.1400072f0
jmp 0x140079830
lea rbx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rbx, qword [rbp - 0x50]
xor ecx, ecx
call fcn.1400186d0
mov rcx, rax
mov r9, rbx
lea r8, str.Cannot_load_whitelist_xml_file_as_it_does_not_exist:__s
mov edx, 2
call fcn.140016fb0
lea rbx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rbx, qword [rbp - 0x50]
xor ecx, ecx
call fcn.1400186d0
mov rcx, rax
mov r9, rbx
lea r8, str.End_Loading_whitelist:__s
mov edx, 5
call fcn.140016fb0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140079894
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007988f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400798c1
call fcn.1400cd424
mov eax, edi
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.1400cd400
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1400d20f4
nop
call fcn.1400d20f4
nop
int3