Function at 0x5624e0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
push edi
xor ebx, ebx
push ebx
lea eax, [esp + 0x30]
push eax
push ebx
push esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
lea ecx, [esp + 0x1c]
push ecx
push esi
call sym.vidcap60.exe__riff64_ReadFileID_12
cmp eax, ebx
jl 0x562701
lea edx, [esp + 0x20]
push edx
push esi
call sym.vidcap60.exe__riff64_SaveLocation_8
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x38], eax
lea edx, [esp + 0x38]
push edx
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x44], ecx
sub esp, 0x10
mov ecx, esp
mov dword [ecx], ebp
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 8], eax
push esi
mov dword [ecx + 0xc], edx
call sym.vidcap60.exe__riff64_FindChunkHeader_28
mov edi, eax
cmp edi, ebx
mov ebx, dword [esp + 0x68]
jge 0x56260a
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
add eax, edi
adc ecx, edx
push 0
lea edx, [esp + 0x30]
push edx
push eax
push esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x54]
push ebx
push ecx
mov ecx, dword [esp + 0x60]
sub esp, 0x10
mov edx, esp
mov dword [edx], ebp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 8], ecx
push esi
mov dword [edx + 0xc], eax
call sym.vidcap60.exe__riff64_WriteChunkHeader_28
mov edi, eax
test edi, edi
jl 0x56270b
mov ebp, dword [esp + 0x64]
add ebp, 0x18
adc ebx, 0
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push 0
lea ecx, [esp + 0x50]
push ecx
push edx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x562686
mov eax, 0x8004e009
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x24
mov eax, dword [esp + 0x44]
cmp eax, ebx
jg 0x56267b
jl 0x56261e
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x64]
jae 0x56267b
push 1
push 0xffffffffffffffff
push 0xffffffffffffffe8
push esi
call fcn.0044b590
xor edx, edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
push edx
lea eax, [esp + 0x50]
push eax
push 0x10
lea ecx, [esp + 0x34]
push ecx
push esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x5625fb
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
add edx, edi
push 0
adc eax, ecx
push eax
push edx
push esi
call fcn.0044b590
jmp 0x56259b
xor ebp, ebp
mov dword [esp + 0x54], ebp
jmp 0x5625db
mov eax, ebp
and eax, 7
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 0
jbe 0x5626e7
push 0
lea ecx, [esp + 0x50]
push ecx
mov ebx, 8
sub ebx, eax
push ebx
lea edx, [esp + 0x1c]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x56270b
cmp ebx, dword [esp + 0x4c]
jne 0x56270b
mov eax, dword [esp + 0x54]
add ebp, ebx
adc eax, 0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x6c]
mov dword [eax], ebp
mov eax, dword [esp + 0x54]
mov ecx, ebp
or ecx, eax
je 0x5626ff
push eax
push ebp
push esi
call sym.vidcap60.exe__riff64_UpdateRIFFSize_12
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x24
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x24