Function at 0x56d5b0
Capabilities:
Get file size

Disassembly:
sub esp, 0x210
push esi
mov esi, dword [esp + 0x218]
cmp dword [esi + 0x24], 4
jne 0x56d84e
push ebx
mov ebx, dword [esp + 0x224]
push edi
mov edi, dword [esp + 0x224]
push ebx
push edi
push esi
call sym.vidcap60.exe_public:_long_int___stdcall_CArchive2::IsSpaceForCreateSEA_unsigned_short_int_const___unsigned_short_int_const__
test eax, eax
jne 0x56d82a
push ebp
push eax
push eax
push 3
push eax
push eax
push SysReAllocString
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileW]
call ebx
mov ebp, eax
cmp ebp, 0xffffffff
je 0x56d805
lea eax, [esp + 0x14]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [esp + 0x14]
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
push edi
mov dword [esi + 0x10a0], eax
mov dword [esi + 0x10a4], ecx
call ebx
cmp eax, 0xffffffff
mov dword [esi + 0xc], eax
je 0x56d7d7
lea edx, [esi + 0xe88]
push edi
push edx
call dword [0x5d2614]
mov eax, dword [esi + 0x20]
mov edi, dword [0x5d2618]
xor ebx, ebx
add esp, 8
cmp eax, ebx
je 0x56d6bd
push 0x104
lea eax, [esp + 0x1c]
push str.Stub_Executable
push eax
call edi
lea ecx, [esp + 0x24]
add esp, 0xc
test ecx, ecx
mov word [esp + 0x21e], bx
je 0x56d695
mov edx, ecx
push edx
call dword [0x5d2620]
add esp, 4
mov edx, dword [esi + 0x10a4]
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx]
push edx
mov edx, dword [esi + 0x10a0]
push edx
lea edx, [esp + 0x20]
push edx
call dword [eax + 4]
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx]
push 0xaaaaaa7
call dword [eax + 0xc]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10a4]
mov eax, dword [esi + 0x10a0]
push ebx
push ebx
push ecx
push edx
push eax
push ebx
push ebx
push ebp
mov ecx, esi
call fcn.0056abe0
test eax, eax
jl 0x56d7be
mov ecx, dword [esi + 0x20]
cmp ecx, ebx
je 0x56d746
mov edx, dword [ecx]
push 0xaaaaaaf
call dword [edx + 0xc]
push 0x104
lea eax, [esp + 0x1c]
push str.Archive_Entries
push eax
call edi
lea ecx, [esp + 0x24]
add esp, 0xc
test ecx, ecx
mov word [esp + 0x21e], bx
je 0x56d724
mov edx, ecx
push edx
call dword [0x5d2620]
add esp, 4
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx]
push edx
mov edx, dword [esi + 0x4c]
push edx
lea edx, [esp + 0x20]
push edx
call dword [eax + 4]
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx]
push 0xaaaaaa7
call dword [eax + 0xc]
mov ecx, dword [esi + 0x10a4]
mov edx, dword [esi + 0x10a0]
mov eax, dword [esi + 0xc]
push ecx
mov ecx, dword [esi + 0x44]
push edx
mov edx, dword [esi + 0x4c]
push eax
mov eax, dword [esi + 0x50]
add ecx, edx
mov edx, dword [esi + 0x48]
adc edx, eax
mov eax, dword [esi + 8]
push edx
push ecx
push ebx
push ebx
push eax
mov ecx, esi
call fcn.0056abe0
mov ecx, dword [esi + 0x20]
cmp ecx, ebx
je 0x56d788
mov edx, dword [ecx]
push 0xaaaaaaf
call dword [edx + 0xc]
lea eax, [esi + 0xc80]
push eax
lea ecx, [esi + 0x868]
push ecx
call fcn.00404990
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
add edx, eax
push ecx
adc edi, ecx
push eax
mov ecx, esi
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], edi
call fcn.0056c520
mov esi, eax
jmp 0x56d7ef
push ebx
push str.CreateSEA
push 0xaaaaaaa9
mov ecx, esi
call fcn.0056a380
mov esi, 0x8004e009
jmp 0x56d7ef
push 0
push str.CreateSEA
push 0xaaaaaaa2
mov ecx, esi
call fcn.0056a380
mov esi, 0x8004e006
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ebp
pop edi
pop ebx
mov eax, esi
pop esi
add esp, 0x210
ret 0x10
push 0
push str.CreateSEA
push 0xaaaaaaa4
mov ecx, esi
call fcn.0056a380
pop ebp
pop edi
pop ebx
mov eax, 0x8004e006
pop esi
add esp, 0x210
ret 0x10
push 0
push str.CreateSEA
push 0xaaaaaaa8
mov ecx, esi
call fcn.0056a380
pop edi
pop ebx
mov eax, 0x8004e0c8
pop esi
add esp, 0x210
ret 0x10
mov eax, 0x80004005
pop esi
add esp, 0x210
ret 0x10