Function at 0x448950
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
push edi
mov edi, ecx
call fcn.00445620
mov ebx, eax
lea eax, [ebp + 8]
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], ebx
push eax
call fcn.00446000
add esp, 8
test al, al
je 0x448993
lea eax, [ebp + 8]
push eax
call fcn.00446010
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, edi
call fcn.0044a640
test eax, eax
je 0x4489d5
mov ecx, edi
call fcn.0044a600
mov ecx, edi
mov esi, eax
call fcn.0044a640
cmp eax, esi
jae 0x4489d5
mov ecx, edi
call fcn.0044a590
mov esi, eax
lea eax, [ebp + 8]
push eax
call fcn.00445fe0
mov byte [esi], al
add esp, 4
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0x4c], 0
je 0x448bc8
mov ecx, edi
call fcn.0044a1f0
cmp dword [edi + 0x38], 0
lea eax, [ebp + 8]
jne 0x448a18
push dword [edi + 0x4c]
push eax
call fcn.00445fe0
add esp, 4
movzx eax, al
push eax
call fcn.00446f30
add esp, 8
test al, al
cmovne ebx, dword [ebp + 8]
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push eax
call fcn.00445fe0
add esp, 4
mov byte [esp + 0xc], al
lea ecx, [esp + 0x28]
push 0
push 8
call fcn.00448130
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
call fcn.00448030
mov ecx, eax
call fcn.00447d20
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.00444570
add esi, eax
lea ecx, [esp + 0x2c]
push esi
lea eax, [esp + 0x24]
push eax
call fcn.00448030
mov ecx, eax
call fcn.00447d20
mov ecx, dword [edi + 0x38]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1d]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [edi + 0x40]
push eax
call fcn.00446530
test eax, eax
js 0x448bbf
cmp eax, 1
jg 0x448ba5
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
call fcn.00448030
mov ecx, eax
call fcn.00447d20
mov esi, dword [esp + 0x10]
sub esi, eax
je 0x448ae5
push dword [edi + 0x4c]
lea eax, [esp + 0x28]
push esi
push 1
push eax
lea ecx, [esp + 0x38]
call fcn.00448030
mov ecx, eax
call fcn.00447d20
push eax
call fcn.004bc421
add esp, 0x10
cmp esi, eax
jne 0x448bbf
lea eax, [esp + 0xc]
mov byte [edi + 0x3d], 1
cmp dword [esp + 0x14], eax
jne 0x448b8e
test esi, esi
jne 0x448b19
lea ecx, [esp + 0x28]
call fcn.00444570
cmp eax, 0x20
jae 0x448bbf
push esi
push 8
lea ecx, [esp + 0x30]
call fcn.0044a0e0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
call fcn.00448030
mov ecx, eax
call fcn.00447d20
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.00444570
add esi, eax
lea ecx, [esp + 0x2c]
push esi
lea eax, [esp + 0x24]
push eax
call fcn.00448030
mov ecx, eax
call fcn.00447d20
mov ecx, dword [edi + 0x38]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1d]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [edi + 0x40]
push eax
call fcn.00446530
test eax, eax
jns 0x448a93
lea ecx, [esp + 0x28]
call fcn.004445d0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x28]
call fcn.004445d0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 3
jne 0x448bbf
push dword [edi + 0x4c]
push dword [esp + 0x10]
call fcn.00446f30
add esp, 8
test al, al
cmovne ebx, dword [ebp + 8]
lea ecx, [esp + 0x28]
call fcn.004445d0
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 4