Function at 0x44fd10
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
call fcn.0044fc70
mov esi, dword [esp + 0x34]
mov edi, dword [sym.imp.MSVCRT.dll_fread]
push esi
mov ebx, eax
push 1
push 4
push ebx
mov dword [esp + 0x28], ebx
call edi
add esp, 0x10
cmp eax, 1
jne 0x44fd4e
push esi
push eax
lea eax, [ebx + 4]
push 4
push eax
call edi
add esp, 0x10
cmp eax, 1
je 0x44fd5b
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
lea esi, [ebx + 8]
mov ebp, 0x100
mov edi, esi
mov ecx, dword [esp + 0x34]
push ecx
push 1
push 2
push edi
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x44fd8a
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
add edi, 2
dec ebp
jne 0x44fd65
lea edi, [ebx + 0x208]
mov ebp, 0x64
mov edx, dword [esp + 0x34]
push edx
push 1
push 1
push edi
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x44fdc0
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
inc edi
dec ebp
jne 0x44fd9b
mov edi, 0x68
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x38]
push eax
push 1
push 4
push ecx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x44fdf2
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
dec edi
jne 0x44fdc9
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
test eax, eax
jl 0x44fe0b
cmp eax, 4
jg 0x44fe0b
mov byte [esp + 0x38], 0
jmp 0x44fe33
push ecx
mov byte [esp + 0x3c], 1
call fcn.0042bc30
push ebx
call fcn.0042bc30
add esp, 8
mov edi, 0x100
push esi
call fcn.0042bc50
add esp, 4
add esi, 2
dec edi
jne 0x44fe24
mov eax, dword [ebx + 4]
mov dword [esp + 0x10], 0
test eax, eax
jle 0x44fef2
lea edx, [ebx + 0x3fc]
mov dword [esp + 0x1c], edx
push 0x1b000
call fcn.004555b0
mov esi, eax
mov eax, dword [esp + 0x38]
push eax
push 0x1b000
push 1
push esi
mov dword [esp + 0x38], esi
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x14
cmp eax, 0x1b000
je 0x44fe8a
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
mov al, byte [esp + 0x38]
test al, al
je 0x44fed1
mov dword [esp + 0x14], 0x18
mov ebx, 0x18
mov ebp, 0x18
mov edi, 2
push esi
call fcn.0042bc30
add esp, 4
add esi, 4
dec edi
jne 0x44fea9
dec ebp
jne 0x44fea4
dec ebx
jne 0x44fe9f
mov eax, dword [esp + 0x14]
dec eax
mov dword [esp + 0x14], eax
jne 0x44fe9a
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
inc eax
mov dword [ecx], esi
add ecx, 4
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 4]
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x44fe50
mov eax, dword [ebx]
mov dword [esp + 0x10], 0
test eax, eax
jle 0x45012b
add ebx, 0x26c
mov dword [esp + 0x14], ebx
push 0x58
call fcn.004555b0
mov edi, dword [esp + 0x38]
mov ebp, dword [sym.imp.MSVCRT.dll_fread]
push edi
mov ebx, eax
push 1
push 2
push ebx
mov dword [esp + 0x3c], ebx
call ebp
add esp, 0x14
cmp eax, 1
jne 0x44ff57
push edi
push eax
lea ecx, [ebx + 2]
push eax
push ecx
call ebp
add esp, 0x10
cmp eax, 1
jne 0x44ff57
push edi
push eax
lea edx, [ebx + 3]
push eax
push edx
call ebp
add esp, 0x10
cmp eax, 1
je 0x44ff64
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
mov esi, 5
push edi
push 1
lea eax, [esp + 0x34]
push 4
push eax
call ebp
add esp, 0x10
cmp eax, 1
je 0x44ff8a
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
dec esi
jne 0x44ff69
lea ebp, [ebx + 0x18]
mov edi, 0x20
mov esi, ebp
mov ecx, dword [esp + 0x34]
push ecx
push 1
push 2
push esi
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x44ffbc
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
add esi, 2
dec edi
jne 0x44ff97
mov al, byte [esp + 0x38]
test al, al
je 0x44ffe9
push ebx
call fcn.0042bc50
add esp, 4
mov esi, ebp
mov edi, 0x20
push esi
call fcn.0042bc50
add esp, 4
add esi, 2
dec edi
jne 0x44ffda
mov edx, dword [esp + 0x14]
xor eax, eax
mov dword [edx], ebx
mov al, byte [ebx + 2]
shl eax, 6
push eax
call fcn.004555b0
mov ecx, dword [esp + 0x38]
xor edx, edx
mov dl, byte [ebx + 2]
push ecx
shl edx, 6
mov esi, eax
push edx
push 1
push esi
call dword [sym.imp.MSVCRT.dll_fread]
xor ecx, ecx
add esp, 0x14
mov cl, byte [ebx + 2]
shl ecx, 6
cmp eax, ecx
je 0x450032
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
mov al, byte [ebx + 2]
mov dword [ebx + 0x14], esi
test al, al
mov dword [esp + 0x20], 0
jbe 0x4500ff
add ebx, 4
mov dword [esp + 0x24], ebx
push 0x800
call fcn.004555b0
mov edx, dword [esp + 0x38]
mov ebx, eax
push edx
push 0x800
push 1
push ebx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x14
cmp eax, 0x800
je 0x450085
push 0x4bf7b4
call fcn.0042ba70
add esp, 4
mov al, byte [esp + 0x38]
test al, al
je 0x4500d8
mov esi, ebx
mov dword [esp + 0x1c], 3
mov ebp, 0x40
mov edi, 2
push esi
call fcn.0042bc30
add esp, 4
add esi, 4
dec edi
jne 0x4500a1
dec ebp
jne 0x45009c
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x1c], eax
jne 0x450097
lea esi, [ebx + 0x604]
mov edi, 0x40
push esi
call fcn.0042bc30
add esp, 4
add esi, 8
dec edi
jne 0x4500c9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [ecx], ebx
add ecx, 4
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov cl, byte [edx + 2]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x45004f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
inc eax
mov edx, dword [ecx]
add esi, 4
cmp eax, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
jl 0x44ff0e
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x20
ret
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x20
ret