Function at 0x10054cf4
Capabilities:
Get file size

Disassembly:
push 0x54
mov eax, 0x100ae40a
call fcn.100a56bc
mov ebx, ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x54], 0x10019f28
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx]
sub ecx, 0x10
call fcn.1008eb5d
add eax, 0x10
mov dword [ebp - 0x48], 0x10017bb4
mov dword [ebp - 0x4c], eax
xor eax, eax
lea esi, [ebx + 0x14]
push esi
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], eax
call fcn.1006af7d
mov dword [ebp - 0x3c], eax
push esi
test eax, eax
js 0x10054d5c
mov edx, 0x10010ab0
lea ecx, [ebp - 0x38]
call fcn.1006eaa2
mov byte [ebp - 4], 1
push dword [eax]
push 2
jmp 0x10054fcb
mov eax, dword [ebx]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x10054fb6
mov edx, 0x10010b08
lea ecx, [ebp - 0x3c]
call fcn.1006eaa2
push 0x10010afc
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call fcn.1006eafe
push dword [eax]
mov byte [ebp - 4], 3
mov edi, dword [ebx + 0x10]
push 2
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
xor eax, eax
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
mov ecx, dword [eax]
call fcn.100541bc
mov esi, eax
mov dword [ebp - 0x3c], esi
test esi, esi
js 0x10054f6f
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
push ecx
push ecx
push 0x80
push 3
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
mov eax, dword [ebx + 4]
push 1
push SysReAllocString
push dword [eax]
call fcn.10091a7b
mov dword [ebp - 0x3c], eax
test eax, eax
js 0x10054f1c
xor eax, eax
push eax
push dword [ebp - 0x44]
call dword [sym.imp.kernel32.dll_GetFileSize]
cmp eax, dword [ebx + 8]
jne 0x10054e3d
xor eax, eax
cmp eax, dword [ebx + 0xc]
jne 0x10054e3d
lea eax, [ebx + 0x14]
mov edx, 0x10010b78
push eax
lea ecx, [ebp - 0x38]
call fcn.1006eaa2
mov byte [ebp - 4], 5
jmp 0x10054eb4
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x44]
call dword [sym.imp.kernel32.dll_GetFileSizeEx]
test eax, eax
je 0x10054e74
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebx + 8]
jne 0x10054e74
xor eax, eax
cmp eax, dword [ebx + 0xc]
jne 0x10054e74
lea eax, [ebx + 0x14]
mov edx, 0x10010b78
push eax
lea ecx, [ebp - 0x38]
call fcn.1006eaa2
mov byte [ebp - 4], 6
jmp 0x10054eb4
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x34]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x34]
push ecx
xor ecx, ecx
push ecx
push dword [eax]
call dword [sym.imp.kernel32.dll_GetFileAttributesExW]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebx + 8]
jne 0x10054edc
xor eax, eax
cmp eax, dword [ebx + 0xc]
jne 0x10054edc
lea eax, [ebx + 0x14]
mov edx, 0x10010b78
push eax
lea ecx, [ebp - 0x38]
call fcn.1006eaa2
mov byte [ebp - 4], 7
mov edi, dword [ebx + 0x10]
push dword [eax]
push 2
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov esi, dword [ebp - 0x3c]
jmp 0x10054f5a
lea eax, [ebx + 0x14]
mov edx, 0x10010bc0
push eax
lea ecx, [ebp - 0x38]
call fcn.1006eaa2
mov byte [ebp - 4], 8
mov edi, dword [ebx + 0x10]
push dword [eax]
xor eax, eax
push eax
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov esi, 0x80091007
jmp 0x10054f5a
lea eax, [ebx + 0x14]
mov edx, 0x10010c40
push eax
lea ecx, [ebp - 0x38]
call fcn.1006eaa2
mov byte [ebp - 4], 9
mov edi, dword [ebx + 0x10]
push dword [eax]
xor eax, eax
push eax
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov esi, 0x80004005
cmp dword [ebp - 0x44], 0
je 0x10054fed
push dword [ebp - 0x44]
call dword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x10054fed
call fcn.1008e9f3
push eax
lea ecx, [ebp - 0x38]
call fcn.10091a7b
push esi
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x38]
push dword [ebx + 0x14]
push 0x10010cc8
push eax
call fcn.10091a7b
mov ebx, dword [ebx + 0x10]
add esp, 0x10
mov esi, dword [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebx]
push esi
push ecx
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100d0614]
mov ecx, ebx
call edi
lea ecx, [esi - 0x10]
jmp 0x10054fe5
mov edx, 0x10010d30
lea ecx, [ebp - 0x38]
call fcn.1006eaa2
mov byte [ebp - 4], 0xb
push dword [eax]
push 1
mov edi, dword [ebx + 0x10]
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, esi
call fcn.100a5666
ret