Function at 0x4289e4
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
push edi
push esi
push ebx
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
shl eax, 3
mov ebx, 0x427d65
sub eax, dword [ebp + 8]
mov esi, ebx
lea eax, [edx + eax*4]
shl eax, 3
mov edx, 0x462650
mov dword [ebp - 0x28], eax
mov ecx, dword [eax + edx]
mov dword [ebp - 0x2c], ecx
xor eax, eax
mov al, byte [ecx + 0x104]
add eax, dword [ebp + 0x10]
mov dword [ebp - 0x58], eax
mov eax, 0x4714ec
mov edi, eax
cld
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov dword [0x47108c], 0x152
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x58], 3
jg 0x428a84
mov eax, dword [ebp + 0x10]
add esp, 0xfffffffc
push eax
mov esi, 0x462650
mov edx, dword [ebp + 0xc]
xor eax, eax
push edx
mov ecx, dword [ebp - 0x2c]
mov al, byte [ecx + 0x104]
lea eax, [ecx + eax + 0x100]
push eax
call fcn.0043ff88
mov edi, dword [ebp - 0x28]
mov dl, byte [ebp + 0x10]
mov eax, dword [edi + esi]
add byte [eax + 0x104], dl
jmp 0x4290c3
cmp dword [ebp - 0x58], 4
jne 0x428ad8
mov ecx, dword [ebp - 0x2c]
xor eax, eax
add esp, 0xfffffffc
lea ebx, [ebp - 0x24]
mov al, byte [ecx + 0x104]
push eax
mov eax, ecx
add eax, 0x100
push eax
push ebx
call fcn.0043ff88
add esp, 0xfffffffc
mov eax, dword [ebp + 0x10]
push eax
mov ecx, 0x462650
mov edx, dword [ebp + 0xc]
push edx
mov esi, dword [ebp - 0x28]
mov eax, dword [esi + ecx]
mov al, byte [eax + 0x104]
and eax, 0xff
add eax, ebx
push eax
call fcn.0043ff88
add esp, 0x20
jmp 0x428b31
mov eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x2c]
dec eax
xor edx, edx
and al, 0xfc
mov dl, byte [edi + 0x104]
mov ebx, eax
sub dword [ebp - 0x58], eax
sub ebx, edx
cmp dword [ebp - 0x58], 3
jg 0x428b18
mov eax, dword [ebp - 0x58]
add esp, 0xfffffffc
push eax
mov eax, dword [ebp + 0xc]
add eax, ebx
push eax
mov eax, edi
add eax, 0x100
push eax
call fcn.0043ff88
jmp 0x4290c3
add esp, 0xfffffffc
mov edx, dword [ebp - 0x58]
push edx
mov eax, dword [ebp + 0xc]
add eax, ebx
push eax
lea ebx, [ebp - 0x24]
push ebx
call fcn.0043ff88
add esp, 0x10
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 8]
shl ecx, 3
xor edx, edx
mov eax, ecx
mov dword [ebp - 0x58], ecx
sub eax, dword [ebp + 8]
lea eax, [esi + eax*4]
lea ebx, [eax*8]
mov eax, dword [ebx + 0x462650]
mov byte [eax + 0x104], 0
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x48]
xor eax, eax
cld
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov dword [0x47108c], 0x164
mov dl, byte [ebp - 0x24]
mov al, byte [ebp - 0x23]
shl eax, 0x10
shl edx, 0x18
add edx, eax
xor eax, eax
mov al, byte [ebp - 0x22]
shl eax, 8
add edx, eax
xor eax, eax
mov al, byte [ebp - 0x21]
add edx, eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebx + 0x462650]
mov dword [eax + 0xfc], edx
mov eax, dword [ebx + 0x462650]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x44], esi
cmp edx, dword [eax + 0xf8]
jbe 0x428c4f
cmp edx, dword [eax + 0xf4]
ja 0x428c4f
mov edx, 0x428626
lea esi, [ebx + 0x46257c]
mov ecx, 7
mov edi, edx
cld
test al, 0
repe cmpsb byte [esi], byte es:[edi]
jne 0x428bfc
add esp, 0xfffffffc
push 0x428924
push 0x427dcb
push 0x20
call fcn.00437adc
add esp, 0x10
jmp 0x428c4f
add esp, 0xfffffffc
push 0
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [eax + 0x12c]
push eax
call sub.cygwin1.dll_fseek
mov eax, dword [ebx + 0x462650]
mov ecx, dword [ebp - 0x54]
mov dword [eax + 0xf8], ecx
add esp, 0xfffffff8
lea eax, [ebx + 0x46257c]
push eax
mov eax, dword [ebx + 0x462650]
push eax
mov eax, dword [ebp - 0x54]
shr eax, 0xa
push eax
push 0x428964
push 0x427dcb
push 0x100
call fcn.00437adc
add esp, 0x30
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp + 8]
sub eax, dword [ebp + 8]
mov edi, 0x462650
lea eax, [esi + eax*4]
shl eax, 3
mov dword [ebp - 0x30], eax
mov edx, dword [eax + edi]
mov eax, dword [ebp - 0x54]
cmp eax, dword [edx + 0xf8]
jne 0x4290c3
cmp eax, dword [edx + 0xf4]
jne 0x428ff8
mov edx, dword [ebp - 0x30]
mov ebx, 0x46256c
add esp, 0xfffffff4
mov eax, dword [edx + ebx]
push eax
call fcn.0043e450
mov ecx, dword [ebp - 0x30]
add esp, 0xfffffff4
mov eax, dword [ecx + edi]
mov edi, 0x428626
mov eax, dword [eax + 0x12c]
push eax
call sub.cygwin1.dll_fclose
mov esi, dword [ebp - 0x30]
mov ecx, 7
add esi, 0x46257c
add esp, 0x20
cld
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x428cce
sbb eax, eax
or al, 1
test eax, eax
jne 0x428dac
lea eax, [ebp - 0x20]
xor edi, edi
xor esi, esi
mov dword [ebp - 0x40], eax
cmp edi, dword [0x45c238]
jge 0x428d35
mov edx, dword [ebp - 0x30]
add edx, 0x46259c
mov dword [ebp - 0x34], edx
lea eax, [esi*8]
add esp, 0xfffffff8
sub eax, esi
mov ecx, dword [ebp - 0x34]
lea eax, [esi + eax*4]
push ecx
lea ebx, [eax*8]
lea eax, [ebx + 0x46257c]
push eax
call sub.cygwin1.dll_strcasecmp
add esp, 0x10
test eax, eax
jne 0x428d2c
cmp dword [ebx + 0x462640], 0xa
jne 0x428d2c
mov edi, esi
inc esi
cmp esi, dword [0x45c238]
jl 0x428cf4
lea edx, [edi*8]
test edi, edi
je 0x428d51
mov eax, edx
sub eax, edi
lea eax, [edi + eax*4]
mov eax, dword [eax*8 + 0x462650]
and byte [eax], 0xef
sub edx, edi
lea ebx, [edi + edx*4]
shl ebx, 3
lea esi, [ebx + 0x46257c]
push esi
push 0x4289a4
push 0x427dcb
push 0x100
call fcn.00437adc
mov edi, dword [ebp + 8]
add esp, 0xfffffff4
sub dword [ebp - 0x44], edi
mov edx, dword [ebp - 0x44]
lea eax, [edi + edx*4]
mov eax, dword [eax*8 + 0x462650]
push eax
call sub.cygwin1.dll_unlink
add esp, 0x20
add esp, 0xfffffff8
push esi
mov eax, dword [ebx + 0x46256c]
push eax
call fcn.0043946c
mov byte [ebp - 0x20], 0
jmp 0x428f74
mov esi, dword [ebp - 0x30]
mov ecx, 0x462650
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov ebx, dword [esi + ecx]
add esp, 0xfffffff4
lea edi, [ebx + 0x10c]
add esi, 0x46257c
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x54], esi
mov edi, edx
mov esi, eax
add ebx, 0x79
cld
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov dword [0x47108c], 0xfc
mov eax, dword [ebp - 0x5c]
push eax
call fcn.00456c74
mov dword [ebp - 0x38], eax
push 0
mov edx, dword [ebp - 0x5c]
push edx
push 0x42860e
mov eax, dword [0x47452c]
push eax
call sub.cygtcl80.dll_Tcl_SetVar
add esp, 0x20
push 0
mov ecx, dword [ebp - 0x54]
push ecx
push 0x428611
mov eax, dword [0x47452c]
push eax
call sub.cygtcl80.dll_Tcl_SetVar
push 0
push ebx
push 0x428614
mov eax, dword [0x47452c]
push eax
call sub.cygtcl80.dll_Tcl_SetVar
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov edi, edx
mov esi, eax
add esp, 0x20
cld
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
add esp, 0xfffffff4
mov dword [0x47108c], 0x101
push 0xe
push 0x428618
mov eax, dword [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x5c]
push edx
push 0x474b6c
call fcn.0044c4dc
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x3c]
mov edi, eax
mov edx, 0x462650
add esp, 0x20
cld
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
add esp, 0xfffffff4
mov dword [0x47108c], 0x104
mov edi, 0x462650
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + edx]
add eax, 0x79
push eax
call fcn.0042be30
add esp, 0xfffffff4
mov esi, dword [ebp - 0x54]
push esi
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + edi]
push eax
mov edi, 1
push 0x4289c7
push 0x427dcb
push 0x100
call fcn.00437adc
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x20]
add esp, 0x30
mov esi, dword [ecx + 0x462650]
mov dword [ebp - 0x40], eax
cmp dword [0x45cb94], 0
je 0x428f54
xor ebx, ebx
cmp ebx, dword [0x45c238]
jge 0x428f44
lea esi, [esi]
cmp ebx, dword [ebp + 8]
je 0x428f3b
lea eax, [ebx*8]
sub eax, ebx
lea eax, [ebx + eax*4]
lea edx, [eax*8]
mov eax, dword [edx + 0x462640]
add eax, 0xfffffffc
cmp eax, 1
ja 0x428f3b
add esp, 0xfffffff8
push esi
mov eax, dword [edx + 0x462650]
push eax
call sub.cygwin1.dll_strcmp
add esp, 0x10
test eax, eax
jne 0x428f3b
xor edi, edi
inc ebx
cmp ebx, dword [0x45c238]
jl 0x428efc
test edi, edi
je 0x428f54
add esp, 0xfffffff4
push esi
call sub.cygwin1.dll_unlink
add esp, 0x10
mov edx, dword [ebp + 8]
add esp, 0xfffffff8
sub dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x44]
lea eax, [edx + ecx*4]
lea eax, [eax*8 + 0x46257c]
push eax
mov esi, dword [ebp - 0x40]
push esi
call sub.cygwin1.dll_strcpy
add esp, 0x10
add esp, 0xfffffff4
mov edi, dword [ebp + 8]
push edi
xor esi, esi
call fcn.00422aa4
xor ebx, ebx
add esp, 0x10
cmp esi, dword [0x45c238]
jge 0x428fd9
mov esi, esi
lea eax, [ebx*8]
sub eax, ebx
lea eax, [ebx + eax*4]
lea edx, [eax*8]
mov eax, dword [edx + 0x462640]
add eax, 0xfffffffc
cmp eax, 1
ja 0x428fd0
add esp, 0xfffffff8
mov eax, dword [ebp - 0x40]
push eax
lea eax, [edx + 0x46257c]
push eax
call sub.cygwin1.dll_strcasecmp
add esp, 0x10
test eax, eax
jne 0x428fd0
inc esi
inc ebx
cmp ebx, dword [0x45c238]
jl 0x428f94
cmp esi, dword [0x45cb9c]
jge 0x4290c3
add esp, 0xfffffff4
mov edx, dword [ebp - 0x40]
push edx
call fcn.00427f2c
jmp 0x4290c3
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x48]
cld
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov dword [0x47108c], 0x1a4
mov esi, dword [0x45cba0]
test esi, esi
je 0x42902a
mov eax, esi
add eax, dword [edx + 0xf8]
cmp eax, dword [edx + 0xf4]
jbe 0x429038
mov eax, dword [edx + 0xf8]
mov esi, dword [edx + 0xf4]
sub esi, eax
add esp, 0xfffffffc
lea eax, [esi + 1]
push 0x1aa
push 0x427d65
push eax
call fcn.004361d8
mov edi, eax
mov eax, dword [ebp + 8]
sub dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
lea ebx, [eax + edx*4]
shl ebx, 3
mov eax, dword [ebx + 0x462650]
mov eax, dword [eax + 0x12c]
push eax
push 1
push esi
push edi
call sub.cygwin1.dll_fread
add esp, 0x20
add esp, 0xfffffffc
push esi
push edi
mov eax, dword [ebx + 0x46256c]
push eax
call fcn.0043f6d4
add esp, 0xfffffffc
push 0x1ad
push 0x427d65
push edi
call fcn.00436254
mov eax, dword [ebx + 0x462650]
add esp, 0x20
add esp, 0xfffffff4
add dword [eax + 0xf8], esi
push 0
call sub.cygwin1.dll_time
mov edx, eax
mov eax, dword [ebx + 0x462650]
mov dword [eax + 0x108], edx
lea esp, [ebp - 0x78]
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret