Function at 0x140173730
Capabilities:
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, 0xc8
mov rbx, qword [0x14022c040]
lea r13, [rsp + 0x40]
mov r8, rcx
mov rdi, rcx
mov r14d, edx
mov rax, qword [rbx]
mov qword [rsp + 0xb8], rax
xor eax, eax
mov rax, qword [0x14022c910]
mov rcx, r13
lea rdx, str._s_pack_multi_pack_index
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0
call fcn.14008fc00
mov rcx, qword [rsp + 0x50]
xor edx, edx
call fcn.140031150
mov esi, eax
test eax, eax
js 0x140173bb0
lea rdx, [rsp + 0x60]
mov ecx, eax
call fcn.1400d97e0
test eax, eax
jne 0x140173c5e
mov r12, qword [rsp + 0x78]
test r12, r12
js 0x140173d39
mov rax, qword [0x14022c970]
mov rax, qword [rax]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x10]
add rax, 0xc
cmp r12, rax
jb 0x140173c18
mov rcx, r13
call fcn.14008e580
mov dword [rsp + 0x20], esi
mov rdx, r12
xor ecx, ecx
mov qword [rsp + 0x28], 0
mov r9d, 1
mov r8d, 1
call fcn.140030d40
mov ecx, esi
mov rbp, rax
call sub.msvcrt.dll__close
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov ecx, 1
lea rdx, [rax + 0xb1]
mov r15, rax
call fcn.1400bd320
mov rdx, rdi
mov r8, r15
mov rbx, rax
lea rcx, [rax + 0xb0]
call sub.msvcrt.dll_memcpy
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], r12
mov dword [rbx + 0x44], r14d
mov eax, dword [rbp]
mov edi, eax
bswap edi
mov dword [rbx + 0x30], edi
cmp eax, 0x5844494d
jne 0x140173ce1
movzx edi, byte [rbp + 4]
mov byte [rbx + 0x34], dil
cmp dil, 1
jne 0x140173d45
mov rax, qword [0x14022c970]
movzx edi, byte [rbp + 5]
mov rax, qword [rax]
mov rcx, qword [rax + 0x170]
call fcn.1401b9ad0
mov rdx, qword [0x14022c970]
mov rdx, qword [rdx]
mov rcx, qword [rdx + 0x170]
cmp dil, al
jne 0x140173b38
mov rax, qword [rcx + 0x10]
xor ecx, ecx
mov byte [rbx + 0x35], al
mov rax, qword [rbx + 8]
movzx edx, byte [rax + 6]
mov byte [rbx + 0x36], dl
mov eax, dword [rax + 8]
mov dword [rbx + 0x40], 0xffffffff
bswap eax
mov dword [rbx + 0x38], eax
call fcn.1401b94a0
mov rdx, qword [rbx + 8]
mov dword [rsp + 0x28], 4
mov r8, r12
mov rdi, rax
mov qword [rsp + 0x38], rax
movzx eax, byte [rbx + 0x36]
mov r9d, 0xc
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1401b97a0
test eax, eax
jne 0x140173b74
lea r9, [rbx + 0x50]
lea r8, [rbx + 0x48]
mov edx, 0x504e414d
mov rcx, rdi
call fcn.1401b9a20
test eax, eax
jne 0x140173cfd
mov rcx, qword [rsp + 0x38]
mov r9, rbx
mov edx, 0x4f494446
lea r8, [0x1401735b0]
call fcn.1401b9a70
test eax, eax
jne 0x140173d11
mov rcx, qword [rsp + 0x38]
mov r9, rbx
mov edx, 0x4f49444c
lea r8, [0x140173540]
call fcn.1401b9a70
test eax, eax
jne 0x140173d25
mov rcx, qword [rsp + 0x38]
mov r9, rbx
mov edx, 0x4f4f4646
lea r8, [0x1401734d0]
call fcn.1401b9a70
test eax, eax
jne 0x140173d5d
mov rcx, qword [rsp + 0x38]
mov edx, 0x4c4f4646
lea r9, [rbx + 0x88]
lea r8, [rbx + 0x80]
call fcn.1401b9a20
mov edx, 1
lea rcx, str.GIT_TEST_MIDX_READ_BTMP
call fcn.1400414b0
test eax, eax
jne 0x140173bf8
mov edx, 1
lea rcx, str.GIT_TEST_MIDX_READ_RIDX
call fcn.1400414b0
test eax, eax
jne 0x140173bd0
mov ecx, dword [rbx + 0x38]
mov edx, 8
call fcn.1400bd320
mov ecx, dword [rbx + 0x38]
mov edx, 8
mov qword [rbx + 0xa0], rax
call fcn.1400bd320
mov edi, dword [rbx + 0x38]
mov rbp, qword [rbx + 0x48]
mov qword [rbx + 0xa8], rax
test edi, edi
je 0x140173c8d
mov rax, qword [rbx + 0x50]
mov rsi, qword [rbx + 0xa0]
mov r15, rbp
xor r14d, r14d
mov qword [rsp + 0x30], rax
jmp 0x140173a3b
mov r15, r12
mov r8, qword [rsp + 0x30]
mov rax, r15
mov qword [rsi + r14*8], r15
xor edx, edx
sub rax, rbp
mov rcx, r15
sub r8, rax
call sub.msvcrt.dll_memchr
test rax, rax
je 0x140173c94
lea r12, [rax + 1]
test r14, r14
je 0x140173a84
lea eax, [r14 - 1]
mov rcx, r15
mov r13, qword [rsi + rax*8]
mov rdx, r13
call sub.msvcrt.dll_strcmp
test eax, eax
jle 0x140173cb5
add r14, 1
cmp r14, rdi
jne 0x140173a38
mov rax, r14
mov rsi, qword [0x14022c970]
lea r8, [0x14021b47c]
mov edx, 0xd0
mov r9, qword [rsi]
mov qword [rsp + 0x28], rax
lea rax, str.load_num_packs
lea rsi, str.midx.c
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1400a18d0
mov rax, qword [0x14022c970]
mov rcx, rsi
lea r8, [0x14021b47c]
mov edx, 0xd1
mov r9, qword [rax]
mov eax, dword [rbx + 0x3c]
mov qword [rsp + 0x28], rax
lea rax, str.load_num_objects
mov qword [rsp + 0x20], rax
call fcn.1400a18d0
mov rcx, qword [rsp + 0x38]
call fcn.1401b94c0
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0xb8]
sub rax, qword [rdi]
jne 0x140173cdc
mov rax, rbx
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1401b9ad0
lea rcx, str.multi_pack_index_hash_version__u_does_not_match_version__u
movzx r14d, al
mov rax, qword [str.PF__]
mov r8d, dword [rax]
test r8d, r8d
je 0x140173b5f
call fcn.1401d81b8
mov rcx, rax
movzx edx, dil
mov r8d, r14d
call fcn.1400b6bf0
mov qword [rsp + 0x38], 0
mov rcx, rbx
call fcn.1400eaf30
mov rcx, r13
call fcn.14008e580
mov rcx, qword [rsp + 0x38]
call fcn.1401b94c0
mov rdx, r12
mov rcx, rbp
call fcn.1400de620
mov ecx, esi
xor ebx, ebx
call sub.msvcrt.dll__close
jmp 0x140173b02
xor ecx, ecx
xor ebx, ebx
call fcn.1400eaf30
mov rcx, r13
call fcn.14008e580
xor ecx, ecx
call fcn.1401b94c0
jmp 0x140173b02
mov rcx, qword [rsp + 0x38]
lea r9, [rbx + 0x98]
mov edx, 0x52494458
lea r8, [rbx + 0x90]
call fcn.1401b9a20
jmp 0x1401739e5
mov rcx, qword [rsp + 0x38]
lea r9, [rbx + 0x60]
lea r8, [rbx + 0x58]
mov edx, 0x42544d50
call fcn.1401b9a20
jmp 0x1401739cc
mov rax, qword [str.PF__]
mov rbx, qword [rsp + 0x50]
lea rcx, str.multi_pack_index_file__s_is_too_small
mov r9d, dword [rax]
test r9d, r9d
je 0x140173c3b
call fcn.1401d81b8
mov rcx, rax
mov rdx, rbx
call fcn.1400b6bf0
xor ecx, ecx
call fcn.1400eaf30
mov rcx, r13
call fcn.14008e580
xor ecx, ecx
call fcn.1401b94c0
jmp 0x140173b99
mov rax, qword [str.PF__]
mov rbx, qword [rsp + 0x50]
lea rcx, [0x14021b1cb]
mov r10d, dword [rax]
test r10d, r10d
jne 0x140173c83
mov rdx, rbx
call fcn.1400b6b60
jmp 0x140173c43
call fcn.1401d81b8
mov rcx, rax
jmp 0x140173c79
xor eax, eax
jmp 0x140173a90
mov rax, qword [str.PF__]
lea rcx, str.multi_pack_index_pack_name_chunk_is_too_short
mov edx, dword [rax]
test edx, edx
je 0x140173cb0
call fcn.1401d81b8
mov rcx, rax
call fcn.1400b6950
mov rax, qword [str.PF__]
lea rcx, str.multi_pack_index_pack_names_out_of_order:__s_before__s
mov eax, dword [rax]
test eax, eax
je 0x140173cd1
call fcn.1401d81b8
mov rcx, rax
mov r8, r15
mov rdx, r13
call fcn.1400b6950
call fcn.1401d96b0
lea rcx, str.multi_pack_index_signature_0x_08x_does_not_match_signature_0x_08x
call fcn.140173360
mov r8d, 0x4d494458
mov edx, edi
mov rcx, rax
call fcn.1400b6950
lea rcx, str.multi_pack_index_required_pack_name_chunk_missing_or_corrupted
call fcn.140173360
mov rcx, rax
call fcn.1400b6950
lea rcx, str.multi_pack_index_required_OID_fanout_chunk_missing_or_corrupted
call fcn.140173360
mov rcx, rax
call fcn.1400b6950
lea rcx, str.multi_pack_index_required_OID_lookup_chunk_missing_or_corrupted
call fcn.140173360
mov rcx, rax
call fcn.1400b6950
lea rcx, [0x14021b2b3]
call fcn.1400b6950
lea rcx, str.multi_pack_index_version__d_not_recognized
call fcn.140173360
movzx edx, dil
mov rcx, rax
call fcn.1400b6950
lea rcx, str.multi_pack_index_required_object_offsets_chunk_missing_or_corrupted
call fcn.140173360
mov rcx, rax
call fcn.1400b6950
nop
nop word cs:[rax + rax]
nop dword [rax]