Function at 0x41d6c4
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov edx, 0xffffffff
mov edi, dword [esp + 0x40]
mov eax, 0
mov ecx, edx
repne scasb al, byte es:[edi]
mov ebx, ecx
mov edi, dword [esp + 0x44]
mov ecx, edx
repne scasb al, byte es:[edi]
sub ecx, ebx
cmp dword [0x4954a0], 1
jle 0x41d90b
mov edx, ecx
mov ebx, 0x447480
mov dword [esp + 0x18], 0xffffffff
mov esi, 1
add edx, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov edi, ebx
mov ebp, dword [ebx]
and ebp, 1
jne 0x41d8f7
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [ebx + 8]
cmp byte [eax], 0
je 0x41d825
mov eax, dword [ebx + 4]
cmp byte [eax], 0
je 0x41d825
mov edx, dword [ebx]
test dl, 4
je 0x41d764
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
jmp 0x41d78d
and edx, 2
mov edx, 0x450b9c
cmove edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x450b9d
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0043dbe2
mov dword [esp + 4], 4
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.msvcrt.dll__access
test eax, eax
jne 0x41d8f7
test byte [edi], 4
je 0x41d7d3
mov eax, dword [edi + 8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x450b9d
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0043dbe2
jmp 0x41d7f6
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x450b9d
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0043dbe2
test byte [edi], 8
jne 0x41d817
mov dword [esp + 4], 4
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.msvcrt.dll__access
test eax, eax
jne 0x41d8f7
imul esi, esi, 0x1c
mov ebp, dword [esi + 0x447460]
jmp 0x41d917
cmp dword [esp + 0x18], 0
jns 0x41d8a9
mov dword [esp + 4], 0x8000
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll__open
mov dword [esp + 0x18], eax
test eax, eax
js 0x41d917
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0x4950a0
mov dword [esp], eax
call sub.msvcrt.dll__read
mov dword [0x495094], eax
test eax, eax
jg 0x41d87e
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call sub.msvcrt.dll__close
jmp 0x41d917
mov dword [esp + 4], 0x450b67
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call sub.msvcrt.dll__fdopen
mov dword [0x495098], eax
test eax, eax
jne 0x41d8a9
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call sub.msvcrt.dll__close
jmp 0x41d917
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dword [edi + 0xc]
test eax, eax
je 0x41d8dc
mov ebp, eax
mov eax, dword [0x495098]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
jmp 0x41d917
mov eax, dword [0x495098]
test eax, eax
je 0x41d8f7
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [0x495098], 0
add esi, 1
add ebx, 0x1c
cmp dword [0x4954a0], esi
jg 0x41d712
jmp 0x41d912
mov ebp, 0
jmp 0x41d917
mov ebp, 0
mov eax, ebp
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret