Function at 0x100737f0
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.10174ed0
add esp, 0xc
test esi, esi
jne 0x10073834
push str.cannot_checkout_nothing
push 0x14
call fcn.10028740
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 0x10073841
cmp dword [ecx + 0x3c], 0
jne 0x10073867
test byte [esi + 0x60], 1
je 0x10073867
push str.checkout
push str.cannot__s._This_operation_is_not_allowed_against_bare_repositories.
push 6
call fcn.10028740
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 0x10073885
push 0x50
push ecx
lea eax, [edi + 0x10]
push eax
call fcn.10174ed0
mov dword [edi + 0xc], 1
jmp 0x100738b9
mov edx, dword [ecx]
lea eax, [edx - 1]
test eax, eax
je 0x100738ad
push str.git_checkout_options
push edx
push str.invalid_version__d_on__s
push 3
call fcn.10028740
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.10174950
mov ebx, dword [edi + 0x48]
add esp, 0xc
test ebx, ebx
jne 0x100738de
test byte [esi + 0x60], 1
je 0x100738d3
xor eax, eax
mov dword [edi + 0x48], eax
jmp 0x1007396e
mov eax, dword [esi + 0x44]
mov dword [edi + 0x48], eax
jmp 0x1007396e
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.10054c90
add esp, 8
test al, al
jne 0x1007392e
push ebx
push str.path_too_long:__s
push 0x1e
call fcn.10028740
add esp, 0xc
mov ecx, edi
or ebx, 0xffffffff
call fcn.10073610
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.10040850
test eax, eax
js 0x1007394e
mov eax, dword [esp + 0x26]
and eax, 0xf000
cmp eax, 0x4000
je 0x1007396e
mov edx, dword [edi + 0x48]
mov ecx, edi
push 0x40
push 0x1ed
push 0
call fcn.10071400
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x10073caa
mov edx, dword [edi]
lea ecx, [edi + 0x68]
call fcn.10008510
test eax, eax
js 0x10073ca7
mov eax, dword [edi + 0x68]
lock inc dword [eax]
test dword [edi + 0x10], 0x200
lea ebx, [edi + 0x10]
jne 0x10073a5e
mov edx, esi
lea ecx, [esp + 0xc]
call fcn.10007e00
mov ebx, eax
test ebx, ebx
js 0x10073caa
mov edx, dword [esp + 0x10]
lea ebx, [edi + 0x10]
mov ecx, dword [edi + 0x68]
cmp ecx, dword [edx + 0xc]
je 0x10073a5e
test byte [edi + 0x10], 2
je 0x100739c9
push 0
push ecx
jmp 0x10073a33
push ecx
call sym.user32.dll_git_index_has_conflicts
add esp, 4
test eax, eax
je 0x100739fa
push str.unresolved_conflicts_exist_in_the_index
push 0x14
mov ebx, 0xfffffff3
call fcn.10028740
add esp, 8
mov ecx, edi
call fcn.10073610
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x101ff2d1], 0
mov eax, dword [edi + 0x68]
je 0x10073a30
test byte [eax + 0x74], 0x10
je 0x10073a30
push str.the_index_has_unsaved_changes_that_would_be_overwritten_by_this_operation
push 0xa
call fcn.10028740
add esp, 8
mov ecx, edi
mov ebx, 0xffffffde
call fcn.10073610
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 0x10073caa
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 0x10073a6a
or ecx, 5
mov dword [ebx], ecx
mov eax, dword [edi + 0x68]
mov edx, ecx
test byte [eax + 0x74], 1
jne 0x10073a7f
test cl, 1
je 0x10073a7f
or edx, 4
mov dword [ebx], edx
cmp dword [edi + 0x18], 0
mov dword [edi + 0xd8], edx
jne 0x10073a92
mov dword [edi + 0x18], 0x1ed
cmp dword [edi + 0x20], 0
jne 0x10073a9f
mov dword [edi + 0x20], 0x301
lea ecx, [edi + 0x38]
call fcn.100a0560
push 2
lea ecx, [edi + 0xdc]
mov dword [edi + 0x64], eax
mov edx, esi
call fcn.10040f60
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10073caa
push 4
lea ecx, [edi + 0xe0]
mov edx, esi
call fcn.10040f60
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10073caa
cmp dword [edi + 0x40], 0
lea ecx, [edi + 0x40]
jne 0x10073b1b
cmp dword [edi + 0x44], 0
jne 0x10073b1b
mov eax, dword [edi + 0x68]
mov byte [edi + 0x60], 1
test byte [eax + 0x74], 1
je 0x10073b1b
mov edx, esi
call fcn.100722a0
mov ebx, eax
cmp ebx, 0xfffffff7
jne 0x10073b13
call sym.user32.dll_git_error_clear
jmp 0x10073b1b
test ebx, ebx
js 0x10073caa
test dword [edi + 0x10], 0x300000
jne 0x10073c87
mov edx, esi
mov dword [esp + 0xc], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.10007e00
test eax, eax
js 0x10073c6e
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xc]
push 0
push 1
push str.merge.conflictstyle
call fcn.1002c950
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x10073c6e
jne 0x10073cb1
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 0x10073ba2
test dl, dl
je 0x10073b9e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10073ba2
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073b82
xor eax, eax
jmp 0x10073ba7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073bb7
or dword [edi + 0x10], 0x100000
jmp 0x10073c72
mov ecx, str.diff3
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10073be0
test dl, dl
je 0x10073bdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10073be0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073bc0
xor eax, eax
jmp 0x10073be5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073bf5
or dword [edi + 0x10], 0x200000
jmp 0x10073c72
mov ecx, str.zdiff3
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10073c20
test dl, dl
je 0x10073c1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10073c20
add eax, 2
add ecx, 2
test dl, dl
jne 0x10073c00
xor eax, eax
jmp 0x10073c25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10073c32
or dword [edi + 0x10], 0x2000000
jmp 0x10073c72
push ebx
push str.unknown_style__s_given_for_merge.conflictstyle
push 0x14
call fcn.10028740
mov esi, dword [esp + 0x18]
add esp, 0xc
or ebx, 0xffffffff
test esi, esi
je 0x10073caa
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101a54ac]
call esi
add esp, 4
mov ecx, edi
call fcn.10073610
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0xc]
test esi, esi
je 0x10073c87
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101a54ac]
call esi
add esp, 4
lea ecx, [edi + 0x6c]
test ecx, ecx
jne 0x10073cba
push str.pool
push str.invalid_argument
push 0x101d76f8
push 3
call fcn.10028740
add esp, 0x10
or ebx, 0xffffffff
mov ecx, edi
call fcn.10073610
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 [0x101ff370]
mov dword [ecx + 8], eax
test ebx, ebx
jne 0x10073ce5
push 0x101dd3cc
jmp 0x10073c93
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], 0x1003f600
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 1
mov dword [ebx + 8], 0
mov esi, dword [fcn.1005ed10]
mov ecx, esi
push 8
push 0
call dword [0x101a54ac]
call esi
add esp, 0x14
test eax, eax
jne 0x10073d30
or ebx, 0xffffffff
jmp 0x10073d3b
mov dword [ebx], 8
mov dword [ebx + 8], eax
xor ebx, ebx
test ebx, ebx
js 0x10073caa
push 0
lea ecx, [edi + 0x8c]
xor edx, edx
call fcn.10038710
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10073caa
push 0
lea ecx, [edi + 0xa0]
xor edx, edx
call fcn.10038710
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10073caa
mov edx, dword [edi + 0x48]
test edx, edx
jne 0x10073d8c
push str.string
jmp 0x10073c93
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10073d91
sub ecx, ebx
push ecx
lea ecx, [edi + 0xbc]
call fcn.1002a0f0
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10073caa
lea ecx, [edi + 0xbc]
call fcn.10030210
mov ebx, eax
test ebx, ebx
js 0x10073caa
lea ecx, [edi + 0xfc]
call fcn.1008a530
mov ebx, eax
test ebx, ebx
js 0x10073caa
mov ecx, dword [edi]
mov eax, dword [edi + 0xc4]
mov dword [edi + 0xc8], eax
test ecx, ecx
jne 0x10073e11
push str.repo
push str.invalid_argument
push 0x101d76f8
push 3
call fcn.10028740
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