Function at 0x450a10
Capabilities:
Get file size

Disassembly:
mov eax, 0x2854
call fcn.0045e1f0
mov eax, dword [esp + 0x2860]
push ebx
push ebp
push esi
push edi
call fcn.0044fa40
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x24], ebp
je 0x450cac
xor ebx, ebx
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, ebx
jbe 0x450ca5
lea eax, [esi + 1]
push eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
push ebp
mov ecx, esi
mov edx, edi
mov dword [esp + 0x24], edi
call fcn.0044ebc0
add esp, 4
push 0x3ff
lea ecx, [esp + 0x2d]
push ebx
push ecx
mov byte [edi + esi], bl
mov dword [esp + 0x28], ebx
mov byte [esp + 0x34], bl
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x3ff
lea edx, [esp + 0x82d]
push ebx
push edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
xor ebp, ebp
mov byte [esp + 0x834], bl
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x1c38
lea eax, [esp + 0xc2c]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
push edi
lea edx, [esp + 0x30]
push edx
call fcn.00450550
test eax, eax
je 0x450c98
nop
cmp dword [esp + 0x14], ebx
jle 0x450c77
mov edi, 0x463e44
lea esi, [esp + 0x28]
mov ecx, 2
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x450b3d
cmp dword [esp + 0x18], ebx
je 0x450b2e
mov byte [esp + 0xc28], bl
mov byte [esp + 0x1028], bl
mov byte [esp + 0x1428], bl
mov byte [esp + 0x1828], bl
mov byte [esp + 0x828], bl
xor ebp, ebp
jmp 0x450c77
mov dword [esp + 0x18], 1
xor ebp, ebp
jmp 0x450c77
cmp dword [esp + 0x18], ebx
je 0x450c77
cmp ebp, ebx
jne 0x450b67
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x28]
mov byte [esp + eax + 0x828], cl
add eax, 1
cmp cl, bl
jne 0x450b50
jmp 0x450c74
cmp ebp, 1
jne 0x450b87
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x28]
mov byte [esp + eax + 0x1428], cl
add eax, 1
cmp cl, bl
jne 0x450b70
jmp 0x450c74
cmp ebp, 2
jne 0x450ba7
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x28]
mov byte [esp + eax + 0xc28], cl
add eax, 1
cmp cl, bl
jne 0x450b90
jmp 0x450c74
cmp ebp, 3
jne 0x450bc7
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x28]
mov byte [esp + eax + 0x1828], cl
add eax, 1
cmp cl, bl
jne 0x450bb0
jmp 0x450c74
cmp ebp, 4
jne 0x450c56
xor eax, eax
mov cl, byte [esp + eax + 0x28]
mov byte [esp + eax + 0x1028], cl
add eax, 1
cmp cl, bl
jne 0x450bd2
push 0x3ff
lea ecx, [esp + 0x42d]
push ebx
push ecx
mov byte [esp + 0x434], bl
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x2878]
add esp, 0xc
lea eax, [esp + 0x428]
call fcn.0044e790
mov edx, dword [esp + 0x2874]
mov eax, dword [esp + 0x2870]
mov ecx, dword [esp + 0x2868]
push edx
push eax
push ecx
lea esi, [esp + 0x834]
call fcn.004507a0
mov byte [esp + 0xc28], bl
mov byte [esp + 0x1028], bl
mov byte [esp + 0x1428], bl
mov byte [esp + 0x1828], bl
jmp 0x450c74
jle 0x450c74
cmp byte [esp + 0x28], bl
je 0x450c72
mov edi, 0x463e48
lea esi, [esp + 0x28]
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x450c74
xor ebp, ebp
add ebp, 1
mov edi, dword [esp + 0x20]
add dword [esp + 0x14], 1
lea eax, [esp + 0x1c]
push eax
push edi
lea ecx, [esp + 0x30]
push ecx
call fcn.00450550
test eax, eax
jne 0x450ae0
push edi
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov ebp, dword [esp + 0x28]
add esp, 4
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2854
ret 0x10