Function at 0x14010e020
Capabilities:
Access peb ldr_data
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x9c0]
sub rsp, 0xac0
mov rax, qword [0x1405f98c0]
xor rax, rsp
mov qword [rbp + 0x9b8], rax
xor r12d, r12d
mov dword [rsp + 0x60], r12d
mov r14d, 8
mov rax, qword gs:[0x58]
add r14, qword [rax]
mov eax, dword [r14]
cmp dword [0x14088fcf0], eax
jg 0x14010e514
mov rbx, qword [0x14088fd50]
mov rsi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14010e095
mov rsi, qword [rbx]
mov qword [rsp + 0x20], rbx
lea r9, str.database:_Path_to_database_is:_
lea r8, str.DATABASETAG
mov edx, 2
call fcn.1400ff200
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov edi, eax
cmp eax, 0xffffffff
jne 0x14010e0e9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, str.database:_cannot_GetFileAttributes_on_:___
call fcn.140119e60
jmp 0x14010e0ef
test dil, 1
je 0x14010e126
xor edi, 1
mov edx, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x14010e126
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x5c], eax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, str.database:_cannot_SetFileAttribute_on_:___
call fcn.140119e60
mov eax, dword [r14]
cmp dword [0x14088fcec], eax
jg 0x14010e560
lea rdx, [rbp - 0x30]
lea rbx, [0x14088f130]
mov rcx, rbx
call fcn.140109f60
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov ecx, 0x48
call fcn.1403e3660
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x40], rax
mov r15d, 1
mov dword [rsp + 0x60], r15d
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
lea rax, [rsp + 0x40]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rcx
mov byte [rbp - 0x40], 0
mov qword [rbp - 0x38], rbx
lea rdx, [rbp - 0x50]
lea rcx, [0x14088f258]
call fcn.14011e830
movzx r9d, byte [rbp - 0x40]
mov r8, qword [rbp - 0x48]
lea rdx, [0x14088f258]
mov rcx, qword [rbp - 0x38]
call fcn.14011e9e0
mov ebx, eax
lea rdx, [0x14088f9f8]
lea rcx, [rbp + 0x990]
call fcn.1400c6060
mov dword [rbp + 0x9b0], ebx
mov r13, qword [rbp - 0x50]
mov rsi, qword [r13]
mov qword [rbp - 0x80], rsi
mov rbx, qword [rsi + 8]
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x68], r12d
mov r14, rsi
cmp byte [rbx + 0x19], 0
jne 0x14010e29f
mov r15, qword [rbp + 0x9a8]
mov rsi, qword [rbp + 0x9a0]
mov r12, qword [rbp + 0x990]
nop word [rax + rax]
mov qword [rbp - 0x70], rbx
lea rcx, [rbx + 0x20]
lea rdx, [rbp + 0x990]
cmp r15, 0xf
cmova rdx, r12
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14010e245
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call fcn.14043d2a0
test eax, eax
jne 0x14010e26c
cmp rdi, rsi
jae 0x14010e264
mov eax, 0xffffffff
jmp 0x14010e26c
xor eax, eax
cmp rdi, rsi
seta al
shr eax, 0x1f
test al, al
je 0x14010e280
mov dword [rbp - 0x68], 0
mov rbx, qword [rbx + 0x10]
jmp 0x14010e28d
mov dword [rbp - 0x68], 1
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x14010e220
mov rsi, qword [rbp - 0x80]
xor r12d, r12d
lea r15d, [r12 + 1]
cmp byte [r14 + 0x19], 0
jne 0x14010e2ba
lea r8, [r14 + 0x20]
lea rdx, [rbp + 0x990]
call fcn.1400e8cf0
test al, al
je 0x14010e32c
movabs rax, 0x38e38e38e38e38e
cmp qword [r13 + 8], rax
je 0x14010e647
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r12
mov ecx, 0x48
call fcn.1403e3660
mov rdi, rax
mov qword [rsp + 0x70], rax
lea rdx, [rbp + 0x990]
lea rcx, [rax + 0x20]
call fcn.1400c6060
mov eax, dword [rbp + 0x9b0]
mov dword [rdi + 0x40], eax
mov qword [rdi], rsi
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rsi
mov word [rdi + 0x18], 0
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp - 0x70], xmm0
mov r8, rdi
lea rdx, [rbp - 0x70]
mov rcx, r13
call fcn.1400e4aa0
nop
lea rcx, [rbp + 0x990]
call fcn.1400c6440
nop
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x14010e372
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14010e372
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14010e372
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rcx + 8]
cmp byte [rdi + 0x19], 0
jne 0x14010e3bb
mov r8, qword [rdi + 0x10]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.14011ebf0
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x20]
call fcn.1400c6440
mov edx, 0x48
mov rcx, rbx
call fcn.1403e3650
cmp byte [rdi + 0x19], 0
je 0x14010e381
mov rcx, qword [rsp + 0x40]
mov edx, 0x48
call fcn.1403e3650
lea rdx, [rbp - 0x20]
call fcn.1401193f0
nop
mov rbx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
sub rbx, rcx
sar rbx, 3
movabs r14, 0xaaaaaaaaaaaaaaab
imul rbx, r14
inc rbx
cmp rbx, 0xc
jae 0x14010e495
movabs rsi, 0x346dc5d63886594b
mov edi, 3
call fcn.1403c35e8
mov rcx, rax
mov rax, rsi
imul rcx
sar rdx, 0xb
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx ecx, bl
sub ecx, 6
je 0x14010e43d
cmp ecx, 1
je 0x14010e43d
mov byte [rsp + 0x50], 0
mov word [rsp + 0x52], di
jmp 0x14010e448
mov byte [rsp + 0x50], 1
mov word [rsp + 0x52], r15w
mov byte [rsp + 0x54], bl
mov qword [rsp + 0x40], 0xffffffffffffffff
mov qword [rsp + 0x48], r12
movsd xmm1, qword [rsp + 0x50]
movups xmm0, xmmword [rsp + 0x40]
movsd qword [rsp + 0x78], xmm1
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rbx
lea rdx, [rsp + 0x68]
call fcn.140119940
inc rbx
cmp rbx, 0xc
jb 0x14010e408
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14010e4d7
mov rax, qword [rbp - 0x10]
sub rax, rcx
sar rax, 3
imul rax, r14
lea rdx, [rax + rax*2]
shl rdx, 3
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010e4d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010e50e
call fcn.1403e3650
lea rax, [0x14088f130]
mov rcx, qword [rbp + 0x9b8]
xor rcx, rsp
call fcn.1403e3630
lea r11, [rsp + 0xac0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1403fd768
int3
lea rcx, [0x14088fcf0]
call fcn.1403e3aa0
cmp dword [0x14088fcf0], 0xffffffff
jne 0x14010e081
lea rcx, [0x1404a39d0]
call fcn.1403e38c4
lea rbx, [0x14088fbe8]
mov rcx, rbx
call fcn.14010e650
mov qword [0x14088fd50], rbx
lea rcx, [0x14088fcf0]
call fcn.1403e3a34
jmp 0x14010e081
lea rcx, [0x14088fcec]
call fcn.1403e3aa0
cmp dword [0x14088fcec], 0xffffffff
jne 0x14010e135
lea rax, [rbp + 0x6a8]
mov qword [rbp - 0x80], rax
lea rcx, [rbp + 0x6a8]
call fcn.14010d580
mov r15, rax
lea rax, [rbp]
mov qword [rbp - 8], rax
lea rcx, [rbp]
call fcn.14010cfb0
mov r14, rax
lea rax, [rbp + 0xf0]
mov qword [rbp - 0x70], rax
lea rcx, [rbp + 0xf0]
call fcn.14010c390
mov rsi, rax
lea rax, [rbp + 0x348]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x348]
call fcn.14010c9b0
mov rdi, rax
lea rax, [rbp + 0x1e0]
mov qword [rsp + 0x68], rax
lea rcx, [rbp + 0x1e0]
call fcn.14010bc30
mov rbx, rax
lea rcx, [rbp + 0x4b8]
call fcn.14010b1b0
nop
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8, rax
mov rdx, qword [0x14088fd50]
call fcn.140119130
lea rcx, [0x1404a39a0]
call fcn.1403e38c4
nop
lea rcx, [0x14088fcec]
call fcn.1403e3a34
jmp 0x14010e135
call fcn.1400d6880
int3