Function at 0x6106a370
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 0x6106a407
test byte [0x6110c854], 1
jne 0x6106a4e4
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 [0x6110c854], 1
jne 0x6106a480
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 0x6106a520
mov edi, dword [ebp - 0x30]
mov edx, dword [edi + 0x110]
test dl, 0x50
jne 0x6106a3dc
xor eax, eax
cmp dword [ebp - 0x3c], 1
jle 0x6106a450
movzx ecx, byte [ebp - 0x28]
cmp cl, 0x23
je 0x6106a5e0
cmp cl, 0x3a
je 0x6106a5f4
cmp cl, 0x4d
je 0x6106a574
nop
lea esi, [esi]
test al, al
je 0x6106a560
mov eax, dword [ebp - 0x30]
or edx, 0x10
mov dword [eax + 0x110], edx
test byte [0x6110c854], 1
je 0x6106a3e9
jmp 0x6106a480
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], 0x6110c854
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], 0x6110c854
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 0x6106a3d7
cld
mov eax, str.__symlink_
mov ecx, 0xa
mov esi, ebx
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x6106a588
mov eax, str.__socket__
mov ecx, 0xa
mov esi, ebx
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x6106a416
mov eax, dword [ebp - 0x30]
or dword [eax + 0x110], 0x40000000
jmp 0x6106a3dc
mov edi, dword [ebp - 0x30]
or edx, 0x100
mov dword [edi + 0x110], edx
jmp 0x6106a3dc
cmp byte [ebp - 0x27], 0x5a
jne 0x6106a450
mov eax, 1
jmp 0x6106a450
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 0x6106a5fd
test byte [0x6110c854], 1
je 0x6106a50b
mov edx, str.ReadFile2_failed
mov dword [esp + 0xc], edx
jmp 0x6106a4ed
cmp byte [ebp - 0x27], 0x21
jne 0x6106a442
mov eax, 1
jmp 0x6106a450
cmp byte [ebp - 0x27], 0xa
jmp 0x6106a578
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 0x6106a623
sub eax, edi
mov dword [ebp - 0x34], eax
jmp 0x6106a3dc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
jmp 0x6106a3dc