Function at 0x56d860
Capabilities:
Get file size

Disassembly:
sub esp, 0x724
push esi
mov esi, dword [esp + 0x72c]
mov eax, dword [esi + 0x58]
test eax, eax
mov dword [esp + 4], 0
jl 0x56db59
jg 0x56d88e
mov eax, dword [esi + 0x54]
test eax, eax
jbe 0x56db59
mov eax, dword [esi + 8]
push ebx
push ebp
push edi
lea ecx, [esp + 0x18]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, dword [esp + 0x73c]
push 0x400
push ebx
mov edi, eax
call sym.vidcap60.exe__SfGetDiskFreeSpace_8
mov edx, dword [esp + 0x18]
push 0
push 0x400
push edx
push edi
mov ebp, eax
call fcn.005c4520
xor ecx, ecx
cmp edx, ecx
jg 0x56db1b
jl 0x56d8dc
cmp eax, ebp
ja 0x56db1b
lea eax, [esp + 0x1c]
push ebx
push eax
call dword [0x5d2614]
add esp, 8
push 0x104
lea ecx, [esp + 0x20]
push ecx
call sym.vidcap60.exe__SfAddSlashToPathName_8
lea edx, [esp + 0x1c]
push str.Seastub.exe
push edx
call dword [0x5d24cc]
mov ebp, dword [esp + 0x748]
add esp, 8
and ebp, 4
jne 0x56d937
lea eax, [esp + 0x1c]
push eax
call sym.vidcap60.exe__SfDoesFileExist_4
test eax, eax
je 0x56d937
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.0056b220
test eax, eax
jne 0x56d998
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea edx, [esp + 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x56da84
mov eax, dword [esi + 0x10a4]
mov ecx, dword [esi + 0x10a0]
mov edx, dword [esi + 8]
push 0
push 0
push edi
push eax
push ecx
push 0
push 0
push edx
mov ecx, esi
call fcn.0056abe0
push edi
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x56db82
lea ecx, [esp + 0x52c]
push ebx
push ecx
call dword [0x5d2614]
add esp, 8
push 0x104
lea edx, [esp + 0x530]
push edx
call sym.vidcap60.exe__SfAddSlashToPathName_8
lea edi, [esi + 0x868]
push edi
call sym.vidcap60.exe__SfGetFileNamePtrW_4
push eax
lea eax, [esp + 0x530]
push eax
lea ecx, [esp + 0x22c]
push 0x5d4ee8
push ecx
call sym.vidcap60.exe_SfPrintF
xor ebx, ebx
add esp, 0x10
cmp ebp, ebx
jne 0x56da14
lea edx, [esp + 0x224]
push edx
call sym.vidcap60.exe__SfDoesFileExist_4
test eax, eax
je 0x56da14
lea eax, [esp + 0x224]
push eax
mov ecx, esi
call fcn.0056b220
test eax, eax
jne 0x56dacd
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
lea ecx, [esp + 0x23c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [esi + 0xc], eax
je 0x56daac
lea edx, [esp + 0x224]
push edx
lea eax, [esi + 0xe88]
push eax
call fcn.00404990
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x4c]
mov ebp, dword [esi + 0x44]
mov eax, dword [esi + 0x50]
push ebx
push ebx
push ecx
mov ecx, dword [esi + 0x48]
add edx, ebp
adc eax, ecx
mov ecx, dword [esi + 0x10a4]
push eax
mov eax, dword [esi + 8]
push edx
mov edx, dword [esi + 0x10a0]
push ecx
push edx
push eax
mov ecx, esi
call fcn.0056abe0
mov dword [esp + 0x10], eax
jmp 0x56dacd
lea eax, [esp + 0x1c]
push eax
push str.SplitSEA
push 0xaaaaaaa2
mov ecx, esi
call fcn.0056a380
pop edi
pop ebp
pop ebx
mov eax, 0x8004e006
pop esi
add esp, 0x724
ret 0xc
lea ecx, [esp + 0x224]
push ecx
push str.SplitSEA
push 0xaaaaaaa2
mov ecx, esi
call fcn.0056a380
mov dword [esp + 0x10], 0x8004e006
mov eax, dword [esi + 0x4c]
mov edx, dword [esi + 0x44]
mov ecx, dword [esi + 0x50]
mov ebp, dword [esi + 0x48]
add edx, eax
mov dword [esi + 0x18], edx
mov edx, dword [esi + 0x10a8]
adc ebp, ecx
cmp edx, 1
mov dword [esi + 0x10a0], ebx
mov dword [esi + 0x10a4], ebx
mov dword [esi + 0x1c], ebp
jne 0x56dafd
mov word [edi], bx
mov edx, dword [esp + 0x10]
cmp edx, ebx
jl 0x56db80
push ecx
push eax
mov ecx, esi
call fcn.0056c520
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x724
ret 0xc
push 0x80
lea eax, [esp + 0x430]
push eax
push ebx
call sym.vidcap60.exe__SfGetRootPathFromFilePath_12
lea ecx, [esp + 0x42c]
push ecx
push str.SplitSEA
push 0xaaaaaaa8
mov ecx, esi
call fcn.0056a380
pop edi
pop ebp
pop ebx
mov eax, 0x8004e0c8
pop esi
add esp, 0x724
ret 0xc
lea edx, [esi + 0xc80]
push edx
push str.SplitSEA
push 0xaaaaaaa4
mov ecx, esi
call fcn.0056a380
mov eax, 0x8004e007
pop esi
add esp, 0x724
ret 0xc
mov eax, edx
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x724
ret 0xc