Function at 0x453e46
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push edi
xor edi, edi
cmp dword [esi], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], edi
jle 0x453d8e
xor ebx, ebx
mov eax, dword [esi + 4]
mov eax, dword [ebx + eax + 4]
test eax, eax
je 0x453d54
push eax
call fcn.0045170e
test eax, eax
pop ecx
je 0x453d54
xor eax, eax
inc eax
cmp edi, eax
mov dword [ebp - 0x14], eax
je 0x453d54
inc dword [ebp - 0xc]
inc edi
add ebx, 0x18
cmp edi, dword [esi]
jl 0x453d31
cmp dword [ebp - 0x14], 0
je 0x453d8e
cmp dword [esi + 0x64], 0
je 0x453d8e
push esi
call fcn.00449984
push dword [esi + 0x60]
call dword [esi + 0x64]
push esi
mov dword [ebp - 8], eax
call fcn.00449954
add esp, 0xc
cmp dword [ebp - 8], 0
je 0x453d8e
push 0x13
pop eax
jmp 0x454031
mov eax, dword [esi + 4]
push dword [eax + 4]
call fcn.004516de
push eax
call sub.MSVCR80.dll_strlen
test eax, eax
pop ecx
pop ecx
je 0x453fd6
cmp dword [ebp - 0xc], 1
jle 0x453fd6
mov eax, dword [esi + 4]
push dword [eax + 4]
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
call fcn.004516de
pop ecx
mov edi, eax
mov dword [ebp - 0xc], ebx
push dword [ebp - 4]
call fcn.0044954f
lea eax, [ebp - 0x18]
push eax
push 4
call fcn.0046456d
mov eax, dword [ebp - 0x18]
and eax, 0x7fffffff
push eax
push edi
push str._s_mj_08X
call fcn.0045a265
mov ebx, eax
add esp, 0x18
test ebx, ebx
mov dword [ebp - 4], ebx
je 0x453e2e
push ebx
call fcn.00452c60
test eax, eax
pop ecx
jne 0x453dcc
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
call fcn.00453568
mov edi, eax
xor eax, eax
add esp, 0xc
cmp edi, eax
je 0x453e35
push ebx
call fcn.0044954f
pop ecx
mov eax, edi
jmp 0x454031
push 7
jmp 0x453d88
cmp dword [esi], eax
mov dword [ebp - 8], eax
jle 0x453eb3
mov dword [ebp - 0x10], eax
cmp dword [ebp - 8], 1
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ecx + eax + 4]
je 0x453ea2
test edi, edi
je 0x453ea2
push edi
call fcn.0045170e
test eax, eax
pop ecx
je 0x453ea2
push edi
call fcn.004516fe
mov ebx, eax
cmp byte [ebx], 0
pop ecx
je 0x453ea2
cmp dword [ebp - 0x14], 0
jne 0x453e84
push edi
call fcn.0044e94b
test eax, eax
pop ecx
jne 0x453e84
mov dword [ebp - 0x14], 1
push ebx
call sub.MSVCR80.dll_strlen
inc eax
push eax
push ebx
push dword [ebp - 0xc]
call sym.AdobeCollabSync.exe_PR_Write
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x453f8c
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp - 0x10], 0x18
cmp eax, dword [esi]
jl 0x453e3f
mov ebx, dword [ebp - 4]
mov eax, dword [esi + 4]
push dword [eax + 4]
call fcn.004516ee
push eax
push dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
call fcn.004646c0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x453fc4
cmp dword [ebp - 0x14], eax
je 0x453ef1
push eax
push dword [ebp - 0xc]
call fcn.00464729
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x453fc4
xor ebx, ebx
cmp dword [esi], ebx
mov dword [ebp - 8], ebx
jle 0x453f32
mov eax, dword [esi + 4]
mov edi, dword [ebx + eax + 4]
test edi, edi
je 0x453f25
push edi
call fcn.0045170e
test eax, eax
pop ecx
je 0x453f25
push dword [ebp - 4]
push edi
call fcn.004521b8
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x453fad
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add ebx, 0x18
cmp eax, dword [esi]
jl 0x453efa
lea eax, [ebp - 0xc]
push eax
call fcn.004646a8
push dword [ebp - 4]
call fcn.00452be1
push dword [ebp - 4]
call fcn.0044954f
push dword [ebp - 0x10]
call fcn.00421d78
add esp, 0x10
test eax, eax
mov dword [ebp - 8], eax
jne 0x454031
xor edi, edi
xor ebx, ebx
cmp dword [esi], edi
jle 0x45402e
mov eax, dword [esi + 4]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x453f7f
push eax
call fcn.0044ef4b
pop ecx
inc ebx
add edi, 0x18
cmp ebx, dword [esi]
jl 0x453f6d
jmp 0x45402e
lea eax, [ebp - 0xc]
push eax
call fcn.004646a8
push dword [ebp - 4]
call fcn.00452be1
push dword [ebp - 4]
call fcn.0044954f
add esp, 0xc
jmp 0x453e27
lea eax, [ebp - 0xc]
push eax
call fcn.004646a8
push dword [ebp - 4]
call fcn.0044954f
pop ecx
jmp 0x453e26
lea eax, [ebp - 0xc]
push eax
call fcn.004646a8
push ebx
call fcn.00452be1
push ebx
jmp 0x453fa0
xor ecx, ecx
xor ebx, ebx
cmp dword [ebp - 8], ecx
jne 0x45402e
xor edi, edi
cmp ebx, dword [esi]
jge 0x454007
mov eax, dword [esi + 4]
mov eax, dword [edi + eax + 4]
cmp eax, ecx
je 0x453ffc
push ecx
push eax
call fcn.004521b8
pop ecx
pop ecx
mov dword [ebp - 8], eax
xor ecx, ecx
inc ebx
add edi, 0x18
cmp dword [ebp - 8], ecx
je 0x453fe1
cmp dword [ebp - 8], ecx
jne 0x45402e
xor ebx, ebx
cmp dword [esi], ecx
jle 0x45402e
xor edi, edi
mov eax, dword [esi + 4]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x454026
push eax
call fcn.0044ef4b
pop ecx
inc ebx
add edi, 0x18
cmp ebx, dword [esi]
jl 0x454014
mov eax, dword [ebp - 8]
pop edi
pop ebx
leave
ret