Function at 0x10073f50
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.10175310
add esp, 0xc
test esi, esi
jne 0x10073f94
push str.cannot_checkout_nothing
push 0x14
call fcn.10028e40
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 0x10073fa1
cmp dword [ecx + 0x3c], 0
jne 0x10073fc7
test byte [esi + 0x60], 1
je 0x10073fc7
push str.checkout
push str.cannot__s._This_operation_is_not_allowed_against_bare_repositories.
push 6
call fcn.10028e40
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 0x10073fe5
push 0x50
push ecx
lea eax, [edi + 0x10]
push eax
call fcn.10175310
mov dword [edi + 0xc], 1
jmp 0x10074019
mov edx, dword [ecx]
lea eax, [edx - 1]
test eax, eax
je 0x1007400d
push str.git_checkout_options
push edx
push str.invalid_version__d_on__s
push 3
call fcn.10028e40
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.10174d90
mov ebx, dword [edi + 0x48]
add esp, 0xc
test ebx, ebx
jne 0x1007403e
test byte [esi + 0x60], 1
je 0x10074033
xor eax, eax
mov dword [edi + 0x48], eax
jmp 0x100740ce
mov eax, dword [esi + 0x44]
mov dword [edi + 0x48], eax
jmp 0x100740ce
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.100553d0
add esp, 8
test al, al
jne 0x1007408e
push ebx
push str.path_too_long:__s
push 0x1e
call fcn.10028e40
add esp, 0xc
mov ecx, edi
or ebx, 0xffffffff
call fcn.10073d70
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.10040f60
test eax, eax
js 0x100740ae
mov eax, dword [esp + 0x26]
and eax, 0xf000
cmp eax, 0x4000
je 0x100740ce
mov edx, dword [edi + 0x48]
mov ecx, edi
push 0x40
push 0x1ed
push 0
call fcn.10071b60
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x1007440a
mov edx, dword [edi]
lea ecx, [edi + 0x68]
call fcn.10008c10
test eax, eax
js 0x10074407
mov eax, dword [edi + 0x68]
lock inc dword [eax]
test dword [edi + 0x10], 0x200
lea ebx, [edi + 0x10]
jne 0x100741be
mov edx, esi
lea ecx, [esp + 0xc]
call fcn.10008500
mov ebx, eax
test ebx, ebx
js 0x1007440a
mov edx, dword [esp + 0x10]
lea ebx, [edi + 0x10]
mov ecx, dword [edi + 0x68]
cmp ecx, dword [edx + 0xc]
je 0x100741be
test byte [edi + 0x10], 2
je 0x10074129
push 0
push ecx
jmp 0x10074193
push ecx
call sym.user32.dll_git_index_has_conflicts
add esp, 4
test eax, eax
je 0x1007415a
push str.unresolved_conflicts_exist_in_the_index
push 0x14
mov ebx, 0xfffffff3
call fcn.10028e40
add esp, 8
mov ecx, edi
call fcn.10073d70
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x10200351], 0
mov eax, dword [edi + 0x68]
je 0x10074190
test byte [eax + 0x74], 0x10
je 0x10074190
push str.the_index_has_unsaved_changes_that_would_be_overwritten_by_this_operation
push 0xa
call fcn.10028e40
add esp, 8
mov ecx, edi
mov ebx, 0xffffffde
call fcn.10073d70
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 0x1007440a
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 0x100741ca
or ecx, 5
mov dword [ebx], ecx
mov eax, dword [edi + 0x68]
mov edx, ecx
test byte [eax + 0x74], 1
jne 0x100741df
test cl, 1
je 0x100741df
or edx, 4
mov dword [ebx], edx
cmp dword [edi + 0x18], 0
mov dword [edi + 0xd8], edx
jne 0x100741f2
mov dword [edi + 0x18], 0x1ed
cmp dword [edi + 0x20], 0
jne 0x100741ff
mov dword [edi + 0x20], 0x301
lea ecx, [edi + 0x38]
call fcn.100a0cd0
push 2
lea ecx, [edi + 0xdc]
mov dword [edi + 0x64], eax
mov edx, esi
call fcn.10041670
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007440a
push 4
lea ecx, [edi + 0xe0]
mov edx, esi
call fcn.10041670
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007440a
cmp dword [edi + 0x40], 0
lea ecx, [edi + 0x40]
jne 0x1007427b
cmp dword [edi + 0x44], 0
jne 0x1007427b
mov eax, dword [edi + 0x68]
mov byte [edi + 0x60], 1
test byte [eax + 0x74], 1
je 0x1007427b
mov edx, esi
call fcn.10072a00
mov ebx, eax
cmp ebx, 0xfffffff7
jne 0x10074273
call sym.user32.dll_git_error_clear
jmp 0x1007427b
test ebx, ebx
js 0x1007440a
test dword [edi + 0x10], 0x300000
jne 0x100743e7
mov edx, esi
mov dword [esp + 0xc], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.10008500
test eax, eax
js 0x100743ce
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xc]
push 0
push 1
push str.merge.conflictstyle
call fcn.1002d050
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x100743ce
jne 0x10074411
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 0x10074302
test dl, dl
je 0x100742fe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10074302
add eax, 2
add ecx, 2
test dl, dl
jne 0x100742e2
xor eax, eax
jmp 0x10074307
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10074317
or dword [edi + 0x10], 0x100000
jmp 0x100743d2
mov ecx, str.diff3
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10074340
test dl, dl
je 0x1007433c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10074340
add eax, 2
add ecx, 2
test dl, dl
jne 0x10074320
xor eax, eax
jmp 0x10074345
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10074355
or dword [edi + 0x10], 0x200000
jmp 0x100743d2
mov ecx, str.zdiff3
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10074380
test dl, dl
je 0x1007437c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10074380
add eax, 2
add ecx, 2
test dl, dl
jne 0x10074360
xor eax, eax
jmp 0x10074385
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10074392
or dword [edi + 0x10], 0x2000000
jmp 0x100743d2
push ebx
push str.unknown_style__s_given_for_merge.conflictstyle
push 0x14
call fcn.10028e40
mov esi, dword [esp + 0x18]
add esp, 0xc
or ebx, 0xffffffff
test esi, esi
je 0x1007440a
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101a64ac]
call esi
add esp, 4
mov ecx, edi
call fcn.10073d70
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0xc]
test esi, esi
je 0x100743e7
push esi
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101a64ac]
call esi
add esp, 4
lea ecx, [edi + 0x6c]
test ecx, ecx
jne 0x1007441a
push str.pool
push str.invalid_argument
push 0x101d8a38
push 3
call fcn.10028e40
add esp, 0x10
or ebx, 0xffffffff
mov ecx, edi
call fcn.10073d70
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 [0x102003f0]
mov dword [ecx + 8], eax
test ebx, ebx
jne 0x10074445
push 0x101de70c
jmp 0x100743f3
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], 0x1003fd10
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 1
mov dword [ebx + 8], 0
mov esi, dword [fcn.1005f470]
mov ecx, esi
push 8
push 0
call dword [0x101a64ac]
call esi
add esp, 0x14
test eax, eax
jne 0x10074490
or ebx, 0xffffffff
jmp 0x1007449b
mov dword [ebx], 8
mov dword [ebx + 8], eax
xor ebx, ebx
test ebx, ebx
js 0x1007440a
push 0
lea ecx, [edi + 0x8c]
xor edx, edx
call fcn.10038e20
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007440a
push 0
lea ecx, [edi + 0xa0]
xor edx, edx
call fcn.10038e20
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007440a
mov edx, dword [edi + 0x48]
test edx, edx
jne 0x100744ec
push str.string
jmp 0x100743f3
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100744f1
sub ecx, ebx
push ecx
lea ecx, [edi + 0xbc]
call fcn.1002a7f0
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x1007440a
lea ecx, [edi + 0xbc]
call fcn.10030910
mov ebx, eax
test ebx, ebx
js 0x1007440a
lea ecx, [edi + 0xfc]
call fcn.1008ac90
mov ebx, eax
test ebx, ebx
js 0x1007440a
mov ecx, dword [edi]
mov eax, dword [edi + 0xc4]
mov dword [edi + 0xc8], eax
test ecx, ecx
jne 0x10074571
push str.repo
push str.invalid_argument
push 0x101d8a38
push 3
call fcn.10028e40
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