Function at 0x140016e80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov r13, rdx
mov r14, rcx
lea rdx, str.checking_file_signatures_for_DAG_data
mov ecx, 8
mov r15, r9
mov r12, r8
call fcn.140014f80
movsxd rsi, dword [r14 + 0x30]
lea r10, [r14 + 0x30]
movsxd rbp, dword [r14 + 0x30]
lea rcx, [r14 + 0x30]
xor edi, edi
add rsi, r10
mov eax, edi
sub eax, dword [r10]
neg eax
sbb rax, rax
add rbp, rcx
and rsi, rax
mov eax, edi
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rbp, rax
movsxd rax, dword [r14 + 0x2c]
shl rax, 4
add rbp, rax
cmp rsi, rbp
je 0x140016f41
nop dword [rax]
movsxd rdx, dword [rsi]
lea rcx, [rsp + 0x48]
mov rbx, qword [rsi + 8]
add rdx, rsi
cmp dword [rsi], edi
cmove rdx, rdi
call fcn.140028f20
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x40], xmm1
movups xmmword [rsp + 0x30], xmm0
cmp qword [rsp + 0x40], rbx
jne 0x140016fb5
add rsi, 0x10
cmp rsi, rbp
jne 0x140016f00
movsxd rbx, dword [r14 + 0x38]
lea rcx, [r14 + 0x38]
movsxd rdx, dword [r14 + 0x38]
add rbx, rcx
mov eax, edi
sub eax, dword [rcx]
lea rcx, [r14 + 0x38]
neg eax
sbb rax, rax
add rdx, rcx
and rbx, rax
mov eax, edi
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, dword [r14 + 0x34]
lea rsi, [rdx + rax*8]
cmp rbx, rsi
je 0x140016ffc
movsxd rdx, dword [rbx]
lea rcx, [rsp + 0x30]
add rdx, rbx
cmp dword [rbx], edi
cmove rdx, rdi
call fcn.140028f20
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movd ecx, xmm1
movsd qword [rsp + 0x40], xmm0
mov eax, ecx
shr eax, 2
test al, 1
je 0x140016fe0
mov ecx, edi
jmp 0x140016fea
movsxd r9, dword [rsi]
lea r8, str.FileSignature_timestamp_changed:__s
sub edi, dword [rsi]
add r9, rsi
neg edi
mov edx, 0x400
mov rcx, r15
sbb rax, rax
and r9, rax
call fcn.140003900
xor al, al
jmp 0x140017236
shr ecx, 3
not ecx
and ecx, 1
inc ecx
cmp ecx, dword [rbx + 4]
jne 0x140017158
add rbx, 8
cmp rbx, rsi
jne 0x140016f80
movsxd rbx, dword [r14 + 0x40]
lea rcx, [r14 + 0x40]
movsxd rsi, dword [r14 + 0x40]
add rbx, rcx
mov eax, edi
sub eax, dword [rcx]
lea rcx, [r14 + 0x40]
neg eax
sbb rax, rax
add rsi, rcx
and rbx, rax
mov eax, edi
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rsi, rax
movsxd rax, dword [r14 + 0x3c]
imul rcx, rax, 0x1c
add rsi, rcx
cmp rbx, rsi
je 0x1400170a8
nop word [rax + rax]
cmp dword [rbx + 0x18], edi
lea rcx, [rsp + 0x30]
movsxd r8, dword [rbx + 4]
movsxd rdx, dword [rbx]
setne r9b
add r8, 4
mov qword [rsp + 0x28], r12
add r8, rbx
mov qword [rsp + 0x20], r13
cmp dword [rbx + 4], edi
cmove r8, rdi
add rdx, rbx
cmp dword [rbx], edi
cmove rdx, rdi
call fcn.14002bb90
movups xmm0, xmmword [rax]
movq rax, xmm0
movups xmmword [rsp + 0x48], xmm0
cmp rax, qword [rbx + 8]
jne 0x140017183
mov rax, qword [rsp + 0x50]
cmp rax, qword [rbx + 0x10]
jne 0x140017183
add rbx, 0x1c
cmp rbx, rsi
jne 0x140017040
movsxd rbx, dword [r14 + 0x48]
lea rcx, [r14 + 0x48]
movsxd rdx, dword [r14 + 0x48]
add rbx, rcx
mov eax, edi
sub eax, dword [rcx]
lea rcx, [r14 + 0x48]
neg eax
sbb rax, rax
add rdx, rcx
and rbx, rax
mov eax, edi
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, dword [r14 + 0x44]
lea rsi, [rdx + rax*8]
cmp rbx, rsi
je 0x140017234
nop word [rax + rax]
movsxd rcx, dword [rbx]
add rcx, rbx
cmp dword [rbx], edi
cmove rcx, rdi
call fcn.140058924
movsxd rcx, dword [rbx + 4]
lea r10, [rbx + 4]
add r10, rcx
mov r11, rax
cmp dword [rbx + 4], edi
cmove r10, rdi
test rax, rax
jne 0x140017200
test r10, r10
je 0x140017227
movsxd r9, dword [rbx]
lea r8, str.Environment_variable__s_changed_from__s_to_being_undefined.
sub edi, dword [rbx]
add r9, rbx
neg edi
mov qword [rsp + 0x20], r10
mov edx, 0x400
mov rcx, r15
sbb rax, rax
and r9, rax
call fcn.140003900
xor al, al
jmp 0x140017236
movsxd r9, dword [rbx]
lea r8, str.StatSignature_changed:__s
sub edi, dword [rbx]
add r9, rbx
neg edi
mov edx, 0x400
mov rcx, r15
sbb rax, rax
and r9, rax
call fcn.140003900
xor al, al
jmp 0x140017236
lea rdx, [rbx + 8]
lea rcx, [rsp + 0x88]
call fcn.14002f5c0
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x60]
call fcn.14002f5c0
movsxd r9, dword [rbx]
lea r8, str.directory_contents_changed:__s
add r9, rbx
mov eax, edi
sub eax, dword [rbx]
mov edx, 0x400
neg eax
mov rcx, r15
sbb rax, rax
and r9, rax
call fcn.140003900
movsxd r8, dword [rbx]
lea r9, [rsp + 0x88]
sub edi, dword [rbx]
lea rdx, str.DAG_out_of_date:_file_glob_change_for__s___s____s_
add r8, rbx
mov ecx, 4
neg edi
sbb rax, rax
and r8, rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.140014f80
xor al, al
jmp 0x140017236
test r10, r10
je 0x140017289
mov r8, r10
sub r8, r11
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140017223
inc rax
test ecx, ecx
jne 0x140017210
test edx, edx
jne 0x140017257
add rbx, 8
cmp rbx, rsi
jne 0x1400170f0
mov al, 1
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movsxd r9, dword [rbx]
lea r8, str.Environment_variable__s_changed_from__s_to__s
sub edi, dword [rbx]
add r9, rbx
mov qword [rsp + 0x28], r11
neg edi
mov edx, 0x400
mov qword [rsp + 0x20], r10
sbb rax, rax
mov rcx, r15
and r9, rax
call fcn.140003900
xor al, al
jmp 0x140017236
movsxd r9, dword [rbx]
lea r8, str.Environment_variable__s_changed_from_being_undefined_to__s.
sub edi, dword [rbx]
add r9, rbx
neg edi
mov qword [rsp + 0x20], r11
mov edx, 0x400
mov rcx, r15
sbb rax, rax
and r9, rax
call fcn.140003900
xor al, al
jmp 0x140017236