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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
push edi
mov ebp, 0x102069cd
mov dword [esp + 0x20], ecx
xor ebx, ebx
mov dword [esp + 0x3c], 0x102069cd
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 0x10058674
push 0x101dc9a0
push str.invalid_argument
push 0x101dc9b8
push 3
call fcn.1002a5a0
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
test edi, edi
jne 0x1005869c
push str.repo
push str.invalid_argument
push 0x101dc9b8
push 3
call fcn.1002a5a0
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 0x100586c8
push str.refname
push str.invalid_argument
push 0x101dc9b8
push 3
call fcn.1002a5a0
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov ecx, esi
call fcn.10015ce0
test eax, eax
jne 0x100586ee
push esi
push str.reference__s_is_not_a_local_branch.
push 3
call fcn.1002a5a0
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.10009d00
test eax, eax
js 0x10058ad7
push dword [esp + 0x18]
lea eax, [esp + 0x1c]
push eax
call sym.user32.dll_git_config_snapshot
add esp, 8
test eax, eax
js 0x10058ad7
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
push str.branch._s.remote
push esi
call fcn.100583f0
mov edi, eax
add esp, 8
mov dword [esp + 0x10], edi
test edi, edi
js 0x10058847
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push str.branch._s.merge
push esi
call fcn.100583f0
mov edi, eax
add esp, 8
mov dword [esp + 0x10], edi
test edi, edi
js 0x10058843
cmp dword [esp + 0x44], ebx
je 0x1005882b
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x1005882b
mov esi, dword [esp + 0x3c]
mov eax, 0x101de3b8
mov ecx, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100587a3
test dl, dl
je 0x1005879f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100587a3
add eax, 2
add ecx, 2
test dl, dl
jne 0x10058783
xor eax, eax
jmp 0x100587a8
sbb eax, eax
or eax, 1
test eax, eax
je 0x100587f3
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 0x10058847
mov edx, ebp
mov ecx, ebx
call fcn.10027520
test eax, eax
jne 0x100587e5
mov dword [esp + 0x10], 0xfffffffd
jmp 0x10058847
push ebp
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.10078850
jmp 0x10058803
mov ebp, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push edi
mov edx, ebp
call fcn.1002bd80
add esp, 4
test eax, eax
js 0x10058847
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 0x10058847
push esi
push str.branch__s_does_not_have_an_upstream
push 4
call fcn.1002a5a0
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 0x10058a58
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x100588aa
mov esi, dword [eax + 0x20]
test esi, esi
je 0x1005888f
push eax
mov ecx, esi
call dword [0x101aa4e4]
call esi
add esp, 4
test eax, eax
je 0x1005888f
mov eax, dword [ebx + 0x70]
push eax
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x101aa4e4]
call esi
add esp, 4
mov eax, dword [ebx + 0x70]
push eax
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x101aa4e4]
call esi
add esp, 4
mov dword [ebx + 0x70], 0
lea edi, [ebx + 0xc]
test edi, edi
je 0x100588db
push dword [edi + 8]
mov esi, dword [fcn.10034de0]
mov ecx, esi
call dword [0x101aa4e4]
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.100226c0
test edi, edi
je 0x10058913
push dword [edi + 8]
mov esi, dword [fcn.10034de0]
mov ecx, esi
call dword [0x101aa4e4]
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.100226c0
test edi, edi
je 0x1005894b
push dword [edi + 8]
mov esi, dword [fcn.10034de0]
mov ecx, esi
call dword [0x101aa4e4]
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.100226c0
test edi, edi
je 0x10058983
push dword [edi + 8]
mov esi, dword [fcn.10034de0]
mov ecx, esi
call dword [0x101aa4e4]
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 0x100589ca
xor ebp, ebp
nop dword [eax + eax]
mov eax, dword [ebx + 0x64]
mov esi, dword [fcn.10034de0]
mov ecx, esi
mov edi, dword [eax + ebp*4]
push dword [edi + 0x2c]
call dword [0x101aa4e4]
call esi
mov esi, dword [fcn.10034de0]
add esp, 4
mov ecx, esi
push edi
call dword [0x101aa4e4]
call esi
inc ebp
add esp, 4
cmp ebp, dword [ebx + 0x68]
jb 0x10058990
mov ebp, dword [esp + 0x24]
lea edi, [ebx + 0x5c]
test edi, edi
je 0x100589fb
push dword [edi + 8]
mov esi, dword [fcn.10034de0]
mov ecx, esi
call dword [0x101aa4e4]
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.1007aec0
push dword [ebx + 4]
mov esi, dword [fcn.10034de0]
mov ecx, esi
call dword [0x101aa4e4]
call esi
mov esi, dword [fcn.10034de0]
add esp, 4
mov ecx, esi
push dword [ebx + 8]
call dword [0x101aa4e4]
call esi
mov esi, dword [fcn.10034de0]
add esp, 4
mov ecx, esi
push dword [ebx]
call dword [0x101aa4e4]
call esi
mov esi, dword [fcn.10034de0]
add esp, 4
mov ecx, esi
push ebx
call dword [0x101aa4e4]
call esi
add esp, 4
cmp dword [esp + 0x40], 0
jbe 0x10058a82
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10058a82
cmp eax, 0x102069cc
je 0x10058a82
mov esi, dword [fcn.10034de0]
mov ecx, esi
push eax
call dword [0x101aa4e4]
call esi
add esp, 4
cmp dword [esp + 0x28], 0
jbe 0x10058aa9
test ebp, ebp
je 0x10058aa9
cmp ebp, 0x102069cc
je 0x10058aa9
mov esi, dword [fcn.10034de0]
mov ecx, esi
push ebp
call dword [0x101aa4e4]
call esi
add esp, 4
cmp dword [esp + 0x34], 0
jbe 0x10058ad3
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10058ad3
cmp eax, 0x102069cc
je 0x10058ad3
mov esi, dword [fcn.10034de0]
mov ecx, esi
push eax
call dword [0x101aa4e4]
call esi
add esp, 4
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret