Function at 0x10054b84
Capabilities:
Get file size

Disassembly:
push 0x54
mov eax, 0x100adbfa
call fcn.100a4edc
mov ebx, ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x54], 0x10019824
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx]
sub ecx, 0x10
call fcn.1008e35d
add eax, 0x10
mov dword [ebp - 0x48], 0x10017468
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.1006adfd
mov dword [ebp - 0x3c], eax
push esi
test eax, eax
js 0x10054bec
mov edx, 0x10010ab0
lea ecx, [ebp - 0x38]
call fcn.1006e932
mov byte [ebp - 4], 1
push dword [eax]
push 2
jmp 0x10054e5b
mov eax, dword [ebx]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x10054e46
mov edx, 0x10010b08
lea ecx, [ebp - 0x3c]
call fcn.1006e932
push 0x10010afc
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call fcn.1006e98e
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 [0x100cf608]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
xor eax, eax
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
mov ecx, dword [eax]
call fcn.1005402c
mov esi, eax
mov dword [ebp - 0x3c], esi
test esi, esi
js 0x10054dff
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 SysReAllocStringLen
push dword [eax]
call fcn.10032b45
mov dword [ebp - 0x3c], eax
test eax, eax
js 0x10054dac
xor eax, eax
push eax
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, dword [ebx + 8]
jne 0x10054ccd
xor eax, eax
cmp eax, dword [ebx + 0xc]
jne 0x10054ccd
lea eax, [ebx + 0x14]
mov edx, 0x10010b78
push eax
lea ecx, [ebp - 0x38]
call fcn.1006e932
mov byte [ebp - 4], 5
jmp 0x10054d44
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x10054d04
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebx + 8]
jne 0x10054d04
xor eax, eax
cmp eax, dword [ebx + 0xc]
jne 0x10054d04
lea eax, [ebx + 0x14]
mov edx, 0x10010b78
push eax
lea ecx, [ebp - 0x38]
call fcn.1006e932
mov byte [ebp - 4], 6
jmp 0x10054d44
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 0x10054d6c
xor eax, eax
cmp eax, dword [ebx + 0xc]
jne 0x10054d6c
lea eax, [ebx + 0x14]
mov edx, 0x10010b78
push eax
lea ecx, [ebp - 0x38]
call fcn.1006e932
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 [0x100cf608]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov esi, dword [ebp - 0x3c]
jmp 0x10054dea
lea eax, [ebx + 0x14]
mov edx, 0x10010bc0
push eax
lea ecx, [ebp - 0x38]
call fcn.1006e932
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 [0x100cf608]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov esi, 0x80091007
jmp 0x10054dea
lea eax, [ebx + 0x14]
mov edx, 0x10010c40
push eax
lea ecx, [ebp - 0x38]
call fcn.1006e932
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 [0x100cf608]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov esi, 0x80004005
cmp dword [ebp - 0x44], 0
je 0x10054e7d
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10054e7d
call fcn.1008e1f3
push eax
lea ecx, [ebp - 0x38]
call fcn.1008df96
push esi
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x38]
push dword [ebx + 0x14]
push 0x10010cc8
push eax
call fcn.1008dbf3
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 [0x100cf608]
mov ecx, ebx
call edi
lea ecx, [esi - 0x10]
jmp 0x10054e75
mov edx, 0x10010d30
lea ecx, [ebp - 0x38]
call fcn.1006e932
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 [0x100cf608]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov eax, esi
call fcn.100a4e86
ret