Function at 0x4b243c
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4b271d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4b26ee
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 4
xor ecx, ecx
mov edx, 0x2ae4c
call fcn.004031c8
mov eax, dword [ebp - 4]
add eax, 0x2ae50
xor ecx, ecx
mov edx, 0x320ae
call fcn.004031c8
mov eax, dword [ebp - 4]
push dword [eax + 0x5cf00]
mov eax, dword [ebp - 4]
push dword [eax + 0x5cf44]
push 0x4b2734
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00404b08
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5cf44]
call fcn.00408d58
mov edx, dword [ebp - 0x2c]
mov eax, 0x4b2744
call fcn.00404d8c
test eax, eax
jne 0x4b24f1
mov eax, dword [ebp - 0x2c]
mov edx, 0x4b2750
call fcn.00404b94
je 0x4b24f1
xor eax, eax
jmp 0x4b24f3
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x5cefe], al
mov eax, dword [ebp - 0x28]
call fcn.00409bf4
test al, al
je 0x4b26e4
mov edx, 0x40
mov eax, dword [ebp - 0x28]
call fcn.004099d4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jle 0x4b26e4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5cefe], 0
je 0x4b255d
mov eax, dword [ebp - 0x2c]
mov edx, 0x4b2750
call fcn.00404b94
jne 0x4b255d
push 0
mov eax, dword [ebp - 0x30]
push eax
call sub.kernel32.dll_GetFileSize_1
cmp eax, 0xa00000
jae 0x4b255d
mov eax, dword [ebp - 4]
mov byte [eax + 0x5cefe], 0
lea edx, [ebp - 0x68]
mov ecx, 0x34
mov eax, dword [ebp - 0x30]
call fcn.00409a98
mov eax, dword [ebp - 8]
dec eax
shl eax, 3
lea eax, [eax + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
add eax, 2
shl eax, 3
lea eax, [eax + eax*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
dec eax
shl eax, 3
lea eax, [eax + eax*4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xc]
add eax, 2
shl eax, 3
lea eax, [eax + eax*4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x18], 0
jge 0x4b25b0
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x20], 0
jge 0x4b25bb
xor eax, eax
mov dword [ebp - 0x20], eax
movzx eax, word [ebp - 0x66]
cmp eax, dword [ebp - 0x24]
jg 0x4b25cb
movzx eax, word [ebp - 0x66]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5cefe], 0
jne 0x4b25e6
movzx eax, word [ebp - 0x66]
shl eax, 2
lea eax, [eax + eax*2]
mov dword [ebp - 0x14], eax
jmp 0x4b25f0
movzx eax, word [ebp - 0x66]
imul eax, eax, 0xe
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov dx, word [ebp - 0x68]
mov word [eax + 0x5cf50], dx
mov eax, dword [ebp - 4]
mov dx, word [ebp - 0x66]
mov word [eax + 0x5cf52], dx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
dec edx
sub edx, eax
jl 0x4b26dc
inc edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x4b26d0
movzx eax, word [ebp - 0x68]
cmp eax, dword [ebp - 0x10]
jle 0x4b26d0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5cefe], 0
jne 0x4b268f
mov edx, dword [ebp - 0x14]
imul edx, dword [ebp - 0x10]
add edx, 0x34
mov eax, dword [ebp - 0x20]
shl eax, 2
lea eax, [eax + eax*2]
add edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x30]
call fcn.00409b08
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
imul eax, eax, 0x16b
mov edx, dword [ebp - 4]
lea edx, [edx + eax*4 + 4]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x20]
mov ecx, eax
shl ecx, 2
lea ecx, [ecx + ecx*2]
mov eax, dword [ebp - 0x30]
call fcn.00409a98
jmp 0x4b26d0
mov edx, dword [ebp - 0x14]
imul edx, dword [ebp - 0x10]
add edx, 0x34
imul eax, dword [ebp - 0x20], 0xe
add edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x30]
call fcn.00409b08
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
imul eax, eax, 0x34f
mov edx, dword [ebp - 4]
lea edx, [edx + eax*2 + 0x2ae50]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x20]
imul ecx, eax, 0xe
mov eax, dword [ebp - 0x30]
call fcn.00409a98
inc dword [ebp - 0x10]
dec dword [ebp - 0x34]
jne 0x4b2622
mov eax, dword [ebp - 0x30]
call fcn.00409b70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b2702
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b2724
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004047ac
ret