Function at 0x44ccc0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x10
mov edx, dword [esp + 0x14]
lea eax, [esp]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x24]
mov ebx, ecx
push edi
mov ecx, dword [esp + 0x2c]
push 0
push eax
push ecx
push esi
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x44cf50
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x44ccff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
mov byte [eax + esi], 0
mov eax, dword [esp + 0x10]
push eax
push esi
mov ecx, ebx
call fcn.0044a4a0
cmp eax, 0xffffffff
jne 0x44cd21
cmp dword [esp + 0x10], 0x4000
jge 0x44cd6e
xor eax, eax
push eax
mov ecx, ebx
call fcn.0044cc00
mov ecx, dword [esp + 0x10]
push 0
push ecx
push esi
mov ecx, ebx
call fcn.0044cc80
cmp eax, 2
mov dword [esp + 0x18], eax
jne 0x44cd50
pop edi
pop esi
pop ebp
mov eax, 0x5851
pop ebx
add esp, 0x10
ret 0xc
mov eax, dword [esp + 0x10]
cmp eax, 0x4000
jle 0x44cd81
movsx edx, byte [ebx + 0x48]
push eax
push edx
push esi
call fcn.004663d0
add esp, 0xc
test eax, eax
jne 0x44cd7d
pop edi
pop esi
pop ebp
mov eax, 0x5832
pop ebx
add esp, 0x10
ret 0xc
mov eax, dword [esp + 0x10]
cmp byte [eax + esi - 1], 0x1a
jne 0x44cd96
mov byte [eax + esi - 1], 0
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
push esi
mov ecx, ebx
call fcn.00449ff0
mov ebp, eax
test ebp, ebp
je 0x44cf50
push 0
push ebp
mov ecx, ebx
call fcn.0044a3e0
mov ecx, dword [esp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x2c]
cmp ecx, eax
jne 0x44cf2f
push edi
mov ecx, ebx
call fcn.0044a410
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x10]
push 0
mov ebp, eax
mov eax, dword [esp + 0x28]
push ecx
push edx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x44cf48
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x44cf25
mov ecx, dword [esp + 0x18]
mov byte [eax + esi], 0
mov edx, dword [esp + 0x10]
push ecx
push edx
push esi
mov ecx, ebx
call fcn.0044cc80
cmp eax, 2
mov dword [esp + 0x18], eax
je 0x44cf48
mov eax, dword [esp + 0x10]
cmp byte [eax + esi - 1], 0x1a
jne 0x44ce36
mov byte [eax + esi - 1], 0
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
push esi
mov ecx, ebx
call fcn.00449ff0
mov edi, eax
test edi, edi
mov dword [esp + 0x14], edi
je 0x44cf48
movsx ecx, byte [ebx + 0x48]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
call fcn.004663d0
add esp, 0xc
test eax, eax
je 0x44ce7d
cmp dword [ebx + 0x44], 2
jne 0x44cf0d
mov al, byte [eax + 1]
mov cl, byte [ebx + 0x49]
cmp al, cl
je 0x44cf0d
mov eax, dword [edi + 0xc]
mov edx, dword [ebp + 0xc]
add eax, edx
mov ecx, ebx
push eax
push ebp
mov dword [esp + 0x24], eax
call fcn.0044a260
mov edi, dword [edi + 8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [ebp + 8]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1c]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebx + 0x44]
cmp ecx, 2
jne 0x44cee9
cmp eax, 2
jle 0x44cee9
mov esi, dword [ebp + 8]
mov dl, byte [ebx + 0x48]
mov cl, byte [esi + eax - 3]
cmp cl, dl
jne 0x44cee9
mov byte [esi + eax - 1], 0
mov eax, dword [ebp + 0xc]
dec eax
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov dword [ebp], edx
mov ecx, dword [eax]
test ecx, ecx
je 0x44cefb
mov dword [ecx + 4], ebp
push eax
mov ecx, ebx
call fcn.00449e60
mov esi, dword [esp + 0x28]
mov dword [esp + 0x14], ebp
jmp 0x44cf13
mov dword [ebp], edi
mov dword [edi + 4], ebp
push ebp
mov ecx, ebx
call fcn.0044a410
mov edi, dword [esp + 0x14]
mov ebp, eax
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
je 0x44cdc4
push 0
push ebp
mov ecx, ebx
call fcn.0044a3e0
pop edi
pop esi
mov dword [ebx + 0x1c], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0xc
push ebp
mov ecx, ebx
call fcn.0044a460
pop edi
pop esi
pop ebp
mov eax, 0x5831
pop ebx
add esp, 0x10
ret 0xc