Function at 0x10073380
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.10131ea0
add esp, 0xc
test esi, esi
jne 0x100733c4
push str.cannot_checkout_nothing
push 0x14
call fcn.10028290
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 0x100733d1
cmp dword [ecx + 0x3c], 0
jne 0x100733f7
test byte [esi + 0x60], 1
je 0x100733f7
push str.checkout
push str.cannot__s._This_operation_is_not_allowed_against_bare_repositories.
push 6
call fcn.10028290
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 0x10073415
push 0x50
push ecx
lea eax, [edi + 0x10]
push eax
call fcn.10131ea0
mov dword [edi + 0xc], 1
jmp 0x10073449
mov edx, dword [ecx]
lea eax, [edx - 1]
test eax, eax
je 0x1007343d
push str.git_checkout_options
push edx
push str.invalid_version__d_on__s
push 3
call fcn.10028290
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.10131920
mov ebx, dword [edi + 0x48]
add esp, 0xc
test ebx, ebx
jne 0x1007346e
test byte [esi + 0x60], 1
je 0x10073463
xor eax, eax
mov dword [edi + 0x48], eax
jmp 0x100734fe
mov eax, dword [esi + 0x44]
mov dword [edi + 0x48], eax
jmp 0x100734fe
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.10054800
add esp, 8
test al, al
jne 0x100734be
push ebx
push str.path_too_long:__s
push 0x1e
call fcn.10028290
add esp, 0xc
mov ecx, edi
or ebx, 0xffffffff
call fcn.100731a0
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.100403b0
test eax, eax
js 0x100734de
mov eax, dword [esp + 0x26]
and eax, 0xf000
cmp eax, 0x4000
je 0x100734fe
mov edx, dword [edi + 0x48]
mov ecx, edi
push 0x40
push 0x1ed
push 0
call fcn.10070f90
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x1007383a
mov edx, dword [edi]
lea ecx, [edi + 0x68]
call fcn.10008070
test eax, eax
js 0x10073837
mov eax, dword [edi + 0x68]
lock inc dword [eax]
test dword [edi + 0x10], 0x200
lea ebx, [edi + 0x10]
jne 0x100735ee
mov edx, esi
lea ecx, [esp + 0xc]
call fcn.10007960
mov ebx, eax
test ebx, ebx
js 0x1007383a
mov edx, dword [esp + 0x10]
lea ebx, [edi + 0x10]
mov ecx, dword [edi + 0x68]
cmp ecx, dword [edx + 0xc]
je 0x100735ee
test byte [edi + 0x10], 2
je 0x10073559
push 0
push ecx
jmp 0x100735c3
push ecx
call sym.user32.dll_git_index_has_conflicts
add esp, 4
test eax, eax
je 0x1007358a
push str.unresolved_conflicts_exist_in_the_index
push 0x14
mov ebx, 0xfffffff3
call fcn.10028290
add esp, 8
mov ecx, edi
call fcn.100731a0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x101adf71], 0
mov eax, dword [edi + 0x68]
je 0x100735c0
test byte [eax + 0x74], 0x10
je 0x100735c0
push str.the_index_has_unsaved_changes_that_would_be_overwritten_by_this_operation
push 0xa
call fcn.10028290
add esp, 8
mov ecx, edi
mov ebx, 0xffffffde
call fcn.100731a0
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 0x1007383a
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 0x100735fa
or ecx, 5
mov dword [ebx], ecx
mov eax, dword [edi + 0x68]
mov edx, ecx
test byte [eax + 0x74], 1
jne 0x1007360f
test cl, 1
je 0x1007360f
or edx, 4
mov dword [ebx], edx
cmp dword [edi + 0x18], 0
mov dword [edi + 0xd8], edx
jne 0x10073622
mov dword [edi + 0x18], 0x1ed
cmp dword [edi + 0x20], 0
jne 0x1007362f
mov dword [edi + 0x20], 0x301
lea ecx, [edi + 0x38]
call fcn.100a0160
push 2
lea ecx, [edi + 0xdc]
mov dword [edi + 0x64], eax
mov edx, esi
call fcn.10040ac0
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007383a
push 4
lea ecx, [edi + 0xe0]
mov edx, esi
call fcn.10040ac0
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007383a
cmp dword [edi + 0x40], 0
lea ecx, [edi + 0x40]
jne 0x100736ab
cmp dword [edi + 0x44], 0
jne 0x100736ab
mov eax, dword [edi + 0x68]
mov byte [edi + 0x60], 1
test byte [eax + 0x74], 1
je 0x100736ab
mov edx, esi
call fcn.10071e30
mov ebx, eax
cmp ebx, 0xfffffff7
jne 0x100736a3
call sym.user32.dll_git_error_clear
jmp 0x100736ab
test ebx, ebx
js 0x1007383a
test dword [edi + 0x10], 0x300000
jne 0x10073817
mov edx, esi
mov dword [esp + 0xc], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.10007960
test eax, eax
js 0x100737fe
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xc]
push 0
push 1
push str.merge.conflictstyle
call fcn.1002c4a0
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x100737fe
jne 0x10073841
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 0x10073732
test dl, dl
je 0x1007372e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10073732
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073712
xor eax, eax
jmp 0x10073737
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073747
or dword [edi + 0x10], 0x100000
jmp 0x10073802
mov ecx, str.diff3
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10073770
test dl, dl
je 0x1007376c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10073770
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073750
xor eax, eax
jmp 0x10073775
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073785
or dword [edi + 0x10], 0x200000
jmp 0x10073802
mov ecx, str.zdiff3
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100737b0
test dl, dl
je 0x100737ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100737b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073790
xor eax, eax
jmp 0x100737b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100737c2
or dword [edi + 0x10], 0x2000000
jmp 0x10073802
push ebx
push str.unknown_style__s_given_for_merge.conflictstyle
push 0x14
call fcn.10028290
mov esi, dword [esp + 0x18]
add esp, 0xc
or ebx, 0xffffffff
test esi, esi
je 0x1007383a
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x1015f3cc]
call esi
add esp, 4
mov ecx, edi
call fcn.100731a0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0xc]
test esi, esi
je 0x10073817
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x1015f3cc]
call esi
add esp, 4
lea ecx, [edi + 0x6c]
test ecx, ecx
jne 0x1007384a
push str.pool
push str.invalid_argument
push 0x10186758
push 3
call fcn.10028290
add esp, 0x10
or ebx, 0xffffffff
mov ecx, edi
call fcn.100731a0
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 [0x101ae010]
mov dword [ecx + 8], eax
test ebx, ebx
jne 0x10073875
push 0x1018c42c
jmp 0x10073823
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], 0x1003f160
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 [0x1015f3cc]
call esi
add esp, 0x14
test eax, eax
jne 0x100738c0
or ebx, 0xffffffff
jmp 0x100738cb
mov dword [ebx], 8
mov dword [ebx + 8], eax
xor ebx, ebx
test ebx, ebx
js 0x1007383a
push 0
lea ecx, [edi + 0x8c]
xor edx, edx
call fcn.10038260
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007383a
push 0
lea ecx, [edi + 0xa0]
xor edx, edx
call fcn.10038260
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007383a
mov edx, dword [edi + 0x48]
test edx, edx
jne 0x1007391c
push str.string
jmp 0x10073823
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10073921
sub ecx, ebx
push ecx
lea ecx, [edi + 0xbc]
call fcn.10029c40
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007383a
lea ecx, [edi + 0xbc]
call fcn.1002fd60
mov ebx, eax
test ebx, ebx
js 0x1007383a
lea ecx, [edi + 0xfc]
call fcn.1008a0f0
mov ebx, eax
test ebx, ebx
js 0x1007383a
mov ecx, dword [edi]
mov eax, dword [edi + 0xc4]
mov dword [edi + 0xc8], eax
test ecx, ecx
jne 0x100739a1
push str.repo
push str.invalid_argument
push 0x10186758
push 3
call fcn.10028290
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