Function at 0x48d400
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0xc], ebx
mov ebx, ecx
mov esi, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x48d8b0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
jl 0x48d463
cmp byte [ebp + 8], 0
je 0x48d459
lea ecx, [ebp - 5]
mov eax, dword [0x57e200]
mov eax, dword [eax]
mov edx, 0x48d8cc
call fcn.0047e828
jmp 0x48d88d
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0048e574
mov eax, 0x200
call fcn.00402ef0
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x18]
mov eax, edi
xor ecx, ecx
mov edx, 0x200
call fcn.004039fc
xor edx, edx
push ebp
push 0x48d865
push dword fs:[edx]
mov dword fs:[edx], esp
push edi
mov eax, esi
call fcn.004055f8
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x48d4cf
mov eax, dword [ebp - 0x18]
call fcn.00402f20
lea ecx, [ebp - 5]
mov eax, dword [0x57e200]
mov eax, dword [eax]
mov edx, 0x48d8e0
call fcn.0047e844
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48d88d
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_FindClose_1
mov eax, ebx
call fcn.004055f8
mov edx, dword [ebp - 0x18]
add edx, 0x2c
mov ecx, 0x104
call fcn.004031b0
lea eax, [ebp - 0xc]
call fcn.00405138
mov eax, dword [ebp - 0x18]
mov dl, byte [ebp + 0xc]
mov byte [eax + 0x170], dl
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c]
shl eax, 0x20
mov edx, dword [ebp - 0x18]
or eax, dword [edx + 0x20]
xor edx, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0048ec5c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0048eb54
mov ebx, eax
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x168]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0048e6d4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
jne 0x48d569
mov eax, dword [ebp - 0x18]
call fcn.00402f20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48d88d
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x16c], ebx
mov cl, 1
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.0048ed1c
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, esi
call fcn.004055f8
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x48d5d0
mov eax, dword [ebp - 0x18]
call fcn.00402f20
lea ecx, [ebp - 5]
mov eax, dword [0x57e200]
mov eax, dword [eax]
mov edx, 0x48d8fc
call fcn.0047e844
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48d88d
xor edx, edx
push ebp
push 0x48d76c
push dword fs:[edx]
mov dword fs:[edx], esp
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, dword [0x57e000]
mov eax, dword [eax]
call fcn.0047fb14
mov eax, dword [ebp - 0x20]
mov ebx, eax
mov edx, dword [ebp - 4]
cmp byte [edx + 0xa], 0
je 0x48d60c
mov edx, dword [0x57e4fc]
mov edx, dword [edx]
xchg edx, eax
call fcn.0048c6d4
mov edx, 0xfe00
mov eax, ebx
call fcn.0047d4c8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
call fcn.0048eb54
mov edi, eax
shl edi, 9
mov eax, edi
call fcn.00402ef0
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0x48d74e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x168]
mov dword [ebp - 0x10], eax
test ebx, ebx
je 0x48d738
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
push edx
push eax
mov eax, ebx
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
mov eax, dword [0x57e000]
mov eax, dword [eax]
call fcn.0047fb68
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov edx, edi
call fcn.004039fc
mov edx, ebx
mov eax, edi
call fcn.0047d4c8
mov esi, eax
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
call fcn.0048eb54
mov dword [ebp - 0x24], eax
push 0
lea eax, [ebp - 0x28]
push eax
push esi
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_ReadFile_1
test eax, eax
jne 0x48d6eb
mov eax, dword [ebp - 0x18]
call fcn.00402f20
lea ecx, [ebp - 5]
mov eax, dword [0x57e200]
mov eax, dword [eax]
mov edx, 0x48d91c
call fcn.0047e844
call fcn.00404b38
call fcn.00404b38
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48d88d
cmp dword [ebp - 0x28], 0
jbe 0x48d728
mov eax, dword [ebp - 4]
cmp byte [eax + 0xa], 0
je 0x48d712
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [0x57e4fc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x10]
call fcn.0048c9b4
jmp 0x48d728
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [0x57dff4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x10]
call fcn.0047f71c
mov eax, dword [ebp - 0x24]
add dword [ebp - 0x10], eax
sub ebx, esi
test ebx, ebx
jne 0x48d655
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48d755
mov eax, dword [ebp - 0x2c]
call fcn.00402f20
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48d8b7
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.0040515c
lea eax, [ebp - 0xc]
call fcn.00405138
ret