Function at 0x43ca45
Capabilities:
Write file on windows

Disassembly:
sub esp, 0xec4
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0xec0], eax
push ebx
push esi
mov esi, ecx
push esi
lea eax, [esp + 0x6cc]
push str.Tandem
push eax
mov byte [0x4befb8], 0x52
mov byte [0x4befa0], 0x50
call fcn.0049eab5
add esp, 0xc
cmp byte [esp + 0xed0], 0
push esi
je 0x43cdb6
call fcn.0043b6f0
test al, al
jne 0x43cbb2
push 0x200
push 0x4b1914
lea ecx, [esp + 0x2d0]
push ecx
push 0x4b1914
push esi
push 0x80000000
call fcn.00457070
push 0x200
push 0x4b1914
lea edx, [esp + 0xd0]
push edx
push 0x4b3238
push esi
push 0x80000000
call fcn.00457070
push 0x400
push 0x4b1914
lea eax, [esp + 0xad0]
push eax
push 0x4b322c
lea ecx, [esp + 0x6d8]
push ecx
push 0x80000000
call fcn.00457070
push 0xa
push 0x4b1914
lea edx, [esp + 0xc4]
push edx
push 0x4b3220
lea eax, [esp + 0x6d8]
push eax
push 0x80000000
call fcn.00457070
push esi
lea ecx, [esp + 0xc]
push 0x4b2e90
push ecx
mov bl, al
call fcn.0049eab5
add esp, 0xc
push esi
push 0x80000000
call fcn.00456d20
movzx edx, al
push edx
push str.SMS_QDOS
lea eax, [esp + 0x10]
push eax
call fcn.00457400
lea ecx, [esp + 0x2c8]
push ecx
push 0x4b1eec
lea edx, [esp + 0x10]
push edx
call fcn.004573c0
lea eax, [esp + 0xc8]
push eax
push str.TOPS_20
lea ecx, [esp + 0x10]
push ecx
call fcn.004573c0
cmp byte [esp + 0xac8], 0
jne 0x43cb9b
test bl, bl
je 0x43cb9b
push 0x4b175c
push 0x4b3204
lea edx, [esp + 0x10]
push edx
jmp 0x43cbad
lea eax, [esp + 0xac8]
push eax
push 0x4b3204
lea ecx, [esp + 0x10]
push ecx
call fcn.004573c0
cmp byte [esp + 0xedc], 0
mov eax, 0x4b2d68
jne 0x43cbc6
mov eax, 0x4b2da4
push eax
push 0x4b1914
push esi
push 0x80000000
call fcn.00456ed0
push 0x4b3238
push esi
push 0x80000000
call fcn.00456b80
mov bl, byte [esp + 0xed8]
test bl, bl
je 0x43cc5f
push edi
call fcn.0043d660
mov edi, eax
neg edi
sbb edi, edi
and edi, 0xffffffba
add edi, 0x64
xor esi, esi
test edi, edi
jle 0x43cc5e
lea ebx, [ebx]
push esi
lea edx, [esp + 0xa4]
push str.Z_System
push edx
call fcn.0049eab5
add esp, 0xc
push 0x4b2da4
push 0x4b1914
lea eax, [esp + 0xa8]
push eax
push 0x80000000
call fcn.00456ed0
push 0x4b3238
lea ecx, [esp + 0xa4]
push ecx
push 0x80000000
call fcn.00456b80
inc esi
cmp esi, edi
jl 0x43cc10
pop edi
cmp byte [esp + 0xed4], 0
je 0x43d01a
cmp byte [esp + 0xedc], 0
jne 0x43cc7f
test bl, bl
je 0x43d01a
lea edx, [esp + 0x6c8]
push edx
push 0x80000000
call fcn.00456b20
lea eax, [esp + 8]
push eax
mov dword [esp + 0xc], 0x94
call dword [0x4b1168]
cmp dword [esp + 0xc], 4
ja 0x43ccfc
cmp dword [esp + 0x10], 0xa
ja 0x43ccfc
test bl, bl
je 0x43ccd9
push 0x14
push 0x4befb8
push str.Mac_OS
lea ecx, [esp + 0x6d4]
push ecx
push 0x80000000
call fcn.00457020
jmp 0x43d01a
push 0x16
push 0x4befa0
push str.Mac_OS
lea edx, [esp + 0x6d4]
push edx
push 0x80000000
call fcn.00457020
jmp 0x43d01a
push 0x400
lea eax, [esp + 0x2cc]
push eax
push 0
call dword [0x4b1380]
mov esi, str.Atari_ST
test bl, bl
jne 0x43cd1f
mov esi, 0x4b31dc
lea ecx, [esp + 0x2c8]
push ecx
call fcn.0044e730
lea esp, [esp]
mov cl, byte [esi]
mov byte [eax], cl
inc esi
inc eax
test cl, cl
jne 0x43cd30
lea edx, [esp + 0x2c8]
push edx
call dword [0x4b13d8]
cmp eax, 0xffffffff
jne 0x43cd92
lea eax, [esp + 0x2c8]
push 0x4b1ba8
push eax
call fcn.004a0348
mov esi, eax
add esp, 8
test esi, esi
je 0x43cd92
push esi
test bl, bl
je 0x43cd78
push 0x14
push 1
push 0x4befb8
jmp 0x43cd81
push 0x16
push 1
push 0x4befa0
call fcn.004a0202
add esp, 0x10
push esi
call fcn.004a0026
add esp, 4
lea ecx, [esp + 0x2c8]
push ecx
push 0x4b322c
lea edx, [esp + 0x6d0]
push edx
push 0x80000000
call fcn.00456ed0
jmp 0x43d01a
lea eax, [esp + 0xc]
push 0x4b2e90
push eax
call fcn.0049eab5
add esp, 0xc
push esi
call fcn.0043b6f0
test al, al
je 0x43d01a
push 1
push str.SMS_QDOS
lea ecx, [esp + 0x10]
push ecx
call fcn.00457560
push 0x200
push 0x4b1914
lea edx, [esp + 0xd0]
push edx
test eax, eax
push 0x4b1eec
lea eax, [esp + 0x18]
push eax
setne bl
call fcn.00457500
lea ecx, [esp + 0xc8]
push 0x4b2da4
push ecx
call fcn.004aca46
add esp, 8
test eax, eax
je 0x43ce3f
lea edx, [esp + 0xc8]
push 0x4b2d68
push edx
call fcn.004aca46
add esp, 8
test eax, eax
jne 0x43ce47
mov byte [esp + 0xc8], 0
push 0x200
push 0x4b1914
lea eax, [esp + 0x2d0]
push eax
push str.TOPS_20
lea ecx, [esp + 0x18]
push ecx
call fcn.00457500
test bl, bl
je 0x43cf42
lea edx, [esp + 0xc8]
push edx
push 0x4b1914
push esi
push 0x80000000
call fcn.00456ed0
cmp byte [esp + 0x2c8], 0
je 0x43ceac
lea eax, [esp + 0x2c8]
push eax
push 0x4b3238
push esi
push 0x80000000
call fcn.00456ed0
jmp 0x43cebc
push 0x4b3238
push esi
push 0x80000000
call fcn.00456b80
push 0x400
push 0x4b1914
lea ecx, [esp + 0xad0]
push ecx
push 0x4b3204
lea edx, [esp + 0x18]
push edx
call fcn.00457500
push 0x4b322c
lea eax, [esp + 0x6cc]
push eax
push 0x80000000
call fcn.00456b80
mov al, byte [esp + 0xac8]
test al, al
je 0x43cf74
cmp al, 0x2a
jne 0x43cf21
push 0x4b1914
push 0x4b3220
lea ecx, [esp + 0x6d0]
push ecx
push 0x80000000
call fcn.00456ed0
jmp 0x43cf74
lea edx, [esp + 0xac8]
push edx
push 0x4b322c
lea eax, [esp + 0x6d0]
push eax
push 0x80000000
call fcn.00456ed0
jmp 0x43cf74
lea ecx, [esp + 0x6c8]
push ecx
push 0x80000000
call fcn.00456b20
push 0x4b1914
push 0x4b1914
push esi
push 0x80000000
call fcn.00456ed0
push esi
push 0x80000000
call fcn.00456b20
cmp byte [esp + 0xed8], 0
je 0x43d01a
xor esi, esi
jmp 0x43cf90
push esi
lea edx, [esp + 0xa0]
push str.Z_System
push edx
call fcn.0049eab5
add esp, 0xc
test bl, bl
je 0x43cffe
cmp byte [esp + 0xc8], 0
je 0x43cffe
lea eax, [esp + 0xc8]
push eax
push 0x4b1914
lea ecx, [esp + 0xa4]
push ecx
push 0x80000000
call fcn.00456ed0
cmp byte [esp + 0x2c8], 0
je 0x43d010
lea edx, [esp + 0x2c8]
push edx
push 0x4b3238
lea eax, [esp + 0xa4]
push eax
push 0x80000000
call fcn.00456ed0
jmp 0x43d010
lea ecx, [esp + 0x9c]
push ecx
push 0x80000000
call fcn.00456b20
inc esi
cmp esi, 0x64
jl 0x43cf90
mov ecx, dword [esp + 0xec8]
pop esi
pop ebx
xor ecx, esp
call fcn.0049eaa6
add esp, 0xec4
ret 0x10