Function at 0x100141e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100bcee8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
push edi
mov edi, ecx
call fcn.10001ad0
mov ebx, eax
lea eax, [ebp + 8]
push eax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], ebx
call fcn.1000be30
add esp, 8
test al, al
je 0x10014243
lea eax, [ebp + 8]
push eax
call fcn.1000d2b0
add esp, 4
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, edi
call fcn.1000ec20
test eax, eax
je 0x10014290
mov ecx, edi
call fcn.1000ec90
mov ecx, edi
mov esi, eax
call fcn.1000ec20
cmp eax, esi
jae 0x10014290
mov ecx, edi
call fcn.1000ed10
mov esi, eax
lea eax, [ebp + 8]
push eax
call fcn.1000be10
mov byte [esi], al
mov eax, dword [ebp + 8]
add esp, 4
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0x50], 0
je 0x10014461
mov ecx, edi
call fcn.10014e60
cmp dword [edi + 0x40], 0
lea eax, [ebp + 8]
jne 0x100142cd
push dword [edi + 0x50]
push eax
call fcn.1000be10
movzx eax, al
add esp, 4
push eax
call fcn.10013fc0
add esp, 8
test al, al
cmovne ebx, dword [ebp + 8]
jmp 0x10014461
push eax
call fcn.1000be10
add esp, 4
lea ecx, [esp + 0x28]
push 0
push 8
mov byte [esp + 0x14], al
call fcn.1000ea10
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x54], 0
call fcn.10014bb0
mov ecx, eax
call fcn.10002c00
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.10001570
add esi, eax
push esi
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x34]
call fcn.10014bb0
mov ecx, eax
call fcn.10002c00
mov ecx, dword [edi + 0x40]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1d]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [edi + 0x48]
push eax
call fcn.1000d380
test eax, eax
js 0x10014458
cmp eax, 1
jg 0x1001443e
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
call fcn.10014bb0
mov ecx, eax
call fcn.10002c00
mov esi, dword [esp + 0x10]
sub esi, eax
je 0x100143a2
push dword [edi + 0x50]
lea eax, [esp + 0x28]
push esi
push 1
push eax
lea ecx, [esp + 0x38]
call fcn.10014bb0
mov ecx, eax
call fcn.10002c00
push eax
call fcn.10037a50
add esp, 0x10
cmp esi, eax
jne 0x10014458
lea eax, [esp + 0xc]
mov byte [edi + 0x45], 1
cmp dword [esp + 0x14], eax
jne 0x10014439
test esi, esi
jne 0x100143d6
lea ecx, [esp + 0x28]
call fcn.10001570
cmp eax, 0x20
jae 0x10014458
push esi
push 8
lea ecx, [esp + 0x30]
call fcn.10014b50
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
call fcn.10014bb0
mov ecx, eax
call fcn.10002c00
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.10001570
add esi, eax
push esi
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x34]
call fcn.10014bb0
mov ecx, eax
call fcn.10002c00
mov ecx, dword [edi + 0x40]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1d]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [edi + 0x48]
push eax
call fcn.1000d380
test eax, eax
jns 0x10014350
jmp 0x10014458
mov ebx, dword [ebp + 8]
jmp 0x10014458
cmp eax, 3
jne 0x10014458
push dword [edi + 0x50]
push dword [esp + 0x10]
call fcn.10013fc0
add esp, 8
test al, al
cmovne ebx, dword [ebp + 8]
lea ecx, [esp + 0x28]
call fcn.10001560
mov ecx, dword [esp + 0x44]
pop edi
pop esi
mov eax, ebx
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4