Function at 0x140015c00
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.140013c50
movsxd r10, dword [r14 + 0x30]
lea r11, [r14 + 0x30]
movsxd rcx, dword [r11]
xor edi, edi
mov eax, edi
sub eax, r10d
neg eax
lea rsi, [r11 + r10]
lea rbp, [r11 + rcx]
sbb rax, rax
and rsi, rax
mov eax, edi
sub eax, ecx
neg eax
sbb rax, rax
and rbp, rax
movsxd rax, dword [r14 + 0x2c]
shl rax, 4
add rbp, rax
cmp rsi, rbp
je 0x140015cc2
nop word [rax + rax]
movsxd rax, dword [rsi]
lea rcx, [rsp + 0x48]
mov rbx, qword [rsi + 8]
test eax, eax
lea rdx, [rsi + rax]
cmove rdx, rdi
call fcn.140028b60
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 0x140015d36
add rsi, 0x10
cmp rsi, rbp
jne 0x140015c80
movsxd rcx, dword [r14 + 0x38]
lea r8, [r14 + 0x38]
mov eax, edi
sub eax, ecx
neg eax
lea rbx, [r8 + rcx]
movsxd rcx, dword [r8]
sbb rax, rax
and rbx, rax
mov eax, edi
sub eax, ecx
neg eax
lea rdx, [r8 + rcx]
sbb rax, rax
and rdx, rax
movsxd rax, dword [r14 + 0x34]
lea rsi, [rdx + rax*8]
cmp rbx, rsi
je 0x140015d7e
nop
movsxd rax, dword [rbx]
lea rcx, [rsp + 0x30]
test eax, eax
lea rdx, [rbx + rax]
cmove rdx, rdi
call fcn.140028b60
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 0x140015d62
mov ecx, edi
jmp 0x140015d6c
movsxd rax, dword [rsi]
lea r8, str.FileSignature_timestamp_changed:__s
sub edi, eax
mov edx, 0x400
neg edi
mov rcx, r15
lea r9, [rsi + rax]
sbb rax, rax
and r9, rax
call fcn.1400033a0
xor al, al
jmp 0x140015fb9
shr ecx, 3
not ecx
and ecx, 1
inc ecx
cmp ecx, dword [rbx + 4]
jne 0x140015ed9
add rbx, 8
cmp rbx, rsi
jne 0x140015d00
movsxd rcx, dword [r14 + 0x40]
lea rdx, [r14 + 0x40]
mov eax, edi
sub eax, ecx
neg eax
lea rbx, [rdx + rcx]
movsxd rcx, dword [rdx]
sbb rax, rax
and rbx, rax
mov eax, edi
sub eax, ecx
neg eax
lea rsi, [rdx + rcx]
sbb rax, rax
and rsi, rax
movsxd rax, dword [r14 + 0x3c]
imul rcx, rax, 0x1c
add rsi, rcx
cmp rbx, rsi
je 0x140015e29
nop dword [rax]
movsxd rcx, dword [rbx + 4]
cmp dword [rbx + 0x18], edi
movsxd r10, dword [rbx]
setne r9b
mov qword [rsp + 0x28], r12
lea r8, [rcx + 4]
mov qword [rsp + 0x20], r13
add r8, rbx
test ecx, ecx
lea rdx, [rbx + r10]
lea rcx, [rsp + 0x30]
cmove r8, rdi
test r10d, r10d
cmove rdx, rdi
call fcn.14002b040
movups xmm0, xmmword [rax]
movq rax, xmm0
movups xmmword [rsp + 0x48], xmm0
cmp rax, qword [rbx + 8]
jne 0x140015f05
mov rax, qword [rsp + 0x50]
cmp rax, qword [rbx + 0x10]
jne 0x140015f05
add rbx, 0x1c
cmp rbx, rsi
jne 0x140015dc0
movsxd rcx, dword [r14 + 0x48]
lea r8, [r14 + 0x48]
mov eax, edi
sub eax, ecx
neg eax
lea rbx, [r8 + rcx]
movsxd rcx, dword [r8]
sbb rax, rax
and rbx, rax
mov eax, edi
sub eax, ecx
neg eax
lea rdx, [r8 + rcx]
sbb rax, rax
and rdx, rax
movsxd rax, dword [r14 + 0x44]
lea rsi, [rdx + rax*8]
cmp rbx, rsi
je 0x140015fb7
nop word [rax + rax]
movsxd rax, dword [rbx]
test eax, eax
lea rcx, [rbx + rax]
cmove rcx, rdi
call fcn.140056408
movsxd rdx, dword [rbx + 4]
lea r10, [rbx + 4]
add r10, rdx
mov r11, rax
test edx, edx
cmove r10, rdi
test rax, rax
jne 0x140015f84
test r10, r10
je 0x140015faa
movsxd rax, dword [rbx]
lea r8, str.Environment_variable__s_changed_from__s_to_being_undefined.
sub edi, eax
mov qword [rsp + 0x20], r10
neg edi
mov edx, 0x400
mov rcx, r15
lea r9, [rbx + rax]
sbb rax, rax
and r9, rax
call fcn.1400033a0
xor al, al
jmp 0x140015fb9
movsxd rax, dword [rbx]
lea r8, str.StatSignature_changed:__s
sub edi, eax
mov edx, 0x400
neg edi
mov rcx, r15
lea r9, [rbx + rax]
sbb rax, rax
and r9, rax
call fcn.1400033a0
xor al, al
jmp 0x140015fb9
lea rdx, [rbx + 8]
lea rcx, [rsp + 0x88]
call fcn.14002e8e0
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x60]
call fcn.14002e8e0
movsxd rcx, dword [rbx]
lea r8, str.directory_contents_changed:__s
mov eax, edi
mov edx, 0x400
sub eax, ecx
neg eax
lea r9, [rbx + rcx]
mov rcx, r15
sbb rax, rax
and r9, rax
call fcn.1400033a0
movsxd rax, dword [rbx]
lea r9, [rsp + 0x88]
sub edi, eax
lea rdx, str.DAG_out_of_date:_file_glob_change_for__s___s____s_
neg edi
mov ecx, 4
lea r8, [rbx + rax]
sbb rax, rax
and r8, rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.140013c50
xor al, al
jmp 0x140015fb9
test r10, r10
je 0x14001600d
mov r8, r10
sub r8, r11
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140015fa6
inc rax
test ecx, ecx
jne 0x140015f93
test edx, edx
jne 0x140015fda
add rbx, 8
cmp rbx, rsi
jne 0x140015e70
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 rax, dword [rbx]
lea r8, str.Environment_variable__s_changed_from__s_to__s
sub edi, eax
mov qword [rsp + 0x28], r11
neg edi
mov qword [rsp + 0x20], r10
mov edx, 0x400
mov rcx, r15
lea r9, [rbx + rax]
sbb rax, rax
and r9, rax
call fcn.1400033a0
xor al, al
jmp 0x140015fb9
movsxd rax, dword [rbx]
lea r8, str.Environment_variable__s_changed_from_being_undefined_to__s.
sub edi, eax
mov qword [rsp + 0x20], r11
neg edi
mov edx, 0x400
mov rcx, r15
lea r9, [rbx + rax]
sbb rax, rax
and r9, rax
call fcn.1400033a0
xor al, al
jmp 0x140015fb9