Function at 0x4133d0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
xor ebx, ebx
sub esp, 0x7c
mov dword [ebp - 0x5c], eax
mov eax, dword [0x43c7c8]
mov dword [0x43c7ec], 0
mov dword [ebp - 0x54], eax
mov dword [0x43c7e8], 0
mov dword [0x43c7d4], 0
mov dword [0x43c7d8], 0
mov eax, dword [ebp - 0x5c]
add eax, ebx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + ebx]
cmp byte [eax], 0x2d
jne 0x4134c2
cmp byte [eax + 1], 0
jne 0x4134c2
lea edi, [ebp - 0x3c]
mov esi, str._tmp_diffXXXXXX
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x3c]
mov dword [esp], edi
call sub.cygwin1.dll_mkstemp
mov esi, eax
cmp eax, 0xffffffff
jne 0x413459
mov dword [esp], str.mkstemp
jmp 0x41348a
mov dword [esp], edi
call sub.cygwin1.dll_unlink
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 0x43f280
mov dword [esp], 0
call fcn.00438100
test eax, eax
je 0x4134b0
jns 0x41348f
mov dword [esp], 0x4533c1
call fcn.00427acc
mov dword [esp + 8], eax
mov dword [esp + 4], 0x43f280
mov dword [esp], esi
call fcn.00436ac8
test eax, eax
jns 0x413461
mov dword [esp], 0x4533cc
jmp 0x41348a
mov dword [esp + 4], 0x4533d2
mov dword [esp], esi
call sub.cygwin1.dll__fdopen64
jmp 0x4134d2
mov dword [esp + 4], 0x4533d2
mov dword [esp], eax
call sub.cygwin1.dll__fopen64
mov dword [ebx + ebx + 0x43af10], eax
test eax, eax
jne 0x413501
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [esp], 0x453374
mov dword [esp + 4], eax
call fcn.00427b14
mov dword [0x43c7d8], 2
jmp 0x413b4e
add ebx, 4
cmp ebx, 8
jne 0x41340e
mov eax, dword [0x43af10]
mov dword [esp + 8], 0
mov esi, 1
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.cygwin1.dll_fseek
mov eax, dword [0x43af18]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.cygwin1.dll_fseek
test byte [0x440290], 0x20
jne 0x413666
mov eax, dword [0x43af10]
mov dword [esp + 8], 0x800
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp], 0x43f280
call sub.cygwin1.dll_fread
mov dword [esp + 8], 0x800
mov ebx, eax
mov eax, dword [0x43af18]
mov dword [esp + 4], 1
mov dword [esp], 0x43fa80
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fread
cmp ebx, eax
je 0x4135b3
mov dword [0x43c7d8], 1
mov edx, dword [0x43c7d4]
xor ecx, ecx
xor edi, edi
cmp edi, ebx
je 0x4135d8
test edx, edx
jne 0x4135d8
cmp byte [edi + 0x43f280], 0
sete dl
cmove ecx, esi
inc edi
movzx edx, dl
jmp 0x4135bd
test cl, cl
je 0x4135e2
mov dword [0x43c7d4], edx
mov edx, dword [0x43c7d4]
xor ecx, ecx
xor edi, edi
cmp edi, eax
je 0x413607
test edx, edx
jne 0x413607
cmp byte [edi + 0x43fa80], 0
sete dl
cmove ecx, esi
inc edi
movzx edx, dl
jmp 0x4135ec
test cl, cl
je 0x413611
mov dword [0x43c7d4], edx
cmp ebx, eax
cmova ebx, eax
xor edi, edi
xor edx, edx
cmp edx, ebx
je 0x413630
mov cl, byte [edx + 0x43fa80]
cmp byte [edx + 0x43f280], cl
cmovne edi, esi
inc edx
jmp 0x41361a
mov edx, edi
test dl, dl
je 0x413640
mov dword [0x43c7d8], 1
test ebx, ebx
je 0x41364c
test eax, eax
jne 0x413559
cmp dword [0x43c7d4], 0
jne 0x413b4e
cmp dword [0x43c7d8], 0
je 0x413b4e
call fcn.0040efa0
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x413b4e
mov dword [esp], 0x18
xor esi, esi
call fcn.00439aa0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x50], eax
mov eax, 1
imul ebx, dword [ebp - 0x64], 0x18
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x50]
add ebx, dword [ebp - 0x60]
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x58]
lea edx, [eax + 0x3fffffff]
mov edi, dword [ebp - 0x4c]
mov dword [ebx], eax
lea ebx, [edx*4]
mov dword [ebp - 0x68], ebx
mov ebx, dword [edi + edx*4]
mov dword [ebp - 0x6c], ebx
inc ebx
cmp dword [0x43af14], eax
jl 0x4136db
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x4c]
cmp dword [edi + edx + 4], ebx
jne 0x4136db
inc eax
jmp 0x4136a5
mov edx, dword [ebp - 0x58]
mov dword [edx + 8], ebx
lea edx, [eax - 1]
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x4c]
mov dword [ecx + 4], edx
lea ecx, [edx + 1]
mov dword [ebp - 0x70], ecx
mov ecx, dword [edi + ecx*4]
cmp dword [0x43af14], edx
jl 0x413707
test ecx, ecx
jne 0x413707
mov edx, dword [ebp - 0x70]
jmp 0x4136e4
mov edi, dword [ebp - 0x58]
dec ecx
mov dword [edi + 0xc], ecx
test byte [0x440291], 0x80
je 0x413758
cmp eax, edx
jg 0x413738
mov ecx, dword [0x43c7e8]
mov edi, dword [ebp - 0x68]
mov ebx, dword [ecx + edx*4]
sub edx, eax
sub ebx, dword [ecx + edi]
mov ecx, ebx
inc edx
mov ebx, 1
cmp ecx, edx
jmp 0x413754
cmp ecx, ebx
jl 0x413765
mov eax, dword [0x43c7ec]
mov edi, dword [ebp - 0x6c]
mov edx, dword [eax + ecx*4]
sub ecx, ebx
sub edx, dword [eax + edi*4]
mov ebx, 1
inc ecx
cmp edx, ecx
jne 0x413760
jmp 0x41377f
cmp ecx, ebx
jge 0x413760
cmp eax, edx
jg 0x413765
mov esi, 1
mov eax, dword [ebp - 0x60]
xor ebx, ebx
add eax, 0x30
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call fcn.00438204
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x50]
mov ecx, dword [edx + 4]
lea eax, [ecx + 1]
cmp dword [0x43af14], eax
jl 0x4137af
mov edx, dword [edx + 0xc]
mov edi, dword [ebp - 0x4c]
cmp ebx, 1
adc dword [ebp - 0x64], 0
mov dword [edi + ecx*4], edx
cmp dword [0x43af14], eax
jge 0x413695
mov eax, dword [0x440290]
mov edx, dword [0x440294]
mov dword [0x43c7d8], esi
mov ecx, eax
shrd ecx, edx, 6
xor ecx, 1
and cl, 1
je 0x4137d2
test esi, esi
jne 0x413807
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, dword [0x43c7e8]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, dword [0x43c7ec]
mov dword [esp], eax
call sub.cygwin1.dll_free
jmp 0x413b4e
and eax, 0x10000
je 0x41381a
mov dword [esp], 0x4533d4
call sub.cygwin1.dll_printf
test byte [0x440290], 0x10
je 0x41383b
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 4]
mov dword [esp], str._____s_n
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
jmp 0x413877
mov eax, dword [ebp - 0x5c]
mov ebx, dword [eax]
lea eax, [ebp - 0x3c]
mov dword [esp + 8], 0x43c828
mov dword [esp + 4], 0x24
mov dword [esp], eax
call fcn.0041b49c
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x4533e1
mov dword [esp], str._s__s_t_s_n
call sub.cygwin1.dll_printf
test byte [0x440290], 0x10
je 0x413888
mov eax, dword [ebp - 0x54]
cmp dword [eax], 0
jne 0x4138c7
mov eax, dword [ebp - 0x5c]
mov ebx, dword [eax + 4]
lea eax, [ebp - 0x3c]
mov dword [esp + 8], 0x43c888
mov dword [esp + 4], 0x24
mov dword [esp], eax
call fcn.0041b49c
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x4533ef
mov dword [esp], str._s__s_t_s_n
call sub.cygwin1.dll_printf
jmp 0x4138e6
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
mov dword [ebp - 0x54], edi
test edi, edi
jne 0x4138c7
mov eax, dword [eax + 4]
mov dword [esp], str.__s_n
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
test byte [0x440292], 1
je 0x4138fb
mov dword [esp], 0x453348
call sub.cygwin1.dll_printf
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov eax, dword [0x43af14]
cmp dword [0x43c7c0], eax
jle 0x41391a
mov dword [0x43c7c0], eax
mov eax, dword [ebx]
cmp dword [ebx + 4], eax
jge 0x413931
mov edi, dword [ebx + 8]
cmp dword [ebx + 0xc], edi
jge 0x413931
dec dword [ebp - 0x5c]
jmp 0x413b3f
mov ecx, dword [0x43c7c0]
mov esi, dword [ebp - 0x5c]
cmp dword [ebp - 0x60], esi
jne 0x41394d
sub eax, ecx
mov edx, 1
test eax, eax
cmovle eax, edx
jmp 0x413959
mov edx, dword [ebx - 8]
sub eax, ecx
cmp edx, eax
jl 0x413959
lea eax, [edx + 1]
mov dword [ebx + 0x14], eax
mov dword [ebp - 0x58], ebx
mov eax, dword [ebp - 0x58]
add dword [ebp - 0x58], 0x18
mov dword [ebp - 0x54], eax
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x5c]
dec dword [ebp - 0x5c]
dec eax
jle 0x413981
mov edi, dword [ebp - 0x58]
lea eax, [edx + ecx]
cmp eax, dword [edi]
jge 0x41395f
jmp 0x413983
mov eax, edx
mov edi, dword [ebp - 0x54]
mov ecx, eax
mov dword [edi + 0x10], eax
mov esi, dword [ebx + 0x14]
sub ecx, esi
lea edi, [ecx + 1]
mov ecx, 0xffffffff
cmovne ecx, edi
mov dword [ebp - 0x64], edi
add esi, dword [ebx + 8]
mov edi, dword [ebp - 0x54]
sub esi, dword [ebx]
test esi, esi
mov dword [ebp - 0x6c], ecx
mov ecx, 1
cmovle esi, ecx
sub eax, edx
add eax, dword [edi + 0xc]
mov dword [ebp - 0x68], eax
test byte [0x440292], 1
je 0x4139d0
mov dword [esp], 0x4533fb
call sub.cygwin1.dll_printf
mov eax, dword [ebx + 0x14]
cmp dword [ebp - 0x64], 1
mov dword [esp], str._____ld
sbb eax, 0
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
cmp dword [ebp - 0x6c], 0xffffffff
je 0x413a0c
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x10]
sub eax, dword [ebx + 0x14]
mov dword [esp], 0x453409
inc eax
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
jmp 0x413a18
mov dword [esp], 0x20
call sub.cygwin1.dll_putchar
mov eax, dword [ebp - 0x68]
sub eax, esi
mov edi, eax
mov eax, esi
cmp edi, 0xffffffff
jne 0x413a29
lea eax, [esi - 1]
mov dword [esp + 4], eax
mov dword [esp], 0x45340f
call sub.cygwin1.dll_printf
cmp esi, dword [ebp - 0x68]
je 0x413a53
mov eax, edi
mov dword [esp], 0x453409
inc eax
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
jmp 0x413a5f
mov dword [esp], 0x20
call sub.cygwin1.dll_putchar
mov dword [esp], 0x453414
call sub.cygwin1.dll_printf
test byte [0x440292], 1
je 0x413a80
mov dword [esp], 0x453348
call sub.cygwin1.dll_printf
mov dword [esp], 0xa
mov esi, ebx
call sub.cygwin1.dll_putchar
cmp esi, dword [ebp - 0x54]
ja 0x413b3c
cmp esi, ebx
jne 0x413ac0
mov eax, dword [esi]
mov ecx, dword [0x43af10]
lea edx, [eax - 1]
mov eax, dword [esi + 0x14]
mov dword [esp + 4], ecx
mov ecx, dword [0x43c7e8]
mov dword [esp], ecx
mov ecx, 0x20
call fcn.004284ec
mov eax, dword [0x43af10]
mov edx, dword [esi + 4]
mov ecx, 0x2d
mov dword [esp + 4], eax
mov eax, dword [0x43c7e8]
mov dword [esp], eax
mov eax, dword [esi]
call fcn.004284ec
mov ecx, dword [0x43af18]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [0x43c7ec]
mov dword [esp], ecx
mov ecx, 0x2b
call fcn.004284ec
cmp esi, dword [ebp - 0x54]
mov eax, dword [esi + 4]
jne 0x413b10
mov edx, dword [esi + 0x10]
jmp 0x413b16
mov edi, dword [esi + 0x18]
lea edx, [edi - 1]
mov ecx, dword [0x43af10]
inc eax
add esi, 0x18
mov dword [esp + 4], ecx
mov ecx, dword [0x43c7e8]
mov dword [esp], ecx
mov ecx, 0x20
call fcn.004284ec
jmp 0x413a8e
mov ebx, dword [ebp - 0x58]
cmp dword [ebp - 0x5c], 0
jne 0x413908
jmp 0x4137d2
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret