Function at 0x140102c10
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
mov rsi, qword [0x14022c040]
mov rax, qword [rsp + 0x158]
mov r12d, dword [rsp + 0x150]
mov qword [rsp + 0x70], rax
mov rax, qword [rsi]
mov qword [rsp + 0xd8], rax
mov eax, dword [rsp + 0x160]
mov esi, dword [rsp + 0x160]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x140], r8d
mov qword [rsp + 0x50], r9
and eax, 0x10
and esi, 4
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], esi
je 0x140102c8d
test eax, eax
jne 0x14010356c
mov rax, qword [rsp + 0x70]
mov r13d, dword [rsp + 0x140]
mov dword [rax], 0
test r13d, r13d
jle 0x140103400
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax]
cmp dword [rbx + 0x34], 0x4000
je 0x140103090
mov rax, qword [rsp + 0x58]
mov esi, dword [rax]
test esi, esi
jns 0x140102f60
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jle 0x140102d22
mov rax, qword [rsp + 0x58]
mov rdi, qword [rax + 0x30]
xor eax, eax
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rdx, qword [rdi + rax*8]
add rax, 1
mov dword [rdx + 0x10], 0
cmp ecx, eax
jg 0x140102d00
mov ebx, dword [rsp + 0x140]
test ebx, ebx
jle 0x14010353a
lea rax, [rsp + 0x90]
mov r14, qword [rsp + 0x70]
xor esi, esi
movsxd r13, r12d
mov qword [rsp + 0x68], rax
jmp 0x140102dd5
mov rcx, qword [rsp + 0x58]
sub rbx, r15
mov r9d, 1
mov rdx, r15
mov r8d, ebx
call fcn.1401022d0
mov rcx, qword [rax]
mov r10, rax
test rcx, rcx
je 0x1401033a8
mov eax, dword [rsp + 0x160]
mov r9, rdi
mov rdx, rbp
mov qword [rsp + 0x60], r10
mov r8d, dword [rsp + 0x140]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x68]
sub r8d, esi
mov qword [rsp + 0x28], rax
lea eax, [r12 + rbx + 1]
mov dword [rsp + 0x20], eax
call fcn.140102c10
test eax, eax
js 0x140103532
mov r10, qword [rsp + 0x60]
je 0x14010354c
mov dword [r10 + 8], eax
add esi, eax
mov eax, dword [rsp + 0x90]
add dword [r14], eax
mov dword [r10 + 0x10], 1
cmp dword [rsp + 0x140], esi
jle 0x140102e30
mov rbx, qword [rsp + 0x48]
movsxd rax, esi
lea rbp, [rbx + rax*8]
mov rax, qword [rbp]
lea rdi, [rax + 0x6c]
cmp r12d, dword [rax + 0x40]
jge 0x140102e30
mov rcx, qword [rsp + 0x50]
mov r8, r13
mov rdx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140102e30
lea r15, [rdi + r13]
mov edx, 0x2f
mov rcx, r15
call sub.msvcrt.dll_strchr
mov rbx, rax
test rax, rax
jne 0x140102d40
add esi, 1
cmp dword [rsp + 0x140], esi
jg 0x140102dd5
nop dword [rax]
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [rax + 0x28]
mov rdi, qword [rax + 0x30]
test ecx, ecx
jle 0x14010351e
mov r14, qword [rsp + 0x58]
mov rbx, rdi
lea r13, [rdi + rcx*8]
xor ebp, ebp
jmp 0x140102e73
movsxd rax, ebp
add rbx, 8
add ebp, 1
mov qword [rdi + rax*8], rsi
cmp rbx, r13
je 0x140102e9d
mov rsi, qword [rbx]
mov r11d, dword [rsi + 0x10]
test r11d, r11d
jne 0x140102e60
mov rcx, rsi
add rbx, 8
call fcn.1401021d0
mov rcx, rsi
call fcn.1400eaf30
sub dword [r14 + 0x28], 1
cmp rbx, r13
jne 0x140102e73
mov rcx, qword [rsp + 0x68]
mov edx, 0x2000
call fcn.14008e880
mov edi, dword [rsp + 0x140]
test edi, edi
jle 0x140102fba
mov dword [rsp + 0x84], 0
xor r15d, r15d
nop dword [rax]
mov rdi, qword [rsp + 0x48]
movsxd rax, r15d
mov rsi, qword [rdi + rax*8]
mov ebp, dword [rsi + 0x40]
lea r13, [rsi + 0x6c]
cmp r12d, ebp
jge 0x140102fd0
mov rcx, qword [rsp + 0x50]
movsxd rbx, r12d
mov rdx, r13
mov r8, rbx
call sub.msvcrt.dll_memcmp
mov edi, eax
test eax, eax
jne 0x140102fd0
add rbx, r13
mov edx, 0x2f
mov rcx, rbx
call sub.msvcrt.dll_strchr
mov r8, rax
test rax, rax
je 0x1401030e0
mov r14, qword [rsp + 0x58]
sub r8, rbx
mov rdx, rbx
mov ebp, r8d
mov rcx, r14
call fcn.140102240
test eax, eax
jns 0x1401032e8
mov r9, r13
mov r8, rbx
lea rcx, str.cache_tree.c:__.s_in__s_not_found
mov edx, ebp
call fcn.1400b6950
nop word [rax + rax]
mov rax, qword [rsp + 0x58]
lea rdx, [rax + 4]
mov rax, qword [0x14022c970]
mov rcx, qword [rax]
call fcn.140034890
test eax, eax
mov rax, qword [rsp + 0x58]
jne 0x1401034e8
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jg 0x140102cda
mov eax, dword [rsp + 0x140]
test eax, eax
jg 0x140102d22
lea rax, [rsp + 0x90]
mov edx, 0x2000
mov rcx, rax
mov qword [rsp + 0x68], rax
call fcn.14008e880
mov dword [rsp + 0x84], 0
xor r15d, r15d
nop dword [rax + rax]
mov r9d, dword [rsp + 0x88]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
test r9d, r9d
jne 0x140103488
mov r8d, dword [rsp + 0x8c]
test r8d, r8d
jne 0x140103420
mov eax, dword [rsp + 0x160]
mov r8d, 2
mov qword [rsp + 0x20], 0
and eax, 8
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x58]
lea r9, [rax + 4]
call fcn.140031f30
test eax, eax
jne 0x140103558
mov rcx, qword [rsp + 0x68]
call fcn.14008e580
mov edx, dword [rsp + 0x84]
test edx, edx
jne 0x1401034d9
mov rsi, qword [rsp + 0x70]
mov eax, r15d
sub eax, dword [rsi]
mov rsi, qword [rsp + 0x58]
mov dword [rsi], eax
mov rsi, qword [0x14022c040]
mov rax, qword [rsp + 0xd8]
sub rax, qword [rsi]
jne 0x140103567
mov eax, r15d
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp dword [rbx + 0x40], r12d
jne 0x140102cbe
mov rdx, qword [rsp + 0x50]
lea rcx, [rbx + 0x6c]
movsxd r8, r12d
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x140102cbe
mov rsi, qword [rsp + 0x58]
mov r15d, 1
mov dword [rsi], 1
movdqu xmm2, xmmword [rbx + 0x48]
movups xmmword [rsi + 4], xmm2
movdqu xmm3, xmmword [rbx + 0x58]
movups xmmword [rsi + 0x14], xmm3
mov eax, dword [rbx + 0x68]
mov dword [rsi + 0x24], eax
jmp 0x14010305f
mov eax, dword [rsi + 0x34]
sub ebp, r12d
add r15d, 1
lea r14, [rsi + 0x48]
cmp eax, 0xe000
mov dword [rsp + 0x60], eax
sete al
test byte [rsp + 0x160], 1
jne 0x140103210
test al, al
jne 0x140103210
mov rax, qword [0x14022c970]
mov qword [rsp + 0x78], r8
mov rcx, qword [rax]
call fcn.14004cd30
mov r8, qword [rsp + 0x78]
test eax, eax
je 0x140103250
mov eax, dword [rsi + 0x38]
test eax, 0x40000000
je 0x140103250
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
xor rdx, qword [0x14020c180]
xor rcx, qword [0x14020c188]
or rdx, rcx
je 0x1401033d8
test eax, 0x20000
jne 0x14010323c
nop dword [rax + rax]
test r8, r8
je 0x140103338
mov rsi, qword [0x14022c970]
test edi, edi
je 0x1401031a9
mov rax, qword [rsi]
mov rdx, qword [r14 + 8]
mov rax, qword [rax + 0x170]
mov rcx, qword [rax + 0x50]
mov rax, qword [r14]
xor rdx, qword [rcx + 8]
xor rax, qword [rcx]
or rax, rdx
je 0x140103358
mov rdi, qword [rsp + 0x68]
lea edx, [rbp + 0x64]
movsxd rdx, edx
mov rcx, rdi
call fcn.14008e7e0
mov qword [rsp + 0x20], rbx
mov rcx, rdi
mov r9d, ebp
mov dword [rsp + 0x28], 0
mov r8d, dword [rsp + 0x60]
lea rdx, [0x14020bf82]
call fcn.14008fc00
mov rax, qword [rsi]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x170]
mov r8, qword [rax + 0x10]
call fcn.14008f5f0
cmp r15d, dword [rsp + 0x140]
jl 0x140102ed0
jmp 0x140102fd0
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
xor rax, qword [0x14020c180]
xor rdx, qword [0x14020c188]
or rax, rdx
je 0x1401032b0
mov eax, dword [rsi + 0x38]
test eax, 0x20000
je 0x140103170
mov rax, qword [rsp + 0x70]
add dword [rax], 1
jmp 0x1401031f9
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
xor rax, qword [0x14020c180]
xor rdx, qword [0x14020c188]
or rax, rdx
je 0x140103380
mov rax, qword [0x14022c970]
mov rdx, r14
mov qword [rsp + 0x78], r8
mov rcx, qword [rax]
call fcn.140034890
mov r8, qword [rsp + 0x78]
test eax, eax
jne 0x14010322e
mov rcx, qword [rsp + 0x68]
call fcn.14008e580
test edi, edi
je 0x140103458
mov r15d, 0xffffffff
jmp 0x14010305f
mov rax, qword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
xor rax, qword [0x14020c190]
xor rdx, qword [0x14020c198]
or rax, rdx
jne 0x14010322e
mov rcx, qword [rsp + 0x68]
call fcn.14008e580
test edi, edi
jne 0x1401032a0
jmp 0x140103458
mov rdx, qword [r14 + 0x30]
cdqe
mov r8, qword [rdx + rax*8]
test r8, r8
je 0x140102f43
mov rdx, qword [r8]
add r15d, dword [r8 + 8]
mov dword [rsp + 0x60], 0x4000
xor eax, eax
mov r10d, dword [rdx]
lea r14, [rdx + 4]
test r10d, r10d
jns 0x1401030fa
mov dword [rsp + 0x84], 1
mov edi, 1
jmp 0x1401030fa
test eax, 0x20000000
je 0x140103179
mov dword [rsp + 0x84], 1
jmp 0x1401031f9
mov rax, qword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
xor rax, qword [rcx + 0x10]
xor rdx, qword [rcx + 0x18]
or rax, rdx
jne 0x1401031a9
jmp 0x1401031f9
mov rax, qword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
xor rax, qword [0x14020c190]
xor rdx, qword [0x14020c198]
or rax, rdx
jne 0x14010326e
jmp 0x14010328e
mov ecx, 1
mov edx, 0x38
mov qword [rsp + 0x60], rax
call fcn.1400bd320
mov r10, qword [rsp + 0x60]
mov dword [rax], 0xffffffff
mov rcx, rax
mov qword [r10], rax
jmp 0x140102d68
mov rdx, qword [r14 + 0x10]
mov rcx, qword [r14 + 0x18]
xor rdx, qword [0x14020c190]
xor rcx, qword [0x14020c198]
or rdx, rcx
jne 0x14010315d
jmp 0x14010328e
mov rax, qword [rsp + 0x58]
mov ebp, dword [rax]
test ebp, ebp
jns 0x140102f60
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jg 0x140102cda
jmp 0x140102fa0
mov rax, qword [0x14022c970]
mov rsi, qword [rsp + 0x58]
mov r9d, 2
mov rax, qword [rax]
lea r8, [rsi + 4]
mov rax, qword [rax + 0x170]
mov qword [rsp + 0x20], r8
mov r8, rdx
mov rdx, rcx
mov rcx, rax
call fcn.140031a30
jmp 0x140103035
mov rcx, r14
add ebp, r12d
call fcn.140029ec0
mov qword [rsp + 0x20], r13
mov edx, dword [rsp + 0x60]
mov r9d, ebp
mov r8, rax
lea rcx, str.invalid_object__06o__s_for__.s
call fcn.1400b6bf0
jmp 0x1401032a0
mov rsi, qword [0x14022c970]
mov r8, rdx
mov rdx, rcx
lea rbx, [rsp + 0xb0]
mov r9d, 2
mov rax, qword [rsi]
mov rax, qword [rax + 0x170]
mov qword [rsp + 0x20], rbx
mov rcx, rax
call fcn.140031a30
mov rcx, qword [rsi]
mov r8d, 0x10
mov rdx, rbx
call fcn.140034860
test eax, eax
jne 0x1401034f0
mov rcx, qword [rsp + 0x68]
call fcn.14008e580
mov eax, 0xffffffff
jmp 0x140103058
mov r15d, dword [rax]
jmp 0x14010305f
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsp + 0xd0]
movdqu xmm0, xmmword [rsp + 0xb0]
movdqu xmm1, xmmword [rsp + 0xc0]
mov dword [rsi + 0x24], eax
movups xmmword [rsi + 4], xmm0
movups xmmword [rsi + 0x14], xmm1
jmp 0x140103035
mov rcx, qword [rsp + 0x68]
mov edx, 0x2000
call fcn.14008e880
jmp 0x140102ebb
mov r15d, eax
jmp 0x14010305f
lea rax, [rsp + 0x90]
mov qword [rsp + 0x68], rax
jmp 0x140102e45
lea rcx, str.index_cache_tree_records_empty_sub_tree
call fcn.1400b6950
mov rcx, qword [rsp + 0x68]
call fcn.14008e580
jmp 0x1401032a0
call fcn.1401d96b0
mov r8d, 0x10c
lea rdx, str.cache_tree.c
lea rcx, str.__dryrun__repair_
call qword [sym.imp.msvcrt.dll__assert]
nop
nop word [rax + rax]