Function at 0x482237
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], 0x61d2ec
mov dword [ebp - 0x18], 0
cmp dword [ebp + 0x14], 0
je 0x482283
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 8]
and eax, 1
test al, al
je 0x482283
mov dword [ebp - 0x10], 1
jmp 0x48232f
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 1
jmp 0x482323
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [esp + 4], 0x5ae86b
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x48231e
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add eax, edx
mov dword [eax], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0xc]
add eax, 1
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add eax, edx
mov eax, dword [eax]
test eax, eax
je 0x482315
mov eax, dword [ebp - 0xc]
add eax, 1
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add eax, edx
mov dword [esp + 4], eax
lea eax, [ebp - 0x40]
mov dword [esp], eax
call fcn.004963e1
mov dword [ebp - 0x10], 1
jmp 0x48232f
nop
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp + 8]
jl 0x482296
mov dword [ebp - 0x30], 0
cmp dword [ebp + 0x14], 0
je 0x482344
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0xc]
jmp 0x482349
mov eax, 0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x10], 0
je 0x482356
or dword [ebp - 0x14], 1
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x34], eax
jmp 0x4825b0
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x18], 0
jne 0x4824f9
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4824f9
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add edx, eax
lea eax, [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00481acf
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jle 0x4823d0
mov eax, dword [ebp - 0x28]
sub eax, 1
add dword [ebp - 0xc], eax
jmp 0x4825ac
mov dword [esp + 4], 0x5ae86e
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x482453
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0xa1]
and eax, 0xffffff80
test al, al
je 0x482417
mov eax, dword [ebp - 0x34]
lea edx, [eax + 1]
mov dword [ebp - 0x34], edx
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add edx, eax
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
jmp 0x4825ac
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x88]
lea ecx, [eax + 1]
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x88], ecx
test eax, eax
je 0x48243c
mov dword [esp], str.__stdin_given_twice_
call fcn.004b54c7
lea eax, [ebp - 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0047f820
jmp 0x4825ac
mov dword [esp + 4], str.__end_of_options
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x482476
mov dword [ebp - 0x18], 1
jmp 0x4825ac
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
lea ecx, [edx + eax]
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x34]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0047f9a3
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jle 0x4824cb
mov eax, dword [ebp - 0x28]
sub eax, 1
add dword [ebp - 0xc], eax
jmp 0x4825ac
cmp dword [ebp - 0x28], 0
jns 0x4825ab
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], 0xae7
mov dword [esp], str.revision.c
call fcn.004a1237
mov dword [esp], eax
call sub.cygwin1.dll_exit
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.0047f7a2
test eax, eax
je 0x4825ac
cmp dword [ebp - 0x10], 0
jne 0x482531
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp al, 0x5e
jne 0x482544
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp], str.bad_revision__s
call fcn.004b54c7
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
jmp 0x482583
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0xc]
sete al
movzx ecx, al
mov eax, dword [ebp - 0x1c]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00489e12
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
jl 0x48254c
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add eax, edx
mov dword [esp + 4], eax
lea eax, [ebp - 0x40]
mov dword [esp], eax
call fcn.004963e1
jmp 0x4825bc
nop
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp + 8]
jl 0x482368
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0048198e
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4825fd
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
mov ecx, dword [ebp + 0x10]
add ecx, 0x70
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ecx
call fcn.0044fa50
lea eax, [ebp - 0x40]
mov dword [esp], eax
call fcn.0049651f
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x48262a
cmp dword [ebp + 0x14], 0
je 0x48261f
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
jmp 0x482624
mov eax, 0
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x6c], eax
cmp dword [ebp + 0x14], 0
je 0x48264f
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
test eax, eax
je 0x48264f
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
mov edx, dword [ebp + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0xa0]
and eax, 4
test al, al
je 0x48266b
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0047ed40
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x482726
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
jne 0x482726
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x84]
test eax, eax
jne 0x482726
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x6c]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x10]
lea ecx, [ebp - 0x54]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x78]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00441c6e
test eax, eax
je 0x4826d8
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x6c]
mov dword [esp], eax
call fcn.004821a7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0x78]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0047bf13
mov dword [ebp - 0x2c], eax
movzx eax, word [ebp - 0x54]
movzx edx, ax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0047be52
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x590]
and ah, 0xf7
test eax, eax
je 0x482749
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + 0x99]
or edx, 8
mov byte [eax + 0x99], dl
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4b8]
and eax, 0x1c
test eax, eax
jne 0x482773
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x568]
test eax, eax
jne 0x482773
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4f8]
test eax, eax
je 0x482786
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + 0x99]
or edx, 8
mov byte [eax + 0x99], dl
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x5f8]
test eax, eax
je 0x4827a6
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + 0x94]
and edx, 0x7f
mov byte [eax + 0x94], dl
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x98]
and eax, 0xffffff80
test al, al
je 0x4827ec
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00484b61
test eax, eax
je 0x4827d9
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + 0x96]
or edx, 8
mov byte [eax + 0x96], dl
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + 0x95]
or edx, 2
mov byte [eax + 0x95], dl
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x95]
and eax, 2
test al, al
je 0x482821
mov eax, dword [0x61cf40]
mov dword [esp], eax
call fcn.004e3563
test eax, eax
jne 0x482821
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + 0x96]
or edx, 8
mov byte [eax + 0x96], dl
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x70]
test eax, eax
je 0x482890
mov eax, dword [ebp + 0x10]
lea edx, [eax + 0x70]
mov eax, dword [ebp + 0x10]
add eax, 0x7d8
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045005f
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4f8]
test eax, eax
jne 0x482865
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + 0x94]
or edx, 8
mov byte [eax + 0x94], dl
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x99]
and eax, 0x10
test al, al
jne 0x482890
mov eax, dword [ebp + 0x10]
lea edx, [eax + 0x70]
mov eax, dword [ebp + 0x10]
add eax, 0x614
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045005f
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004f03ec
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xb8]
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x5b0], edx
mov eax, dword [ebp + 0x10]
add eax, 0x4a4
mov dword [esp], eax
call fcn.004fe1f4
call fcn.0042a90c
mov dword [esp], eax
call fcn.004b6877
test eax, eax
jne 0x4828dd
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x1a4], 1
mov eax, dword [ebp + 0x10]
add eax, 0x124
mov dword [esp], eax
call fcn.0051810d
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x97]
and eax, 0xffffff80
test al, al
je 0x48292f
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x82c]
test eax, eax
je 0x48292f
mov dword [esp], 0x5ae2b0
call fcn.0047ad56
mov dword [esp + 8], str.__walk_reflogs
mov dword [esp + 4], 0x5ae690
mov dword [esp], eax
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x82c]
test eax, eax
je 0x482959
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x96]
and eax, 8
test al, al
je 0x482959
mov dword [esp], str.cannot_combine___walk_reflogs_with_history_limiting_options
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x97]
and eax, 0x10
test al, al
je 0x48299b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x830]
test eax, eax
je 0x48299b
mov dword [esp], 0x5ae2b0
call fcn.0047ad56
mov dword [esp + 8], str.__children
mov dword [esp + 4], str.__parents
mov dword [esp], eax
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x4829ca
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x95]
and eax, 0xffffff80
test al, al
jne 0x4829ca
mov dword [esp], str.object_filtering_requires___objects
call fcn.0047ad56
mov dword [esp], eax
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x97]
and eax, 0xffffff80
test al, al
je 0x482a0c
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x470]
test eax, eax
je 0x482a0c
mov dword [esp], 0x5ae2b0
call fcn.0047ad56
mov dword [esp + 8], str.__graph
mov dword [esp + 4], 0x5ae690
mov dword [esp], eax
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x82c]
test eax, eax
je 0x482a4a
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x470]
test eax, eax
je 0x482a4a
mov dword [esp], 0x5ae2b0
call fcn.0047ad56
mov dword [esp + 8], str.__graph
mov dword [esp + 4], str.__walk_reflogs
mov dword [esp], eax
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x94]
and eax, 0x10
test al, al
je 0x482a8c
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x470]
test eax, eax
je 0x482a8c
mov dword [esp], 0x5ae2b0
call fcn.0047ad56
mov dword [esp + 8], str.__graph
mov dword [esp + 4], 0x5adfd2
mov dword [esp], eax
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x82c]
test eax, eax
jne 0x482aca
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x178]
test eax, eax
je 0x482aca
mov dword [esp], 0x5ae8fc
call fcn.0047ad56
mov dword [esp + 8], str.__walk_reflogs
mov dword [esp + 4], str.__grep_reflog
mov dword [esp], eax
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x98]
and eax, 0xffffff80
test al, al
je 0x482b01
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x590]
and eax, 0xfffff7ef
test eax, eax
je 0x482b01
mov dword [esp], str._L_does_not_yet_support_diff_formats_besides__p_and__s
call fcn.0047ad56
mov dword [esp], eax
call fcn.004b54c7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xb0]
test eax, eax
jns 0x482b20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0xb4]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0xb0], edx
mov eax, dword [ebp - 0x34]
leave
ret