Function at 0x10073290
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.100f6510
add esp, 0xc
test esi, esi
jne 0x100732d4
push str.cannot_checkout_nothing
push 0x14
call fcn.10028180
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 0x100732e1
cmp dword [ecx + 0x3c], 0
jne 0x10073307
test byte [esi + 0x60], 1
je 0x10073307
push str.checkout
push str.cannot__s._This_operation_is_not_allowed_against_bare_repositories.
push 6
call fcn.10028180
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 0x10073325
push 0x50
push ecx
lea eax, [edi + 0x10]
push eax
call fcn.100f6510
mov dword [edi + 0xc], 1
jmp 0x10073359
mov edx, dword [ecx]
lea eax, [edx - 1]
test eax, eax
je 0x1007334d
push str.git_checkout_options
push edx
push str.invalid_version__d_on__s
push 3
call fcn.10028180
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.100f5f90
mov ebx, dword [edi + 0x48]
add esp, 0xc
test ebx, ebx
jne 0x1007337e
test byte [esi + 0x60], 1
je 0x10073373
xor eax, eax
mov dword [edi + 0x48], eax
jmp 0x1007340e
mov eax, dword [esi + 0x44]
mov dword [edi + 0x48], eax
jmp 0x1007340e
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.10054720
add esp, 8
test al, al
jne 0x100733ce
push ebx
push str.path_too_long:__s
push 0x1e
call fcn.10028180
add esp, 0xc
mov ecx, edi
or ebx, 0xffffffff
call fcn.100730b0
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.100402b0
test eax, eax
js 0x100733ee
mov eax, dword [esp + 0x26]
and eax, 0xf000
cmp eax, 0x4000
je 0x1007340e
mov edx, dword [edi + 0x48]
mov ecx, edi
push 0x40
push 0x1ed
push 0
call fcn.10070ea0
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x1007374a
mov edx, dword [edi]
lea ecx, [edi + 0x68]
call fcn.10007f30
test eax, eax
js 0x10073747
mov eax, dword [edi + 0x68]
lock inc dword [eax]
test dword [edi + 0x10], 0x200
lea ebx, [edi + 0x10]
jne 0x100734fe
mov edx, esi
lea ecx, [esp + 0xc]
call fcn.10007820
mov ebx, eax
test ebx, ebx
js 0x1007374a
mov edx, dword [esp + 0x10]
lea ebx, [edi + 0x10]
mov ecx, dword [edi + 0x68]
cmp ecx, dword [edx + 0xc]
je 0x100734fe
test byte [edi + 0x10], 2
je 0x10073469
push 0
push ecx
jmp 0x100734d3
push ecx
call sym.user32.dll_git_index_has_conflicts
add esp, 4
test eax, eax
je 0x1007349a
push str.unresolved_conflicts_exist_in_the_index
push 0x14
mov ebx, 0xfffffff3
call fcn.10028180
add esp, 8
mov ecx, edi
call fcn.100730b0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x1015bb41], 0
mov eax, dword [edi + 0x68]
je 0x100734d0
test byte [eax + 0x74], 0x10
je 0x100734d0
push str.the_index_has_unsaved_changes_that_would_be_overwritten_by_this_operation
push 0xa
call fcn.10028180
add esp, 8
mov ecx, edi
mov ebx, 0xffffffde
call fcn.100730b0
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 0x1007374a
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 0x1007350a
or ecx, 5
mov dword [ebx], ecx
mov eax, dword [edi + 0x68]
mov edx, ecx
test byte [eax + 0x74], 1
jne 0x1007351f
test cl, 1
je 0x1007351f
or edx, 4
mov dword [ebx], edx
cmp dword [edi + 0x18], 0
mov dword [edi + 0xd8], edx
jne 0x10073532
mov dword [edi + 0x18], 0x1ed
cmp dword [edi + 0x20], 0
jne 0x1007353f
mov dword [edi + 0x20], 0x301
lea ecx, [edi + 0x38]
call fcn.100a0040
push 2
lea ecx, [edi + 0xdc]
mov dword [edi + 0x64], eax
mov edx, esi
call fcn.100409c0
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007374a
push 4
lea ecx, [edi + 0xe0]
mov edx, esi
call fcn.100409c0
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007374a
cmp dword [edi + 0x40], 0
lea ecx, [edi + 0x40]
jne 0x100735bb
cmp dword [edi + 0x44], 0
jne 0x100735bb
mov eax, dword [edi + 0x68]
mov byte [edi + 0x60], 1
test byte [eax + 0x74], 1
je 0x100735bb
mov edx, esi
call fcn.10071d40
mov ebx, eax
cmp ebx, 0xfffffff7
jne 0x100735b3
call sym.user32.dll_git_error_clear
jmp 0x100735bb
test ebx, ebx
js 0x1007374a
test dword [edi + 0x10], 0x300000
jne 0x10073727
mov edx, esi
mov dword [esp + 0xc], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.10007820
test eax, eax
js 0x1007370e
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xc]
push 0
push 1
push str.merge.conflictstyle
call fcn.1002c3a0
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x1007370e
jne 0x10073751
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 0x10073642
test dl, dl
je 0x1007363e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10073642
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073622
xor eax, eax
jmp 0x10073647
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073657
or dword [edi + 0x10], 0x100000
jmp 0x10073712
mov ecx, str.diff3
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10073680
test dl, dl
je 0x1007367c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10073680
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073660
xor eax, eax
jmp 0x10073685
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073695
or dword [edi + 0x10], 0x200000
jmp 0x10073712
mov ecx, str.zdiff3
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100736c0
test dl, dl
je 0x100736bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100736c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100736a0
xor eax, eax
jmp 0x100736c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100736d2
or dword [edi + 0x10], 0x2000000
jmp 0x10073712
push ebx
push str.unknown_style__s_given_for_merge.conflictstyle
push 0x14
call fcn.10028180
mov esi, dword [esp + 0x18]
add esp, 0xc
or ebx, 0xffffffff
test esi, esi
je 0x1007374a
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101182f8]
call esi
add esp, 4
mov ecx, edi
call fcn.100730b0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0xc]
test esi, esi
je 0x10073727
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101182f8]
call esi
add esp, 4
lea ecx, [edi + 0x6c]
test ecx, ecx
jne 0x1007375a
push str.pool
push str.invalid_argument
push 0x1013afe8
push 3
call fcn.10028180
add esp, 0x10
or ebx, 0xffffffff
mov ecx, edi
call fcn.100730b0
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 [0x1015bbe0]
mov dword [ecx + 8], eax
test ebx, ebx
jne 0x10073785
push 0x10140cbc
jmp 0x10073733
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], 0x1003f060
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 [0x101182f8]
call esi
add esp, 0x14
test eax, eax
jne 0x100737d0
or ebx, 0xffffffff
jmp 0x100737db
mov dword [ebx], 8
mov dword [ebx + 8], eax
xor ebx, ebx
test ebx, ebx
js 0x1007374a
push 0
lea ecx, [edi + 0x8c]
xor edx, edx
call fcn.10038170
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007374a
push 0
lea ecx, [edi + 0xa0]
xor edx, edx
call fcn.10038170
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007374a
mov edx, dword [edi + 0x48]
test edx, edx
jne 0x1007382c
push str.string
jmp 0x10073733
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10073831
sub ecx, ebx
push ecx
lea ecx, [edi + 0xbc]
call fcn.10029b30
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007374a
lea ecx, [edi + 0xbc]
call fcn.1002fc60
mov ebx, eax
test ebx, ebx
js 0x1007374a
lea ecx, [edi + 0xfc]
call fcn.10089fd0
mov ebx, eax
test ebx, ebx
js 0x1007374a
mov ecx, dword [edi]
mov eax, dword [edi + 0xc4]
mov dword [edi + 0xc8], eax
test ecx, ecx
jne 0x100738b1
push str.repo
push str.invalid_argument
push 0x1013afe8
push 3
call fcn.10028180
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