Function at 0x100ac1c0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov dword [ebp - 0x90], ecx
mov byte [ebp - 5], 0
push 0x100cecbc
mov eax, dword [ebp + 8]
push eax
call fcn.10084729
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x100ac213
call fcn.10083e69
mov ecx, dword [eax]
push ecx
call fcn.100861a8
add esp, 4
push eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x20
call fcn.10004a90
xor al, al
jmp 0x100ac416
mov ecx, dword [ebp - 0x90]
add ecx, 4
call fcn.10001830
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x100ac23d
mov edx, dword [ebp - 4]
push edx
call fcn.1007cb77
add esp, 4
mov al, 1
jmp 0x100ac416
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x3c]
and ecx, 1
je 0x100ac38b
mov ecx, dword [ebp - 0x90]
add ecx, 4
call fcn.100017f0
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x78], 0xff
mov byte [ebp - 0x77], 0xfe
mov edx, dword [ebp - 4]
push edx
push 1
push 2
lea eax, [ebp - 0x78]
push eax
call fcn.100863d7
add esp, 0x10
cmp eax, 1
jne 0x100ac350
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
push 0
call fcn.100a8430
add esp, 0xc
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
add eax, 1
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100791e9
add esp, 4
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.100a8430
add esp, 0xc
mov ecx, dword [ebp - 4]
push ecx
push 1
mov edx, dword [ebp - 0x84]
shl edx, 1
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.100863d7
add esp, 0x10
sub eax, 1
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 5], al
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x8c]
push edx
call fcn.1007af67
add esp, 4
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
push str._d_bytes_to_BOM___d_wide_chars
lea edx, [ebp - 0x70]
push edx
call fcn.1007b736
add esp, 0x10
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x20
call fcn.10004a90
movzx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x100ac377
call fcn.10083e69
mov edx, dword [eax]
push edx
call fcn.100861a8
add esp, 4
push eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x20
call fcn.10004a90
mov eax, dword [ebp - 4]
push eax
call fcn.1007cb77
add esp, 4
mov al, byte [ebp - 5]
jmp 0x100ac416
mov ecx, dword [ebp - 4]
push ecx
push 1
mov edx, dword [ebp - 0x74]
push edx
mov ecx, dword [ebp - 0x90]
add ecx, 4
call fcn.100017f0
push eax
call fcn.100863d7
add esp, 0x10
sub eax, 1
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 5], al
mov eax, dword [ebp - 0x74]
push eax
push str._d_bytes
lea ecx, [ebp - 0x70]
push ecx
call fcn.1007b736
add esp, 0xc
lea edx, [ebp - 0x70]
push edx
mov ecx, dword [ebp - 0x90]
add ecx, 0x20
call fcn.10004a90
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x100ac407
call fcn.10083e69
mov ecx, dword [eax]
push ecx
call fcn.100861a8
add esp, 4
push eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x20
call fcn.10004a90
mov edx, dword [ebp - 4]
push edx
call fcn.1007cb77
add esp, 4
mov al, byte [ebp - 5]
mov esp, ebp
pop ebp
ret 4