Function at 0x61069e30
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ecx, 0xa
mov ebp, esp
sub esp, 0x68
mov dword [ebp - 0xc], ebx
xor ebx, ebx
mov dword [ebp - 4], edi
lea edx, [ebp - 0x2c]
mov dword [ebp - 8], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], 0
mov dword [esp + 0x10], ebx
lea ebx, [ebp - 0x28]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x30], eax
mov dword [esp], edi
call sub.KERNEL32.dll_ReadFile
sub esp, 0x14
test eax, eax
jne 0x61069ec7
test byte [0x6110a820], 1
jne 0x61069fa4
mov eax, dword [ebp - 0x30]
mov edx, 5
mov dword [esp + 4], edx
mov dword [esp], eax
call method.symlink_info.set_error_int_
test byte [0x6110a820], 1
jne 0x61069f40
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x2c]
cmp edx, 0xa
mov dword [ebp - 0x3c], edx
je 0x61069fe0
mov edi, dword [ebp - 0x30]
mov edx, dword [edi + 0x110]
test dl, 0x50
jne 0x61069e9c
xor eax, eax
cmp dword [ebp - 0x3c], 1
jle 0x61069f10
movzx ecx, byte [ebp - 0x28]
cmp cl, 0x23
je 0x6106a0a0
cmp cl, 0x3a
je 0x6106a0b4
cmp cl, 0x4d
je 0x6106a034
nop
lea esi, [esi]
test al, al
je 0x6106a020
mov eax, dword [ebp - 0x30]
or edx, 0x10
mov dword [eax + 0x110], edx
test byte [0x6110a820], 1
je 0x61069ea9
jmp 0x61069f40
mov edi, dword [ebp - 0x30]
mov eax, dword [edi + 0x110]
mov dword [esp + 0x18], edi
mov edi, 0x10
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], 0x6110a820
mov dword [esp + 0x10], eax
mov eax, str._d__symlink.check_sysfile___s___s____p_
mov dword [esp + 0xc], eax
mov eax, str.int_symlink_info::check_sysfile_const_char__void_
mov dword [esp + 8], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov eax, str.ReadFile1_failed
mov dword [esp + 0xc], eax
mov dword [esp], 0x6110a820
mov eax, str.int_symlink_info::check_sysfile_const_char__void_
mov dword [esp + 8], eax
mov eax, 0x40
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov edx, dword [ebp - 0x30]
mov eax, 5
mov dword [esp + 4], eax
mov dword [esp], edx
jmp 0x61069e97
cld
mov eax, str.__symlink_
mov ecx, 0xa
mov esi, ebx
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x6106a048
mov eax, str.__socket__
mov ecx, 0xa
mov esi, ebx
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x61069ed6
mov eax, dword [ebp - 0x30]
or dword [eax + 0x110], 0x40000000
jmp 0x61069e9c
mov edi, dword [ebp - 0x30]
or edx, 0x100
mov dword [edi + 0x110], edx
jmp 0x61069e9c
cmp byte [ebp - 0x27], 0x5a
jne 0x61069f10
mov eax, 1
jmp 0x61069f10
mov edx, dword [ebp - 0x30]
xor ebx, ebx
mov ecx, 0x104
mov esi, 1
lea edi, [ebp - 0x2c]
mov dword [edx + 0x110], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.KERNEL32.dll_ReadFile
mov dword [ebp - 0x34], eax
sub esp, 0x14
test eax, eax
jne 0x6106a0bd
test byte [0x6110a820], 1
je 0x61069fcb
mov edx, str.ReadFile2_failed
mov dword [esp + 0xc], edx
jmp 0x61069fad
cmp byte [ebp - 0x27], 0x21
jne 0x61069f02
mov eax, 1
jmp 0x61069f10
cmp byte [ebp - 0x27], 0xa
jmp 0x6106a038
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], edi
call sym.cygwin1.dll__memchr
test eax, eax
je 0x6106a0e3
sub eax, edi
mov dword [ebp - 0x34], eax
jmp 0x61069e9c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
jmp 0x61069e9c