Function at 0x44c235
Capabilities:
Get file size
Read file on windows

Disassembly:
push ecx
push ecx
push ebx
push ebp
push esi
push edi
push dword [0x5760f0]
xor ebp, ebp
call fcn.00460dd0
mov ebx, eax
call fcn.0044c866
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x44c25c
mov esi, 0x527268
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
xor eax, eax
push eax
push pe_nt_image_headers32
push 3
push eax
push 1
push 0xc0000000
push esi
mov dword [ebx + 0xc], eax
call edi
mov dword [ebx], eax
cmp eax, 0xffffffff
jne 0x44c2c4
push 0
push pe_nt_image_headers32
push 3
push 0
push 1
push SysReAllocStringLen
push esi
call edi
mov dword [ebx], eax
cmp eax, 0xffffffff
jne 0x44c2b4
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push SysReAllocStringLen
push esi
call edi
mov dword [ebx], eax
mov dword [ebx + 0xc], 1
cmp eax, 0xffffffff
je 0x44c586
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp dword [esp + 0x24], 2
mov edi, eax
jne 0x44c2dd
mov eax, 0xfde9
jmp 0x44c2df
xor eax, eax
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebx + 0x2c], eax
cmp edi, 3
jl 0x44c337
push 0
lea eax, [esp + 0x18]
push eax
push 3
lea eax, [esp + 0x1c]
push eax
push dword [ebx]
call esi
cmp dword [esp + 0x14], 3
jne 0x44c3f0
push 3
lea eax, [esp + 0x14]
push 0x53dc6c
push eax
call fcn.00420fa1
add esp, 0xc
test eax, eax
jne 0x44c3f0
mov dword [ebx + 0x18], 0xfde9
sub edi, 3
test edi, edi
jle 0x44c420
lea eax, [edi + 2]
xor ecx, ecx
push eax
push ecx
push dword [0x5738a0]
cmp dword [ebx + 0x18], ecx
jne 0x44c402
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
je 0x44c420
lea eax, [edi*4 + 2]
push eax
push 0
push dword [0x5738a0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebx + 0x10], eax
test eax, eax
je 0x44c420
push 0
lea eax, [esp + 0x18]
push eax
push edi
push esi
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x14]
push esi
mov byte [esi + eax], 0
call fcn.004ca820
mov edi, eax
push edi
call fcn.004ca650
mov esi, eax
push esi
push dword [ebx + 0x10]
call fcn.004ffc20
pop ecx
pop ecx
push esi
call fcn.004ca640
push edi
call fcn.004ca8a0
push dword [ebx + 0x10]
call fcn.004ffd20
pop ecx
push dword [esp + 0x20]
mov dword [ebx + 0x18], 0xfde9
mov edi, eax
push 0
push dword [0x5738a0]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x44c420
xor eax, eax
push eax
push eax
push eax
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x44c33f
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebx + 0x10], eax
test eax, eax
je 0x44c420
push 0
lea ecx, [esp + 0x18]
push ecx
push edi
push eax
push dword [ebx]
call esi
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x44c5c3
xor ecx, ecx
mov word [eax + edi], cx
mov esi, dword [ebx + 0x10]
lea eax, [esi + edi]
mov dword [ebx + 0x14], eax
cmp esi, eax
jae 0x44c5c3
push 0x10
pop edi
mov al, byte [esi]
cmp al, 0x20
je 0x44c44f
cmp al, 9
jne 0x44c452
inc esi
jmp 0x44c445
cmp al, 0x3b
jne 0x44c4a0
inc esi
cmp byte [esi], 0x20
jne 0x44c45d
inc esi
push edi
test ebp, ebp
je 0x44c46a
push ebp
call fcn.004615d4
jmp 0x44c473
lea eax, [ebx + 0x1c]
push eax
call fcn.00461565
lea ebp, [eax - 8]
pop ecx
pop ecx
mov dword [ebp + 8], 2
mov dword [ebp + 0xc], esi
jmp 0x44c495
cmp al, 0xa
je 0x44c56d
cmp al, 0xd
je 0x44c56d
inc esi
mov al, byte [esi]
test al, al
jne 0x44c484
jmp 0x44c56d
cmp al, 0x5b
jne 0x44c507
inc esi
push edi
test ebp, ebp
je 0x44c4b2
push ebp
call fcn.004615d4
jmp 0x44c4bb
lea eax, [ebx + 0x1c]
push eax
call fcn.00461565
lea ebp, [eax - 8]
mov dword [ebp + 8], 1
mov dword [ebp + 0xc], esi
mov al, byte [esi]
pop ecx
pop ecx
test al, al
je 0x44c4ec
mov cl, al
mov al, cl
cmp cl, 0x5d
je 0x44c4ec
cmp cl, 0xa
je 0x44c4ec
cmp cl, 0xd
je 0x44c4ec
inc esi
mov al, byte [esi]
mov cl, al
test al, al
jne 0x44c4d2
mov byte [esi], 0
inc esi
cmp al, 0x5d
jne 0x44c571
jmp 0x44c4ff
cmp al, 0xa
je 0x44c571
cmp al, 0xd
je 0x44c571
inc esi
mov al, byte [esi]
test al, al
jne 0x44c4f6
jmp 0x44c571
cmp al, 0xa
je 0x44c571
cmp al, 0xd
je 0x44c571
mov edx, esi
jmp 0x44c522
cmp al, 0x3d
je 0x44c526
cmp al, 0xd
je 0x44c526
cmp al, 0xa
je 0x44c526
inc esi
mov al, byte [esi]
test al, al
jne 0x44c513
lea eax, [esi - 1]
jmp 0x44c538
mov cl, byte [eax]
cmp cl, 0x20
je 0x44c537
cmp cl, 9
jne 0x44c53c
dec eax
cmp eax, edx
ja 0x44c52b
mov byte [eax + 1], 0
inc esi
mov al, byte [esi]
cmp al, 0x20
je 0x44c540
cmp al, 9
je 0x44c540
push esi
push edx
lea eax, [ebx + 0x1c]
push ebp
push eax
call fcn.0044c5de
add esp, 0x10
mov ebp, eax
jmp 0x44c567
cmp al, 0xa
je 0x44c56d
cmp al, 0xd
je 0x44c56d
inc esi
mov al, byte [esi]
test al, al
jne 0x44c55e
mov byte [esi], 0
inc esi
mov al, byte [esi]
cmp al, 0xa
je 0x44c570
cmp al, 0xd
je 0x44c570
cmp esi, dword [ebx + 0x14]
jb 0x44c445
jmp 0x44c5c3
mov eax, dword [esp + 0x20]
and dword [ebx], ebp
push esi
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x18], 0xfde9
call fcn.00415a8e
pop ecx
lea eax, [eax*2 + 2]
push eax
push 0
push dword [0x5738a0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebx + 4], eax
test eax, eax
je 0x44c5c3
push esi
push eax
call fcn.004ff5b2
pop ecx
pop ecx
mov eax, dword [ebx]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret 0xc