Function at 0x40c860
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, ecx
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x40c892
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40c892
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0x22
inc dword [esi + 0xc]
cmp dword [ebp + 0xc], 0
jbe 0x40ca58
mov eax, dword [ebp + 8]
mov dword [ebp - 8], 0
nop
mov al, byte [eax]
mov esi, dword [edi]
movzx ebx, al
mov byte [ebp - 1], al
mov eax, dword [esi + 0xc]
cmp byte [ebx + str.uuuuuuuubtnufruuuuuuuuuuuuuuuuuu], 0
je 0x40ca14
cmp eax, dword [esi + 8]
jb 0x40c8ec
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40c8ec
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0x5c
inc dword [esi + 0xc]
mov esi, dword [edi]
mov al, byte [ebx + str.uuuuuuuubtnufruuuuuuuuuuuuuuuuuu]
mov byte [ebp - 1], al
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x40c925
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40c925
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov cl, byte [ebp - 1]
mov byte [eax], cl
inc dword [esi + 0xc]
cmp byte [ebx + str.uuuuuuuubtnufruuuuuuuuuuuuuuuuuu], 0x75
jne 0x40ca41
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x40c964
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40c964
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0x30
inc dword [esi + 0xc]
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x40c994
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40c994
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0x30
mov eax, ebx
inc dword [esi + 0xc]
mov esi, dword [edi]
shr eax, 4
mov al, byte [eax + 0x4fe540]
mov byte [ebp - 1], al
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x40c9d2
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40c9d2
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
and ebx, 0xf
mov cl, byte [ebp - 1]
mov bl, byte [ebx + 0x4fe540]
mov byte [eax], cl
inc dword [esi + 0xc]
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x40ca0d
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40ca0d
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], bl
jmp 0x40ca3e
cmp eax, dword [esi + 8]
jb 0x40ca36
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40ca36
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov cl, byte [ebp - 1]
mov byte [eax], cl
inc dword [esi + 0xc]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 8]
inc ecx
inc eax
mov dword [ebp - 8], ecx
mov dword [ebp + 8], eax
cmp ecx, dword [ebp + 0xc]
jb 0x40c8b0
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x40ca7f
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x40ca7f
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a69e7
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
pop edi
mov byte [eax], 0x22
mov al, 1
inc dword [esi + 0xc]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8