Function at 0x47e770
Capabilities:
Get file size

Disassembly:
push 0xffffffffffffffff
push 0x514607
mov eax, dword fs:[0]
push eax
sub esp, 0x5b0
mov eax, dword [0x56957c]
xor eax, esp
mov dword [esp + 0x5a8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x56957c]
xor eax, esp
push eax
lea eax, [esp + 0x5c4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x5d4]
lea esi, [esp + 0x264]
mov dword [esp + 0x24], eax
mov edi, ecx
call fcn.00425230
xor ebx, ebx
mov dword [esp + method.t_fileRead.virtual_0], vtable.t_fileRead.0
mov dword [esp + 0x5b0], 0x54bd20
mov dword [esp + 0x5b4], ebx
mov dword [esp + 0x5b8], ebx
mov dword [esp + 0x5cc], ebx
mov byte [esp + 0x20], bl
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x28]
call fcn.004174b0
mov eax, edi
lea edx, [esp + 0x28]
call fcn.00417710
push ebx
lea ecx, [esp + 0x20]
push ecx
lea eax, [esp + 0x30]
mov ecx, esi
mov byte [esp + 0x5d4], 3
call fcn.00425360
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
test al, al
jne 0x47e83a
xor al, al
jmp 0x47e865
mov eax, dword [esp + 0x268]
lea edx, [esp + 0x18]
push edx
push eax
mov dword [esp + 0x20], ebx
call edi
mov esi, eax
cmp esi, 0xffffffff
jne 0x47e85c
call ebp
cmp eax, ebx
je 0x47e85c
xor esi, esi
mov dword [esp + 0x5b4], esi
mov al, 1
cmp al, bl
sete byte [esp + 0x17]
mov dword [esp + 0x28], vtable.t_str.0
cmp byte [esp + 0x144], bl
jne 0x47e892
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x34]
cmp eax, ecx
je 0x47e892
push eax
call fcn.004ed7b6
add esp, 4
cmp byte [esp + 0x17], bl
jne 0x47e92e
mov eax, dword [esp + 0x268]
lea edx, [esp + 0x18]
push edx
push eax
mov dword [esp + 0x20], ebx
call edi
mov edi, eax
cmp edi, 0xffffffff
jne 0x47e8be
call ebp
cmp eax, ebx
je 0x47e8be
xor edi, edi
lea esi, [esp + 0x14c]
call fcn.00411b50
mov ecx, edi
mov byte [esp + 0x5cc], 4
call fcn.00411c60
lea eax, [esp + 0x150]
cmp byte [esp + 0x260], bl
jne 0x47e8f0
mov eax, dword [esp + 0x14c]
push edi
add eax, 4
push eax
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x5bc]
call fcn.004277f0
test al, al
jne 0x47e96b
cmp byte [esp + 0x260], bl
jne 0x47e92e
mov eax, dword [esp + 0x14c]
lea edx, [esp + 0x150]
cmp eax, edx
je 0x47e92e
push eax
call fcn.004ed7b6
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.004163d0
mov dword [esp + 0x5cc], 0xffffffff
lea ecx, [esp + 0x264]
mov dword [esp + method.t_fileRead.virtual_0], vtable.t_fileRead.0
mov dword [esp + 0x5b0], 0x54bd40
call fcn.004252a0
xor al, al
jmp 0x47ea02
mov ecx, edi
lea esi, [esp + 0x14c]
call fcn.00411c60
lea eax, [esp + 0x150]
cmp byte [esp + 0x260], bl
jne 0x47e990
mov eax, dword [esp + 0x14c]
add eax, 4
push eax
mov eax, dword [esp + 0x28]
push eax
mov esi, edi
call fcn.0047e720
mov byte [esp + 0x17], al
cmp byte [esp + 0x260], bl
jne 0x47e9c8
mov eax, dword [esp + 0x14c]
lea ecx, [esp + 0x150]
cmp eax, ecx
je 0x47e9c8
push eax
call fcn.004ed7b6
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.004163d0
mov dword [esp + 0x5cc], 0xffffffff
lea ecx, [esp + 0x264]
mov dword [esp + method.t_fileRead.virtual_0], vtable.t_fileRead.0
mov dword [esp + 0x5b0], 0x54bd40
call fcn.004252a0
mov al, byte [esp + 0x17]
mov ecx, dword [esp + 0x5c4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5a8]
xor ecx, esp
call fcn.004ecddb
add esp, 0x5bc
ret 4