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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
push ebx
push esi
push edi
mov ebx, edx
mov edi, ecx
push 0x120
push 0
push edi
mov esi, dword [ebx + 8]
mov dword [esp + 0x1c], ebx
call fcn.100f6940
add esp, 0xc
test esi, esi
jne 0x10073344
push str.cannot_checkout_nothing
push 0x14
call fcn.10028220
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10073351
cmp dword [ecx + 0x3c], 0
jne 0x10073377
test byte [esi + 0x60], 1
je 0x10073377
push str.checkout
push str.cannot__s._This_operation_is_not_allowed_against_bare_repositories.
push 6
call fcn.10028220
add esp, 0xc
mov eax, 0xfffffff8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi], esi
mov dword [edi + 4], ebx
test ecx, ecx
jne 0x10073395
push 0x50
push ecx
lea eax, [edi + 0x10]
push eax
call fcn.100f6940
mov dword [edi + 0xc], 1
jmp 0x100733c9
mov edx, dword [ecx]
lea eax, [edx - 1]
test eax, eax
je 0x100733bd
push str.git_checkout_options
push edx
push str.invalid_version__d_on__s
push 3
call fcn.10028220
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x54
lea eax, [edi + 0xc]
push ecx
push eax
call fcn.100f63c0
mov ebx, dword [edi + 0x48]
add esp, 0xc
test ebx, ebx
jne 0x100733ee
test byte [esi + 0x60], 1
je 0x100733e3
xor eax, eax
mov dword [edi + 0x48], eax
jmp 0x1007347e
mov eax, dword [esi + 0x44]
mov dword [edi + 0x48], eax
jmp 0x1007347e
mov ecx, dword [edi]
lea edx, [esp + 0x14]
push 0x200
push 0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xffffffff
call fcn.100547a0
add esp, 8
test al, al
jne 0x1007343e
push ebx
push str.path_too_long:__s
push 0x1e
call fcn.10028220
add esp, 0xc
mov ecx, edi
or ebx, 0xffffffff
call fcn.10073120
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x48]
lea edx, [esp + 0x20]
call fcn.10040360
test eax, eax
js 0x1007345e
mov eax, dword [esp + 0x26]
and eax, 0xf000
cmp eax, 0x4000
je 0x1007347e
mov edx, dword [edi + 0x48]
mov ecx, edi
push 0x40
push 0x1ed
push 0
call fcn.10070f10
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x100737ba
mov edx, dword [edi]
lea ecx, [edi + 0x68]
call fcn.10007fd0
test eax, eax
js 0x100737b7
mov eax, dword [edi + 0x68]
lock inc dword [eax]
test dword [edi + 0x10], 0x200
lea ebx, [edi + 0x10]
jne 0x1007356e
mov edx, esi
lea ecx, [esp + 0xc]
call fcn.100078b0
mov ebx, eax
test ebx, ebx
js 0x100737ba
mov edx, dword [esp + 0x10]
lea ebx, [edi + 0x10]
mov ecx, dword [edi + 0x68]
cmp ecx, dword [edx + 0xc]
je 0x1007356e
test byte [edi + 0x10], 2
je 0x100734d9
push 0
push ecx
jmp 0x10073543
push ecx
call sym.user32.dll_git_index_has_conflicts
add esp, 4
test eax, eax
je 0x1007350a
push str.unresolved_conflicts_exist_in_the_index
push 0x14
mov ebx, 0xfffffff3
call fcn.10028220
add esp, 8
mov ecx, edi
call fcn.10073120
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x1015bbf1], 0
mov eax, dword [edi + 0x68]
je 0x10073540
test byte [eax + 0x74], 0x10
je 0x10073540
push str.the_index_has_unsaved_changes_that_would_be_overwritten_by_this_operation
push 0xa
call fcn.10028220
add esp, 8
mov ecx, edi
mov ebx, 0xffffffde
call fcn.10073120
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push eax
call sym.user32.dll_git_index_read
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100737ba
push dword [edi + 0x68]
call sym.user32.dll_git_index_name_clear
add esp, 4
push dword [edi + 0x68]
call sym.user32.dll_git_index_reuc_clear
add esp, 4
lea ebx, [edi + 0x10]
mov ecx, dword [ebx]
test cl, 2
je 0x1007357a
or ecx, 5
mov dword [ebx], ecx
mov eax, dword [edi + 0x68]
mov edx, ecx
test byte [eax + 0x74], 1
jne 0x1007358f
test cl, 1
je 0x1007358f
or edx, 4
mov dword [ebx], edx
cmp dword [edi + 0x18], 0
mov dword [edi + 0xd8], edx
jne 0x100735a2
mov dword [edi + 0x18], 0x1ed
cmp dword [edi + 0x20], 0
jne 0x100735af
mov dword [edi + 0x20], 0x301
lea ecx, [edi + 0x38]
call fcn.100a0080
push 2
lea ecx, [edi + 0xdc]
mov dword [edi + 0x64], eax
mov edx, esi
call fcn.10040a70
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x100737ba
push 4
lea ecx, [edi + 0xe0]
mov edx, esi
call fcn.10040a70
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x100737ba
cmp dword [edi + 0x40], 0
lea ecx, [edi + 0x40]
jne 0x1007362b
cmp dword [edi + 0x44], 0
jne 0x1007362b
mov eax, dword [edi + 0x68]
mov byte [edi + 0x60], 1
test byte [eax + 0x74], 1
je 0x1007362b
mov edx, esi
call fcn.10071db0
mov ebx, eax
cmp ebx, 0xfffffff7
jne 0x10073623
call sym.user32.dll_git_error_clear
jmp 0x1007362b
test ebx, ebx
js 0x100737ba
test dword [edi + 0x10], 0x300000
jne 0x10073797
mov edx, esi
mov dword [esp + 0xc], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.100078b0
test eax, eax
js 0x1007377e
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xc]
push 0
push 1
push str.merge.conflictstyle
call fcn.1002c440
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x1007377e
jne 0x100737c1
mov esi, dword [esp + 0xc]
mov ecx, str.merge
mov ebx, dword [esi + 4]
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100736b2
test dl, dl
je 0x100736ae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100736b2
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073692
xor eax, eax
jmp 0x100736b7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100736c7
or dword [edi + 0x10], 0x100000
jmp 0x10073782
mov ecx, str.diff3
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100736f0
test dl, dl
je 0x100736ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100736f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100736d0
xor eax, eax
jmp 0x100736f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073705
or dword [edi + 0x10], 0x200000
jmp 0x10073782
mov ecx, str.zdiff3
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10073730
test dl, dl
je 0x1007372c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10073730
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073710
xor eax, eax
jmp 0x10073735
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073742
or dword [edi + 0x10], 0x2000000
jmp 0x10073782
push ebx
push str.unknown_style__s_given_for_merge.conflictstyle
push 0x14
call fcn.10028220
mov esi, dword [esp + 0x18]
add esp, 0xc
or ebx, 0xffffffff
test esi, esi
je 0x100737ba
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101182fc]
call esi
add esp, 4
mov ecx, edi
call fcn.10073120
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0xc]
test esi, esi
je 0x10073797
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101182fc]
call esi
add esp, 4
lea ecx, [edi + 0x6c]
test ecx, ecx
jne 0x100737ca
push str.pool
push str.invalid_argument
push 0x1013b1d8
push 3
call fcn.10028220
add esp, 0x10
or ebx, 0xffffffff
mov ecx, edi
call fcn.10073120
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
lea ebx, [edi + 0x78]
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 1
mov eax, dword [0x1015bc90]
mov dword [ecx + 8], eax
test ebx, ebx
jne 0x100737f5
push 0x10140eac
jmp 0x100737a3
push 0x26
push str.D:DevelopmentMillennium_vendor_vcpkg_buildtreeslibgit2_src_v1.4.2_3f39c3e750.clean_src_vector.c
push 4
mov dword [ebx], 0
mov dword [ebx + 4], 0x1003f110
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 1
mov dword [ebx + 8], 0
mov esi, dword [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_52]
mov ecx, esi
push 8
push 0
call dword [0x101182fc]
call esi
add esp, 0x14
test eax, eax
jne 0x10073840
or ebx, 0xffffffff
jmp 0x1007384b
mov dword [ebx], 8
mov dword [ebx + 8], eax
xor ebx, ebx
test ebx, ebx
js 0x100737ba
push 0
lea ecx, [edi + 0x8c]
xor edx, edx
call fcn.10038220
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x100737ba
push 0
lea ecx, [edi + 0xa0]
xor edx, edx
call fcn.10038220
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x100737ba
mov edx, dword [edi + 0x48]
test edx, edx
jne 0x1007389c
push str.string
jmp 0x100737a3
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100738a1
sub ecx, ebx
push ecx
lea ecx, [edi + 0xbc]
call fcn.10029bd0
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x100737ba
lea ecx, [edi + 0xbc]
call fcn.1002fd00
mov ebx, eax
test ebx, ebx
js 0x100737ba
lea ecx, [edi + 0xfc]
call fcn.1008a040
mov ebx, eax
test ebx, ebx
js 0x100737ba
mov ecx, dword [edi]
mov eax, dword [edi + 0xc4]
mov dword [edi + 0xc8], eax
test ecx, ecx
jne 0x10073921
push str.repo
push str.invalid_argument
push 0x1013b1d8
push 3
call fcn.10028220
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
mov eax, 1
movups xmmword [edi + 0x100], xmm0
movups xmmword [edi + 0x110], xmm0
lock xadd dword [ecx + 0x68], eax
inc eax
mov dword [edi + 0x100], eax
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret