Function at 0x4f89e9
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0xe0
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xcc]
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.004f5d01
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xcc]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004f5d01
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x50], 0x62f624
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f5d32
mov dword [ebp - 0x28], eax
mov dword [esp + 8], 0x5bed1e
mov dword [esp + 4], 0x5bed21
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f88bf
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x70]
test eax, eax
je 0x4f8a9d
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x10], eax
jmp 0x4f8aaf
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x150]
cmp eax, 1
jne 0x4f8b53
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
test ax, ax
je 0x4f8ae3
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
movzx eax, ax
and eax, 0xf000
cmp eax, 0xe000
jne 0x4f8b53
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
test ax, ax
je 0x4f8b05
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
movzx eax, ax
and eax, 0xf000
cmp eax, 0xe000
jne 0x4f8b53
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 0x3e]
shr al, 3
and eax, 3
movzx ebx, al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x4f8b2d
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
jmp 0x4f8b33
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.0049276a
jmp 0x4f975e
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x150]
cmp eax, 2
jne 0x4f8bf7
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
test ax, ax
je 0x4f8b87
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
movzx eax, ax
and eax, 0xf000
cmp eax, 0xe000
jne 0x4f8bf7
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
test ax, ax
je 0x4f8ba9
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
movzx eax, ax
and eax, 0xf000
cmp eax, 0xe000
jne 0x4f8bf7
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 0x3e]
shr al, 3
and eax, 3
movzx ebx, al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x4f8bd1
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
jmp 0x4f8bd7
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004928de
jmp 0x4f975e
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x88]
test eax, eax
je 0x4f8c3a
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f88eb
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f88eb
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
test ax, ax
je 0x4f8c4b
mov eax, dword [ebp + 8]
jmp 0x4f8c4e
mov eax, dword [ebp + 0xc]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
test ax, ax
je 0x4f8c62
mov eax, dword [ebp + 0xc]
jmp 0x4f8c65
mov eax, dword [ebp + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
cmp al, 0x2f
sete al
movzx edx, al
mov eax, dword [ebp + 8]
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.004f1c3d
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp al, 0x2f
sete al
movzx edx, al
mov eax, dword [ebp + 0xc]
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.004f1c3d
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
test ax, ax
je 0x4f8cc3
mov eax, dword [ebp - 0x2c]
jmp 0x4f8cc8
mov eax, 0x5bed24
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
test ax, ax
je 0x4f8cdc
mov eax, dword [ebp - 0x30]
jmp 0x4f8ce1
mov eax, 0x5bed24
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
test ax, ax
jne 0x4f8d08
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
test ax, ax
jne 0x4f8d08
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_sdiff___git__s__s_s_n
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.0048b459
mov eax, dword [ebp - 0x4c]
movzx eax, byte [eax]
cmp al, 0x2f
jne 0x4f8da2
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
movzx eax, ax
mov edx, dword [ebp - 0x24]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_snew_file_mode__06o_s_n
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.0048b459
cmp dword [ebp + 0x18], 0
je 0x4f8d96
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004f0736
mov dword [ebp + 0x1c], 1
jmp 0x4f8f9f
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax]
cmp al, 0x2f
jne 0x4f8e06
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
movzx eax, ax
mov edx, dword [ebp - 0x24]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_sdeleted_file_mode__06o_s_n
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.0048b459
cmp dword [ebp + 0x18], 0
je 0x4f8dfa
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004f0736
mov dword [ebp + 0x1c], 1
jmp 0x4f8f9f
mov eax, dword [ebp + 0x10]
movzx edx, word [eax + 0x3c]
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
cmp dx, ax
je 0x4f8e8c
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
movzx eax, ax
mov edx, dword [ebp - 0x24]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_sold_mode__06o_s_n
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.0048b459
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
movzx eax, ax
mov edx, dword [ebp - 0x24]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_snew_mode__06o_s_n
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.0048b459
mov dword [ebp + 0x1c], 1
cmp dword [ebp + 0x18], 0
je 0x4f8ea4
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004f0736
mov eax, dword [ebp + 0x10]
movzx edx, word [eax + 0x3c]
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
xor eax, edx
movzx eax, ax
and eax, 0xf000
test eax, eax
jne 0x4f971f
cmp dword [ebp + 0x24], 0
je 0x4f8f9f
cmp dword [ebp - 0x14], 0
jne 0x4f8ef4
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f8734
test eax, eax
jne 0x4f8f9f
cmp dword [ebp - 0x18], 0
jne 0x4f8f1a
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f8734
test eax, eax
jne 0x4f8f9f
mov eax, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x15
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
mov dword [esp + 4], 0
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004f0643
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004f485a
mov eax, dword [ebp + 0x20]
mov dword [eax + 0x158], 1
jmp 0x4f9726
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xe0]
test eax, eax
je 0x4f8ff9
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax]
cmp al, 0x2f
jne 0x4f8ff9
mov eax, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x15
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
mov dword [esp + 4], 0
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004f0643
jmp 0x4f9726
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x44]
test eax, eax
jne 0x4f9343
cmp dword [ebp - 0x14], 0
jne 0x4f9029
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f8734
test eax, eax
jne 0x4f9053
cmp dword [ebp - 0x18], 0
jne 0x4f9343
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f8734
test eax, eax
je 0x4f9343
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x5c], 0x62f624
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x4f91b3
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x4f91b3
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x3c]
movzx eax, ax
and eax, 0xf000
cmp eax, 0x8000
jne 0x4f91b3
mov eax, dword [ebp + 0x14]
movzx eax, word [eax + 0x3c]
movzx eax, ax
and eax, 0xf000
cmp eax, 0x8000
jne 0x4f91b3
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x4f91b3
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f0830
test eax, eax
je 0x4f911d
cmp dword [ebp + 0x1c], 0
je 0x4f9722
mov eax, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x15
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
jmp 0x4f9722
mov eax, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x15
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
mov esi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f5d32
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str._sBinary_files__s_and__s_differ_n
lea eax, [ebp - 0x64]
mov dword [esp], eax
call fcn.0048b459
mov eax, dword [ebp - 0x60]
mov edx, eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x14
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
lea eax, [ebp - 0x64]
mov dword [esp], eax
call fcn.0048a820
jmp 0x4f9726
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp + 0x10]
mov dword [esp + 8], edx
lea edx, [ebp - 0x3c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f1e2f
test eax, eax
js 0x4f91f9
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 8], edx
lea edx, [ebp - 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f1e2f
test eax, eax
jns 0x4f9205
mov dword [esp], str.unable_to_read_files_to_diff
call fcn.004ae00f
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
cmp edx, eax
jne 0x4f9268
mov eax, dword [ebp - 0x38]
mov ecx, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.cygwin1.dll_memcmp
test eax, eax
jne 0x4f9268
cmp dword [ebp + 0x1c], 0
je 0x4f9725
mov eax, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x15
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
jmp 0x4f9725
mov eax, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x15
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
mov dword [esp + 4], 0
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004f0643
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x4f92cb
lea eax, [ebp - 0x44]
mov dword [esp + 8], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f86ce
jmp 0x4f9331
mov esi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f5d32
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str._sBinary_files__s_and__s_differ_n
lea eax, [ebp - 0x64]
mov dword [esp], eax
call fcn.0048b459
mov eax, dword [ebp - 0x60]
mov edx, eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x14
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
lea eax, [ebp - 0x64]
mov dword [esp], eax
call fcn.0048a820
mov eax, dword [ebp + 0x20]
mov dword [eax + 0x158], 1
jmp 0x4f9726
cmp dword [ebp + 0x1c], 0
je 0x4f9387
mov eax, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x15
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f3fde
mov dword [esp + 4], 0
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004f0643
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
lea edx, [ebp - 0x3c]
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x14]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00502472
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
lea edx, [ebp - 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0x14]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00502472
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f887c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4f9409
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call fcn.004f887c
mov dword [ebp - 0x1c], eax
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0
lea eax, [ebp - 0x7c]
mov dword [esp], eax
call sub.cygwin1.dll_memset
mov dword [esp + 8], 0x18
mov dword [esp + 4], 0
lea eax, [ebp - 0x94]
mov dword [esp], eax
call sub.cygwin1.dll_memset
mov dword [esp + 8], 0x28
mov dword [esp + 4], 0
lea eax, [ebp - 0xbc]
mov dword [esp], eax
call sub.cygwin1.dll_memset
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x4f9474
mov dword [ebp - 0x4c], 0
lea eax, [ebp - 0x4c]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xcc]
mov dword [esp + 4], eax
mov dword [esp], 1
call fcn.004d59a1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1b4]
mov eax, dword [eax + 0x84]
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004b5a73
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
and eax, 0x400
test eax, eax
je 0x4f94eb
lea eax, [ebp - 0xbc]
mov dword [esp + 8], eax
lea eax, [ebp - 0x44]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call fcn.004f1fa0
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4f9511
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xb8]
test eax, eax
jne 0x4f9511
lea eax, [ebp - 0x58]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x128]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x12c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x130]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xd0]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xd4]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 1
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xac]
test eax, eax
je 0x4f958b
mov eax, dword [ebp - 0x8c]
or eax, 4
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x1c], 0
je 0x4f95b2
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea eax, [ebp - 0x94]
mov dword [esp], eax
call fcn.005776b5
mov dword [esp], str.GIT_DIFF_OPTS
call sub.cygwin1.dll_getenv
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4f964b
lea eax, [ebp - 0x68]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5bedf4
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call fcn.004f03af
test eax, eax
je 0x4f960c
mov eax, dword [ebp - 0x68]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.cygwin1.dll_strtoul
mov dword [ebp - 0x94], eax
jmp 0x4f964b
lea eax, [ebp - 0x68]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5bedff
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call fcn.004f03af
test eax, eax
je 0x4f964b
mov eax, dword [ebp - 0x68]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.cygwin1.dll_strtoul
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x14c]
test eax, eax
je 0x4f967b
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 4], eax
lea eax, [ebp - 0xbc]
mov dword [esp], eax
call fcn.004f59e0
lea eax, [ebp - 0x94]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x7c]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xbc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4f5e5e
mov dword [esp + 8], 0
lea eax, [ebp - 0x44]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call fcn.005772b5
test eax, eax
je 0x4f96d2
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], eax
mov dword [esp], 0x5bee04
call fcn.004ae00f
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x14c]
test eax, eax
je 0x4f96ed
lea eax, [ebp - 0xbc]
mov dword [esp], eax
call fcn.004f5c2d
cmp dword [ebp - 0x14], 0
je 0x4f96fe
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call sub.cygwin1.dll_free
cmp dword [ebp - 0x18], 0
je 0x4f970f
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call sub.cygwin1.dll_free
lea eax, [ebp - 0x94]
mov dword [esp], eax
call fcn.00577886
jmp 0x4f9726
nop
jmp 0x4f9726
nop
jmp 0x4f9726
nop
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.0048a820
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004fa90a
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.004fa90a
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.cygwin1.dll_free
nop
add esp, 0xe0
pop ebx
pop esi
pop ebp
ret