Function at 0x44e1ac
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd40
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x20], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x44e52f
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 6]
xor ecx, ecx
mov edx, 6
call fcn.00403070
lea eax, [ebp - 0x124]
xor ecx, ecx
mov edx, 0x104
call fcn.00403070
lea eax, [ebp - 0x228]
xor ecx, ecx
mov edx, 0x104
call fcn.00403070
lea eax, [ebp - 0x2b0]
xor ecx, ecx
mov edx, 0x88
call fcn.00403070
lea eax, [ebp - 0x20]
call fcn.004043cc
cmp word [ebx + 0x1a2], 0
je 0x44e235
lea ecx, [ebp - 0x20]
mov edx, ebx
mov eax, dword [ebx + 0x1a4]
call dword [ebx + 0x1a0]
cmp dword [ebp - 0x20], 0
je 0x44e24b
lea eax, [ebp - 0x228]
mov edx, dword [ebp - 0x20]
call fcn.00408d34
jmp 0x44e27a
lea eax, [ebp - 0x124]
push eax
push 1
push 7
push 1
lea eax, [ebx + 0xcc]
push eax
lea eax, [ebx + 0x30]
push eax
call dword [ebx + 0x17c]
lea edx, [ebp - 0x124]
lea eax, [ebp - 0x228]
call fcn.00408cd8
mov word [ebp - 0x128], 2
mov word [ebp - 0x126], 0
push 0x1000
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x228]
push eax
call sub.kernel32.dll_OpenFile
mov esi, eax
cmp esi, 0xffffffff
jne 0x44e2c2
xor ecx, ecx
mov edx, 0x44e548
mov eax, ebx
call fcn.0044ef24
mov di, 1
jmp 0x44e508
push esi
call sub.kernel32.dll__lclose
lea eax, [ebp - 0x228]
push eax
push 6
push 7
push 1
lea eax, [ebx + 0xcc]
push eax
lea eax, [ebx + 0x30]
push eax
call dword [ebx + 0x17c]
mov edi, eax
test di, di
je 0x44e2fd
xor ecx, ecx
mov edx, 0x44e578
mov eax, ebx
call fcn.0044ef24
jmp 0x44e31b
push 0
push 1
push 0x105
push 2
lea eax, [ebx + 0xcc]
push eax
lea eax, [ebx + 0x30]
push eax
call dword [ebx + 0x17c]
mov edi, eax
mov eax, edi
sub ax, 3
je 0x44e476
sub ax, 3
jne 0x44e4c0
lea eax, [ebp - 0x2b0]
xor ecx, ecx
mov edx, 0x88
call fcn.00403070
lea eax, [ebp - 0x2be]
xor ecx, ecx
mov edx, 0xe
call fcn.00403070
push 0
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x228]
push eax
call sub.kernel32.dll_OpenFile
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc], eax
cmp esi, 0xffffffff
je 0x44e428
mov word [ebp - 0x1a], 0x8000
push 0
push esi
call sub.kernel32.dll_GetFileSize
mov dword [ebp - 0x10], eax
push 0xe
lea eax, [ebp - 0x2be]
push eax
push esi
call sub.kernel32.dll__lread
sub dword [ebp - 0x10], 0xe
cmp dword [ebp - 0x2bc], 0
jne 0x44e3b0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
push eax
push 0x42
call sub.kernel32.dll_GlobalAlloc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x44e422
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GlobalLock
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2bc]
sub eax, 0xe
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jbe 0x44e419
movzx eax, word [ebp - 0x1a]
cmp eax, dword [ebp - 0x18]
jbe 0x44e3f6
mov ax, word [ebp - 0x18]
mov word [ebp - 0x1a], ax
movzx eax, word [ebp - 0x1a]
push eax
mov eax, dword [ebp - 0x14]
push eax
push esi
call sub.kernel32.dll__lread
movzx eax, word [ebp - 0x1a]
sub dword [ebp - 0x18], eax
movzx eax, word [ebp - 0x1a]
add dword [ebp - 0x14], eax
cmp dword [ebp - 0x18], 0
ja 0x44e3e5
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GlobalUnlock
push esi
call sub.kernel32.dll__lclose
lea eax, [ebp - 6]
push eax
push 0x701
push 5
push 1
lea eax, [ebx + 0xcc]
push eax
lea eax, [ebx + 0x30]
push eax
call dword [ebx + 0x17c]
test ax, ax
je 0x44e459
xor ecx, ecx
mov edx, 0x44e5a8
mov eax, ebx
call fcn.0044ef24
cmp word [ebp - 6], 0
jne 0x44e467
mov eax, ebx
call fcn.0044fd54
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.0044eda4
jmp 0x44e508
lea eax, [ebp - 6]
push eax
push 0x701
push 5
push 1
lea eax, [ebx + 0xcc]
push eax
lea eax, [ebx + 0x30]
push eax
call dword [ebx + 0x17c]
test ax, ax
je 0x44e4a7
xor ecx, ecx
mov edx, 0x44e5dc
mov eax, ebx
call fcn.0044ef24
cmp word [ebp - 6], 0
jne 0x44e4b5
mov eax, ebx
call fcn.0044fd54
xor edx, edx
mov eax, ebx
call fcn.0044eda4
jmp 0x44e508
lea eax, [ebp - 6]
push eax
push 0x701
push 5
push 1
lea eax, [ebx + 0xcc]
push eax
lea eax, [ebx + 0x30]
push eax
call dword [ebx + 0x17c]
test ax, ax
je 0x44e4f1
xor ecx, ecx
mov edx, 0x44e5dc
mov eax, ebx
call fcn.0044ef24
cmp word [ebp - 6], 0
jne 0x44e4ff
mov eax, ebx
call fcn.0044fd54
xor edx, edx
mov eax, ebx
call fcn.0044eda4
cmp word [ebp - 6], 0
je 0x44e519
cmp di, 1
jne 0x44e212
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44e536
lea eax, [ebp - 0x20]
call fcn.004043cc
ret