Function at 0x40bfc1
Capabilities:
Write file on windows

Disassembly:
push 0x458
mov eax, 0x48ec81
call fcn.00427e31
mov ebx, ecx
mov esi, dword [ebp + 8]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x444], ecx
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x430], 7
mov word [ebp - 0x444], ax
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x444]
call fcn.00408c23
cmp dword [ebp - 0x430], 8
lea eax, [ebp - 0x444]
push 0x4ab84c
cmovae eax, dword [ebp - 0x444]
push eax
call fcn.00437e2b
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x40c25c
xor eax, eax
mov dword [ebp - 0x418], 0xf
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x41c], eax
mov byte [ebp - 0x42c], al
mov byte [ebp - 4], 1
cmp dword [esi + 0x14], 0x10
mov eax, dword [esi + 0x10]
jb 0x40c05c
mov esi, dword [esi]
push eax
push esi
lea ecx, [ebp - 0x42c]
call fcn.0040bd0a
mov esi, 0x1000
test eax, eax
je 0x40c170
xor eax, eax
cmp dword [ebx + 0x2c], eax
je 0x40c14a
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], 0xf
mov byte [ebp - 0x45c], al
mov byte [ebp - 4], 2
lea edx, [ebp - 0x42c]
cmp dword [ebp - 0x418], 0x10
lea ecx, [ebx + 0x1c]
cmovae edx, dword [ebp - 0x42c]
cmp dword [ecx + 0x14], 0x10
jb 0x40c0c0
mov ecx, dword [ecx]
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x41c]
call fcn.0040cc2f
cmp dword [ebp - 0x448], 0x10
lea eax, [ebp - 0x45c]
push edi
cmovae eax, dword [ebp - 0x45c]
push 1
push dword [ebp - 0x44c]
push eax
call fcn.00437a87
mov byte [ebp - 4], 1
add esp, 0x18
mov eax, dword [ebp - 0x448]
cmp eax, 0x10
jb 0x40c170
mov ecx, dword [ebp - 0x45c]
inc eax
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], ecx
cmp eax, esi
jb 0x40c13f
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x460]
push eax
call fcn.004016dc
mov eax, dword [ebp - 0x464]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x460]
push eax
push ecx
call fcn.004272f3
pop ecx
pop ecx
jmp 0x40c170
cmp dword [ebp - 0x418], 0x10
lea eax, [ebp - 0x42c]
push edi
cmovae eax, dword [ebp - 0x42c]
push 1
push dword [ebp - 0x41c]
push eax
call fcn.00437a87
add esp, 0x10
push edi
call fcn.0043751a
pop ecx
lea ecx, [ebx + 4]
lea eax, [ebp - 0x444]
cmp ecx, eax
je 0x40c19e
cmp dword [ebp - 0x430], 8
push dword [ebp - 0x434]
cmovae eax, dword [ebp - 0x444]
push eax
call fcn.00402281
mov eax, dword [ebp - 0x418]
cmp eax, 0x10
jb 0x40c1ea
mov ecx, dword [ebp - 0x42c]
inc eax
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x464], ecx
cmp eax, esi
jb 0x40c1e1
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x464]
push eax
call fcn.004016dc
mov eax, dword [ebp - 0x460]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x464]
push eax
push ecx
call fcn.004272f3
pop ecx
pop ecx
and dword [ebp - 0x41c], 0
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x418], 0xf
mov byte [ebp - 0x42c], 0
cmp eax, 8
jb 0x40c254
mov ecx, dword [ebp - 0x444]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x464], ecx
cmp eax, esi
jb 0x40c24b
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x464]
push eax
call fcn.004016dc
mov eax, dword [ebp - 0x460]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x464]
push eax
push ecx
call fcn.004272f3
pop ecx
pop ecx
call fcn.00427de0
ret 4
push 0x400
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.00429240
add esp, 0xc
lea ecx, [ebp - 0x444]
call fcn.004016d1
push eax
lea eax, [ebp - 0x414]
push 0x4aba20
push eax
call fcn.004070f6
add esp, 0xc
lea eax, [ebp - 0x414]
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x460]
push 0x4b8e28
push eax
call fcn.0042a85e
int3