Function at 0x44cab0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x350
push ebx
push ebp
push esi
mov esi, dword [esp + 0x360]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
push 0
push 0x3c
mov dword [esp + 0x40], ecx
push esi
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [esp + 0x18]
push 0
push eax
lea ecx, [esp + 0x34]
push 4
push ecx
push esi
call ebx
test eax, eax
je 0x44cd17
mov edx, dword [esp + 0x2c]
push 0
push 0
push edx
push esi
call edi
lea eax, [esp + 0x18]
push 0
push eax
lea ecx, [esp + 0x68]
push 0xf8
push ecx
push esi
call ebx
test eax, eax
je 0x44cd17
mov edi, dword [esp + 0x66]
and edi, 0xffff
mov dword [esp + 0x10], edi
jle 0x44cd17
cmp edi, 0xc8
jg 0x44cd17
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x44cd17
lea edi, [edi + edi*4]
shl edi, 3
push edi
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x44cd17
lea edx, [esp + 0x18]
push 0
push edx
push edi
push ebp
push esi
call ebx
test eax, eax
je 0x44cd0e
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
add eax, edx
mov ecx, 9
mov dword [esp + 0x28], eax
xor eax, eax
lea edi, [esp + 0x3c]
mov dword [esp + 0x38], 0
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
push eax
push eax
push ecx
push ebp
push edx
mov dword [esp + 0x38], edx
call fcn.00446510
add esp, 0xc
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea edx, [esp + 0x18]
push 0
push edx
lea eax, [esp + 0x40]
push 0x28
push eax
push esi
call ebx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x44cd0e
cmp eax, 0x80000000
jae 0x44cd0e
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x44cd0e
mov edi, dword [esp + 0x50]
test edi, edi
je 0x44cd0e
cmp eax, edi
jb 0x44cd0e
mov eax, dword [esp + 0x54]
test eax, eax
je 0x44cd0e
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x44cd0e
mov eax, dword [esp + 0x58]
test eax, eax
je 0x44cd0e
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], edi
push ecx
push ebp
push eax
call fcn.00446510
add esp, 0xc
mov dword [esp + 0x14], eax
test edi, edi
mov dword [esp + 0x1c], 0
jle 0x44cd0e
mov edx, dword [esp + 0x14]
xor eax, eax
mov ecx, 0x82
lea edi, [esp + 0x158]
push eax
push eax
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push edx
push esi
call edi
lea eax, [esp + 0x18]
push 0
push eax
lea ecx, [esp + 0x38]
push 4
push ecx
push esi
call ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
push 0
push 0
push edx
push ebp
push eax
call fcn.00446510
add esp, 0xc
push eax
push esi
call edi
lea ecx, [esp + 0x18]
push 0
push ecx
lea edx, [esp + 0x160]
push 0x208
push edx
push esi
call ebx
mov eax, dword [esp + 0x14]
lea edi, [esp + 0x158]
add eax, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x36c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x44ccf0
test cl, cl
je 0x44ccec
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x44ccf0
add eax, 2
add edi, 2
test cl, cl
jne 0x44cccc
xor eax, eax
jmp 0x44ccf5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44cd26
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x44cc50
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x350
ret 0xc
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x368]
mov ebx, dword [esp + 0x34]
push 0
lea eax, [esp + 0x18]
push 2
push eax
lea eax, [ecx + edx*2]
mov ecx, dword [ebx + 4]
add eax, esi
mov dword [esp + 0x1c], 0
push eax
mov dword [esp + 0x24], 0
call fcn.00421ab0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
push 0
lea ecx, [esp + 0x14]
and edx, 0xffff
push 4
push ecx
lea ecx, [eax + edx*4]
add ecx, esi
push ecx
mov ecx, dword [ebx + 4]
call fcn.00421ab0
push ebp
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
add esp, 4
add esi, eax
cmp ecx, eax
ja 0x44ce11
cmp eax, dword [esp + 0x28]
jae 0x44ce11
xor eax, eax
mov ecx, 0x82
lea edi, [esp + 0x158]
push eax
lea edx, [esp + 0x15c]
push 0x208
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 4]
push edx
push esi
call fcn.00421ab0
lea eax, [esp + 0x158]
push 0x2e
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
mov edi, eax
add esp, 8
test edi, edi
je 0x44ce11
lea ecx, [esp + 0x158]
mov byte [edi], 0
push ecx
mov ecx, dword [ebx + 4]
call fcn.00426140
test eax, eax
je 0x44ce11
mov edx, dword [eax + 4]
mov eax, dword [eax]
inc edi
mov ecx, ebx
push edi
push edx
push eax
call fcn.0044cab0
test eax, eax
jne 0x44cd19
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x350
ret 0xc