Function at 0x55def0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x2c
push esi
mov esi, dword [esp + 0x3c]
push edi
xor edi, edi
cmp esi, edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 8], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x20], edi
jne 0x55df26
mov esi, 0x80004005
pop edi
mov eax, esi
pop esi
add esp, 0x2c
ret 0xc
mov eax, dword [esp + 0x3c]
cmp eax, edi
push ebx
jne 0x55df37
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x55df3f
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ebx, ecx
xor ecx, ecx
cmp ebx, edi
push ebp
jbe 0x55df88
mov edx, dword [eax + 8]
lea esp, [esp]
mov eax, dword [edx]
cmp eax, edi
je 0x55dfb5
mov eax, dword [eax + 4]
and eax, 0xf00000
je 0x55df7c
cmp dword [esp + 0x20], edi
jne 0x55df80
cmp eax, 0x100000
je 0x55df74
cmp eax, 0x200000
jne 0x55df80
mov dword [esp + 0x20], 1
inc dword [esp + 0x10]
inc ecx
add edx, 4
cmp ecx, ebx
jb 0x55df50
mov ebp, dword [esp + 0x40]
push edi
lea edx, [esp + 0x1c]
push edx
push 2
lea eax, [esp + 0x1c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x55dfc6
pop ebp
pop ebx
mov esi, 0x8004e009
pop edi
mov eax, esi
pop esi
add esp, 0x2c
ret 0xc
pop ebp
pop ebx
mov esi, 0x80004005
pop edi
mov eax, esi
pop esi
add esp, 0x2c
ret 0xc
movzx eax, word [esp + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx*4 + 6]
mov ecx, dword [esi]
add ecx, edx
test ebx, ebx
mov dword [esi], ecx
jbe 0x55e01a
nop
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edi*4]
test eax, eax
je 0x55dfb5
test dword [eax + 4], 0xf00000
jne 0x55e015
mov ecx, dword [esp + 0x24]
push esi
push eax
push ebp
call sym.vidcap60.exe_private:_long_int___thiscall_CSfExifMetaDataHelper::WriteIFDEntry_void___struct_SFMETA_SUM_TAG___unsigned_long_int__
mov esi, eax
test esi, esi
jl 0x55e19f
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x48]
inc edi
cmp edi, ebx
jb 0x55dfe0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55e068
mov eax, dword [esi]
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
push edx
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x40], edx
push 0xc
lea edx, [esp + 0x3c]
push edx
push ebp
mov word [esp + 0x44], 0x8769
mov word [esp + 0x46], 4
mov dword [esp + 0x48], 1
mov dword [esp + 0x4c], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x55dfa4
push 0
lea eax, [esp + 0x1c]
push eax
push 4
lea ecx, [esp + 0x38]
push ecx
push ebp
mov dword [esp + 0x40], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x55dfa4
xor edi, edi
test ebx, ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalHandle]
jbe 0x55e163
lea ecx, [ecx]
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 8]
mov esi, dword [eax + edi*4]
test esi, esi
je 0x55e1ab
test dword [esi + 4], 0xf00000
jne 0x55e152
mov eax, dword [esp + 0x14]
test eax, eax
je 0x55e0e7
push eax
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [esp + 0x14]
push ecx
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x24]
push 0
push 0
push 0
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x24]
push eax
push esi
call sym.vidcap60.exe_private:_long_int___thiscall_CSfExifMetaDataHelper::CreateIFDEntryData_struct_SFMETA_SUM_TAG___unsigned_char____unsigned_long_int___unsigned_short_int___unsigned_short_int___unsigned_long_int__
mov esi, eax
test esi, esi
jl 0x55e183
mov esi, dword [esp + 0x28]
cmp esi, 4
jbe 0x55e152
mov edx, dword [esp + 0x14]
push 0
lea ecx, [esp + 0x1c]
push ecx
push esi
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x55e1b2
test esi, 1
je 0x55e152
push 0
lea eax, [esp + 0x1c]
push eax
push 1
lea ecx, [esp + 0x4c]
push ecx
push ebp
mov byte [esp + 0x54], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x55e1b2
mov eax, dword [esp + 0x1c]
inc edi
cmp edi, eax
jb 0x55e0a0
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55e181
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
push esi
push edx
push ebp
call sym.vidcap60.exe_private:_long_int___thiscall_CSfExifMetaDataHelper::WriteExifIFD_void___struct_tSFLIST___unsigned_long_int__
mov esi, eax
test esi, esi
jl 0x55e183
xor esi, esi
mov edi, dword [esp + 0x14]
test edi, edi
je 0x55e19f
push edi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop ebp
pop ebx
pop edi
mov eax, esi
pop esi
add esp, 0x2c
ret 0xc
mov esi, 0x80004005
jmp 0x55e183
mov esi, 0x8004e009
jmp 0x55e183