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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
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 + 0x20], ebx
call fcn.10178d50
add esp, 0xc
test esi, esi
jne 0x10075b14
push str.cannot_checkout_nothing
push 0x14
call fcn.1002a5a0
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 0x10075b4e
cmp dword [ecx + 0x3c], 0
je 0x10075b4e
mov dword [edi], esi
mov dword [edi + 4], ebx
mov edx, dword [ecx]
lea eax, [edx - 1]
test eax, eax
je 0x10075b86
push str.git_checkout_options
push edx
push str.invalid_version__d_on__s
push 3
call fcn.1002a5a0
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [esi + 0x60], 1
je 0x10075b74
push str.checkout
push str.cannot__s._This_operation_is_not_allowed_against_bare_repositories.
push 6
call fcn.1002a5a0
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 0x10075b26
mov dword [edi + 0xc], 1
jmp 0x10075b95
push 0x54
lea eax, [edi + 0xc]
push ecx
push eax
call fcn.101787d0
add esp, 0xc
mov ebx, dword [edi + 0x48]
test ebx, ebx
jne 0x10075bb7
test byte [esi + 0x60], 1
je 0x10075bac
xor eax, eax
mov dword [edi + 0x48], eax
jmp 0x10075c47
mov eax, dword [esi + 0x44]
mov dword [edi + 0x48], eax
jmp 0x10075c47
mov ecx, dword [edi]
lea edx, [esp + 0x1c]
push 0x200
push 0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xffffffff
call fcn.10057050
add esp, 8
test al, al
jne 0x10075c07
push ebx
push str.path_too_long:__s
push 0x1e
call fcn.1002a5a0
add esp, 0xc
mov ecx, edi
or ebx, 0xffffffff
call fcn.100758f0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x48]
lea edx, [esp + 0x28]
call fcn.10042670
test eax, eax
js 0x10075c27
mov eax, dword [esp + 0x2e]
and eax, 0xf000
cmp eax, 0x4000
je 0x10075c47
mov edx, dword [edi + 0x48]
mov ecx, edi
push 0x40
push 0x1ed
push 0
call fcn.100736d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x10075faa
mov edx, dword [edi]
lea ebx, [edi + 0x68]
mov ecx, ebx
call fcn.1000a410
test eax, eax
js 0x10075fa7
mov eax, dword [ebx]
lock inc dword [eax]
test dword [edi + 0x10], 0x200
lea eax, [edi + 0x10]
mov dword [esp + 0x10], eax
jne 0x10075d54
mov edx, esi
lea ecx, [esp + 0x18]
call fcn.10009d00
mov ebx, eax
test ebx, ebx
js 0x10075faa
mov ecx, dword [edi + 0x68]
lea ebx, [edi + 0x68]
mov dword [esp + 0x18], ebx
lea eax, [edi + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
cmp ecx, dword [ebx + 0xc]
je 0x10075d50
test byte [edi + 0x10], 2
je 0x10075cb2
push 0
push ecx
jmp 0x10075d1c
push ecx
call sym.user32.dll_git_index_has_conflicts
add esp, 4
test eax, eax
je 0x10075ce3
push str.unresolved_conflicts_exist_in_the_index
push 0x14
mov ebx, 0xfffffff3
call fcn.1002a5a0
add esp, 8
mov ecx, edi
call fcn.100758f0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x10204721], 0
mov eax, dword [edi + 0x68]
je 0x10075d19
test byte [eax + 0x74], 0x10
je 0x10075d19
push str.the_index_has_unsaved_changes_that_would_be_overwritten_by_this_operation
push 0xa
call fcn.1002a5a0
add esp, 8
mov ecx, edi
mov ebx, 0xffffffde
call fcn.100758f0
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 0x10075faa
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
lea eax, [edi + 0x10]
add esp, 4
mov dword [esp + 0x10], eax
lea ebx, [edi + 0x68]
jmp 0x10075d54
mov ebx, dword [esp + 0x18]
mov ecx, dword [eax]
test cl, 2
je 0x10075d60
or ecx, 5
mov dword [eax], ecx
mov eax, dword [ebx]
mov edx, ecx
test byte [eax + 0x74], 1
jne 0x10075d78
test cl, 1
je 0x10075d78
mov eax, dword [esp + 0x10]
or edx, 4
mov dword [eax], edx
cmp dword [edi + 0x18], 0
mov dword [edi + 0xd8], edx
jne 0x10075d8b
mov dword [edi + 0x18], 0x1ed
cmp dword [edi + 0x20], 0
jne 0x10075d98
mov dword [edi + 0x20], 0x301
lea ecx, [edi + 0x38]
call fcn.100a28f0
push 2
lea ecx, [edi + 0xdc]
mov dword [edi + 0x64], eax
mov edx, esi
call fcn.10042d80
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10075faa
push 4
lea ecx, [edi + 0xe0]
mov edx, esi
call fcn.10042d80
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10075faa
cmp dword [edi + 0x40], 0
lea ecx, [edi + 0x40]
jne 0x10075e14
cmp dword [edi + 0x44], 0
jne 0x10075e14
mov eax, dword [edi + 0x68]
mov byte [edi + 0x60], 1
test byte [eax + 0x74], 1
je 0x10075e14
mov edx, esi
call fcn.10074580
mov ebx, eax
cmp ebx, 0xfffffff7
jne 0x10075e0c
call sym.user32.dll_git_error_clear
jmp 0x10075e14
test ebx, ebx
js 0x10075faa
test dword [edi + 0x10], 0x300000
jne 0x10075f87
mov edx, esi
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.10009d00
test eax, eax
js 0x10075f6e
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 0
push 1
push str.merge.conflictstyle
call fcn.1002e7d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x10075f6e
jne 0x10075fb1
mov esi, dword [esp + 0x10]
mov ecx, str.merge
mov ebx, dword [esi + 4]
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10075ea0
test dl, dl
je 0x10075e9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10075ea0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10075e80
xor eax, eax
jmp 0x10075ea5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10075eb5
or dword [edi + 0x10], 0x100000
jmp 0x10075f72
mov ecx, str.diff3
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10075ee0
test dl, dl
je 0x10075edc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10075ee0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10075ec0
xor eax, eax
jmp 0x10075ee5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10075ef5
or dword [edi + 0x10], 0x200000
jmp 0x10075f72
mov ecx, str.zdiff3
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10075f20
test dl, dl
je 0x10075f1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10075f20
add eax, 2
add ecx, 2
test dl, dl
jne 0x10075f00
xor eax, eax
jmp 0x10075f25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10075f32
or dword [edi + 0x10], 0x2000000
jmp 0x10075f72
push ebx
push str.unknown_style__s_given_for_merge.conflictstyle
push 0x14
call fcn.1002a5a0
mov esi, dword [esp + 0x1c]
add esp, 0xc
or ebx, 0xffffffff
test esi, esi
je 0x10075faa
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101aa4d8]
call esi
add esp, 4
mov ecx, edi
call fcn.100758f0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10075f87
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101aa4d8]
call esi
add esp, 4
lea ecx, [edi + 0x6c]
test ecx, ecx
jne 0x10075fba
push str.pool
push str.invalid_argument
push 0x101dc9a8
push 3
call fcn.1002a5a0
add esp, 0x10
or ebx, 0xffffffff
mov ecx, edi
call fcn.100758f0
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 [0x102047c0]
mov dword [ecx + 8], eax
test ebx, ebx
jne 0x10075fe5
push 0x101e255c
jmp 0x10075f93
push 0x26
push str.C:UsersAdmin_vcpkg_buildtreeslibgit2_src_v1.4.2_3f39c3e750.clean_src_vector.c
push 4
mov dword [ebx], 0
mov dword [ebx + 4], 0x10041440
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 1
mov dword [ebx + 8], 0
mov esi, dword [fcn.10060f30]
mov ecx, esi
push 8
push 0
call dword [0x101aa4d8]
call esi
add esp, 0x14
test eax, eax
je 0x10075fa7
push 0
lea ecx, [edi + 0x8c]
mov dword [ebx], 8
xor edx, edx
mov dword [ebx + 8], eax
call fcn.1003a580
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10075faa
push 0
lea ecx, [edi + 0xa0]
xor edx, edx
call fcn.1003a580
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10075faa
mov edx, dword [edi + 0x48]
test edx, edx
jne 0x10076081
push str.string
jmp 0x10075f93
mov esi, edx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10076086
sub esi, ecx
lea ecx, [edi + 0xbc]
push esi
call fcn.1002bf10
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x10075faa
lea ecx, [edi + 0xbc]
call fcn.100320e0
mov ebx, eax
test ebx, ebx
js 0x10075faa
lea ecx, [edi + 0xfc]
call fcn.1008c5b0
mov ebx, eax
test ebx, ebx
js 0x10075faa
mov ecx, dword [edi]
mov eax, dword [edi + 0xc4]
mov dword [edi + 0xc8], eax
test ecx, ecx
jne 0x10076106
push str.repo
push str.invalid_argument
push 0x101dc9a8
push 3
call fcn.1002a5a0
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