Function at 0x1001ca80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], 1
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
sub ecx, dword [eax]
sub ecx, 0x10
sar ecx, 4
sub ecx, esi
je 0x1001cd2f
mov ebx, dword [edi + 0x14]
dec ecx
mov dword [esp + 0x2c], ecx
test esi, esi
jle 0x1001caea
mov ecx, esi
shl ecx, 4
add ecx, dword [ebx]
cmp ecx, dword [edi + 0xc]
jb 0x1001cb24
test esi, esi
jle 0x1001cc53
mov eax, esi
mov ecx, 0x100e3a10
shl eax, 4
add eax, dword [ebx]
cmp eax, dword [edi + 0xc]
cmovb ecx, eax
jmp 0x1001cc94
cmp esi, 0xfff0b9d8
jle 0x1001cafc
mov ecx, esi
shl ecx, 4
add ecx, dword [edi + 0xc]
jmp 0x1001cb24
jne 0x1001cb06
mov ecx, dword [edi + 0x10]
add ecx, 0x28
jmp 0x1001cb24
mov eax, dword [ebx]
mov ecx, 0xfff0b9d8
sub ecx, esi
cmp dword [eax + 8], 0x16
je 0x1001cacb
mov edx, dword [eax]
movzx eax, byte [edx + 6]
cmp ecx, eax
jg 0x1001cacb
shl ecx, 4
add ecx, edx
cmp ecx, 0x100e3a10
je 0x1001cacb
mov eax, dword [ecx + 8]
and eax, 0xf
cmp al, 3
jne 0x1001cacb
test esi, esi
jle 0x1001cb4e
mov eax, esi
mov ecx, 0x100e3a10
shl eax, 4
add eax, dword [ebx]
cmp eax, dword [edi + 0xc]
cmovb ecx, eax
jmp 0x1001cb8f
cmp esi, 0xfff0b9d8
jle 0x1001cb60
mov ecx, esi
shl ecx, 4
add ecx, dword [edi + 0xc]
jmp 0x1001cb8f
jne 0x1001cb6a
mov ecx, dword [edi + 0x10]
add ecx, 0x28
jmp 0x1001cb8f
mov edx, dword [ebx]
mov ecx, 0xfff0b9d8
sub ecx, esi
cmp dword [edx + 8], 0x16
je 0x1001cb8a
mov edx, dword [edx]
movzx eax, byte [edx + 6]
cmp ecx, eax
jg 0x1001cb8a
shl ecx, 4
add ecx, edx
jmp 0x1001cb8f
mov ecx, 0x100e3a10
cmp dword [ecx + 8], 0x13
mov edx, esi
mov ecx, edi
jne 0x1001cbe6
call fcn.1000de00
cmp dword [eax + 8], 0x13
jne 0x1001cbba
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
push str._lld
jmp 0x1001cc2a
push 0
lea edx, [esp + 0x34]
mov ecx, eax
call fcn.10031970
add esp, 4
test eax, eax
jne 0x1001cbd7
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
push dword [esp + 0x34]
push dword [esp + 0x34]
push str._lld
jmp 0x1001cc2a
call fcn.1000de00
cmp dword [eax + 8], 3
jne 0x1001cbfd
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm0
jmp 0x1001cc1d
lea edx, [esp + 0x38]
mov ecx, eax
call fcn.100318e0
test eax, eax
jne 0x1001cc17
xorps xmm0, xmm0
movsd qword [esp + 0x38], xmm0
jmp 0x1001cc1d
movsd xmm0, qword [esp + 0x38]
sub esp, 8
movsd qword [esp], xmm0
push str._.14g
push dword [esp + 0x34]
call fcn.1000f310
add esp, 0x10
cmp dword [esp + 0x24], 0
je 0x1001cd04
test eax, eax
jle 0x1001cd04
mov eax, 1
jmp 0x1001cd06
cmp esi, 0xfff0b9d8
jle 0x1001cc65
mov ecx, esi
shl ecx, 4
add ecx, dword [edi + 0xc]
jmp 0x1001cc94
jne 0x1001cc6f
mov ecx, dword [edi + 0x10]
add ecx, 0x28
jmp 0x1001cc94
mov edx, dword [ebx]
mov ecx, 0xfff0b9d8
sub ecx, esi
cmp dword [edx + 8], 0x16
je 0x1001cc8f
mov edx, dword [edx]
movzx eax, byte [edx + 6]
cmp ecx, eax
jg 0x1001cc8f
shl ecx, 4
add ecx, edx
jmp 0x1001cc94
mov ecx, 0x100e3a10
mov eax, dword [ecx + 8]
and eax, 0xf
cmp eax, 4
je 0x1001cccc
cmp eax, 3
jne 0x1001cd3b
mov edx, ecx
mov ecx, edi
call fcn.10022b10
mov eax, dword [edi + 0x10]
cmp dword [eax + 0xc], 0
jle 0x1001ccc1
mov ecx, edi
call fcn.1001afe0
mov edx, esi
mov ecx, edi
call fcn.1000de00
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 4], 4
jne 0x1001ccda
movzx ebx, byte [eax + 7]
jmp 0x1001ccdd
mov ebx, dword [eax + 0xc]
add eax, 0x10
je 0x1001cd3b
cmp dword [esp + 0x24], 0
je 0x1001cd04
push dword [esp + 0x28]
push ebx
push 1
push eax
call fcn.1008d14a
add esp, 0x10
cmp eax, ebx
jne 0x1001cd04
mov eax, 1
jmp 0x1001cd06
xor eax, eax
mov ecx, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x24], eax
test ecx, ecx
jne 0x1001cab3
test eax, eax
jne 0x1001cd2f
push ecx
xor edx, edx
mov ecx, edi
call fcn.1000fd30
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
push 4
mov edx, esi
mov ecx, edi
call fcn.1000fc30
int3