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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
push edi
mov ebp, 0x1029182d
mov dword [esp + 0x20], ecx
xor ebx, ebx
mov dword [esp + 0x3c], 0x1029182d
mov dword [esp + 0x40], 0
mov edi, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x44], 0
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x14], ebx
test ecx, ecx
jne 0x100569f4
push 0x10256f00
push str.invalid_argument
push 0x10256f18
push 3
call fcn.10028e40
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
test edi, edi
jne 0x10056a1c
push str.repo
push str.invalid_argument
push 0x10256f18
push 3
call fcn.10028e40
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov esi, dword [esp + 0x4c]
test esi, esi
jne 0x10056a48
push str.refname
push str.invalid_argument
push 0x10256f18
push 3
call fcn.10028e40
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov ecx, esi
call fcn.10014520
test eax, eax
jne 0x10056a6e
push esi
push str.reference__s_is_not_a_local_branch.
push 3
call fcn.10028e40
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov edx, edi
lea ecx, [esp + 0x18]
call fcn.10008500
test eax, eax
js 0x10056e57
push dword [esp + 0x18]
lea eax, [esp + 0x1c]
push eax
call sym.user32.dll_git_config_snapshot
add esp, 8
test eax, eax
js 0x10056e57
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
push str.branch._s.remote
push esi
call fcn.10056770
mov edi, eax
add esp, 8
mov dword [esp + 0x10], edi
test edi, edi
js 0x10056bc7
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push str.branch._s.merge
push esi
call fcn.10056770
mov edi, eax
add esp, 8
mov dword [esp + 0x10], edi
test edi, edi
js 0x10056bc3
cmp dword [esp + 0x44], ebx
je 0x10056bab
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x10056bab
mov esi, dword [esp + 0x3c]
mov eax, 0x10258948
mov ecx, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10056b23
test dl, dl
je 0x10056b1f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10056b23
add eax, 2
add ecx, 2
test dl, dl
jne 0x10056b03
xor eax, eax
jmp 0x10056b28
sbb eax, eax
or eax, 1
test eax, eax
je 0x10056b73
push esi
push dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
call sym.user32.dll_git_remote_lookup
mov ebp, dword [esp + 0x30]
add esp, 0xc
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
test eax, eax
js 0x10056bc7
mov edx, ebp
mov ecx, ebx
call fcn.10025df0
test eax, eax
jne 0x10056b65
mov dword [esp + 0x10], 0xfffffffd
jmp 0x10056bc7
push ebp
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.10076dd0
jmp 0x10056b83
mov ebp, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push edi
mov edx, ebp
call fcn.1002a660
add esp, 4
test eax, eax
js 0x10056bc7
mov edx, dword [esp + 0x20]
movq xmm0, qword [esp + 0x30]
mov eax, dword [esp + 0x38]
movq xmm1, qword [edx]
movq qword [edx], xmm0
mov dword [edx + 8], eax
movq qword [esp + 0x30], xmm1
jmp 0x10056bc7
push esi
push str.branch__s_does_not_have_an_upstream
push 4
call fcn.10028e40
add esp, 0xc
mov dword [esp + 0x10], 0xfffffffd
mov ebp, dword [esp + 0x24]
push dword [esp + 0x18]
call sym.user32.dll_git_config_free
add esp, 4
test ebx, ebx
je 0x10056dd8
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x10056c2a
mov esi, dword [eax + 0x20]
test esi, esi
je 0x10056c0f
push eax
mov ecx, esi
call dword [0x1021f564]
call esi
add esp, 4
test eax, eax
je 0x10056c0f
mov eax, dword [ebx + 0x70]
push eax
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x1021f564]
call esi
add esp, 4
mov eax, dword [ebx + 0x70]
push eax
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x1021f564]
call esi
add esp, 4
mov dword [ebx + 0x70], 0
lea edi, [ebx + 0xc]
test edi, edi
je 0x10056c5b
push dword [edi + 8]
mov esi, dword [fcn.10033600]
mov ecx, esi
call dword [0x1021f564]
call esi
add esp, 4
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi], 0
lea edi, [ebx + 0x20]
mov ecx, edi
call fcn.10020ff0
test edi, edi
je 0x10056c93
push dword [edi + 8]
mov esi, dword [fcn.10033600]
mov ecx, esi
call dword [0x1021f564]
call esi
add esp, 4
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi], 0
lea edi, [ebx + 0x34]
mov ecx, edi
call fcn.10020ff0
test edi, edi
je 0x10056ccb
push dword [edi + 8]
mov esi, dword [fcn.10033600]
mov ecx, esi
call dword [0x1021f564]
call esi
add esp, 4
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi], 0
lea edi, [ebx + 0x48]
mov ecx, edi
call fcn.10020ff0
test edi, edi
je 0x10056d03
push dword [edi + 8]
mov esi, dword [fcn.10033600]
mov ecx, esi
call dword [0x1021f564]
call esi
add esp, 4
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi], 0
cmp dword [ebx + 0x68], 0
jbe 0x10056d4a
xor ebp, ebp
nop dword [eax + eax]
mov eax, dword [ebx + 0x64]
mov esi, dword [fcn.10033600]
mov ecx, esi
mov edi, dword [eax + ebp*4]
push dword [edi + 0x2c]
call dword [0x1021f564]
call esi
mov esi, dword [fcn.10033600]
add esp, 4
mov ecx, esi
push edi
call dword [0x1021f564]
call esi
inc ebp
add esp, 4
cmp ebp, dword [ebx + 0x68]
jb 0x10056d10
mov ebp, dword [esp + 0x24]
lea edi, [ebx + 0x5c]
test edi, edi
je 0x10056d7b
push dword [edi + 8]
mov esi, dword [fcn.10033600]
mov ecx, esi
call dword [0x1021f564]
call esi
add esp, 4
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi], 0
mov ecx, dword [ebx + 0x78]
call fcn.10079540
push dword [ebx + 4]
mov esi, dword [fcn.10033600]
mov ecx, esi
call dword [0x1021f564]
call esi
mov esi, dword [fcn.10033600]
add esp, 4
mov ecx, esi
push dword [ebx + 8]
call dword [0x1021f564]
call esi
mov esi, dword [fcn.10033600]
add esp, 4
mov ecx, esi
push dword [ebx]
call dword [0x1021f564]
call esi
mov esi, dword [fcn.10033600]
add esp, 4
mov ecx, esi
push ebx
call dword [0x1021f564]
call esi
add esp, 4
cmp dword [esp + 0x40], 0
jbe 0x10056e02
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10056e02
cmp eax, 0x1029182c
je 0x10056e02
mov esi, dword [fcn.10033600]
mov ecx, esi
push eax
call dword [0x1021f564]
call esi
add esp, 4
cmp dword [esp + 0x28], 0
jbe 0x10056e29
test ebp, ebp
je 0x10056e29
cmp ebp, 0x1029182c
je 0x10056e29
mov esi, dword [fcn.10033600]
mov ecx, esi
push ebp
call dword [0x1021f564]
call esi
add esp, 4
cmp dword [esp + 0x34], 0
jbe 0x10056e53
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10056e53
cmp eax, 0x1029182c
je 0x10056e53
mov esi, dword [fcn.10033600]
mov ecx, esi
push eax
call dword [0x1021f564]
call esi
add esp, 4
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret