Function at 0x55da20
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 0x55da56
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 0x55da67
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x55da6f
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ebx, ecx
xor ecx, ecx
cmp ebx, edi
push ebp
jbe 0x55dab6
mov edx, dword [eax + 8]
lea esp, [esp]
mov eax, dword [edx]
cmp eax, edi
je 0x55dae3
mov eax, dword [eax + 4]
and eax, 0xf00000
cmp eax, 0x100000
je 0x55daaa
cmp dword [esp + 0x20], edi
jne 0x55daae
cmp eax, 0x200000
jne 0x55daae
mov dword [esp + 0x20], 1
inc dword [esp + 0x10]
inc ecx
add edx, 4
cmp ecx, ebx
jb 0x55da80
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 0x55daf4
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 0x55db52
lea ecx, [ecx]
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edi*4]
test eax, eax
je 0x55dae3
mov edx, dword [eax + 4]
and edx, 0xf00000
cmp edx, 0x100000
jne 0x55db4d
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 0x55dcdc
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x48]
inc edi
cmp edi, ebx
jb 0x55db10
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55dba0
mov ecx, dword [esi]
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
push eax
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x40], eax
push 0xc
lea eax, [esp + 0x3c]
push eax
push ebp
mov word [esp + 0x44], 0xa005
mov word [esp + 0x46], 4
mov dword [esp + 0x48], 1
mov dword [esp + 0x4c], ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x55dad2
push 0
lea ecx, [esp + 0x1c]
push ecx
push 4
lea edx, [esp + 0x38]
push edx
push ebp
mov dword [esp + 0x40], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x55dad2
xor edi, edi
test ebx, ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalHandle]
jbe 0x55dca0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x55dce8
mov edx, dword [esi + 4]
and edx, 0xf00000
cmp edx, 0x100000
jne 0x55dc8f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x55dc24
push eax
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [esp + 0x14]
push eax
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [esp + 0x14], 0
push 0
push 0
push 0
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x24]
push edx
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 0x55dcc0
mov esi, dword [esp + 0x28]
cmp esi, 4
jbe 0x55dc8f
mov ecx, dword [esp + 0x14]
push 0
lea eax, [esp + 0x1c]
push eax
push esi
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x55dcef
test esi, 1
je 0x55dc8f
push 0
lea edx, [esp + 0x1c]
push edx
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
mov byte [esp + 0x54], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x55dcef
mov eax, dword [esp + 0x1c]
inc edi
cmp edi, eax
jb 0x55dbd5
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55dcbe
mov ecx, dword [esp + 0x44]
push esi
push ecx
mov ecx, dword [esp + 0x2c]
push ebp
call sym.vidcap60.exe_private:_long_int___thiscall_CSfExifMetaDataHelper::WriteInteroperabilityIFD_void___struct_tSFLIST___unsigned_long_int__
mov esi, eax
test esi, esi
jl 0x55dcc0
xor esi, esi
mov edi, dword [esp + 0x14]
test edi, edi
je 0x55dcdc
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 0x55dcc0
mov esi, 0x8004e009
jmp 0x55dcc0