Function at 0x45d796
Capabilities:
Write file on windows

Disassembly:
jne 0x45d866
mov dword [ebp - 0x1ac4], eax
cmp dword [ebp + 0x10], ecx
jbe 0x45dacb
jmp 0x45d7b3
mov esi, dword [ebp - 0x1ad8]
mov ecx, dword [ebp - 0x1ac4]
and dword [ebp - 0x1abc], 0
sub ecx, dword [ebp - 0x1acc]
lea eax, [ebp - 0x1ab8]
cmp ecx, dword [ebp + 0x10]
jae 0x45d80a
mov edx, dword [ebp - 0x1ac4]
inc dword [ebp - 0x1ac4]
mov dl, byte [edx]
inc ecx
cmp dl, 0xa
jne 0x45d7f5
inc dword [ebp - 0x1ad0]
mov byte [eax], 0xd
inc eax
inc dword [ebp - 0x1abc]
mov byte [eax], dl
inc eax
inc dword [ebp - 0x1abc]
cmp dword [ebp - 0x1abc], 0x13ff
jb 0x45d7cc
mov ebx, eax
lea eax, [ebp - 0x1ab8]
sub ebx, eax
push 0
lea eax, [ebp - 0x1ad4]
push eax
push ebx
lea eax, [ebp - 0x1ab8]
push eax
mov eax, dword [esi]
push dword [edi + eax]
call dword [0x476300]
test eax, eax
je 0x45da7a
mov eax, dword [ebp - 0x1ad4]
add dword [ebp - 0x1ac8], eax
cmp eax, ebx
jl 0x45da86
mov eax, dword [ebp - 0x1ac4]
sub eax, dword [ebp - 0x1acc]
cmp eax, dword [ebp + 0x10]
jb 0x45d7ad
jmp 0x45da86
mov dword [ebp - 0x1abc], eax
cmp bl, 2
jne 0x45d946
cmp dword [ebp + 0x10], ecx
jbe 0x45dacb
jmp 0x45d886
mov esi, dword [ebp - 0x1ad8]
mov ecx, dword [ebp - 0x1abc]
and dword [ebp - 0x1ac4], 0
sub ecx, dword [ebp - 0x1acc]
lea eax, [ebp - 0x1ab8]
cmp ecx, dword [ebp + 0x10]
jae 0x45d8ea
mov edx, dword [ebp - 0x1abc]
add dword [ebp - 0x1abc], 2
movzx edx, word [edx]
inc ecx
inc ecx
cmp dx, 0xa
jne 0x45d8d2
add dword [ebp - 0x1ad0], 2
push 0xd
pop ebx
mov word [eax], bx
inc eax
inc eax
add dword [ebp - 0x1ac4], 2
add dword [ebp - 0x1ac4], 2
mov word [eax], dx
inc eax
inc eax
cmp dword [ebp - 0x1ac4], 0x13fe
jb 0x45d89f
mov ebx, eax
lea eax, [ebp - 0x1ab8]
sub ebx, eax
push 0
lea eax, [ebp - 0x1ad4]
push eax
push ebx
lea eax, [ebp - 0x1ab8]
push eax
mov eax, dword [esi]
push dword [edi + eax]
call dword [0x476300]
test eax, eax
je 0x45da7a
mov eax, dword [ebp - 0x1ad4]
add dword [ebp - 0x1ac8], eax
cmp eax, ebx
jl 0x45da86
mov eax, dword [ebp - 0x1abc]
sub eax, dword [ebp - 0x1acc]
cmp eax, dword [ebp + 0x10]
jb 0x45d880
jmp 0x45da86
cmp dword [ebp + 0x10], ecx
jbe 0x45dacb
mov ecx, dword [ebp - 0x1abc]
and dword [ebp - 0x1ac4], 0
sub ecx, dword [ebp - 0x1acc]
push 2
lea eax, [ebp - 0x6b8]
pop esi
cmp ecx, dword [ebp + 0x10]
jae 0x45d9ac
mov edx, dword [ebp - 0x1abc]
movzx edx, word [edx]
add dword [ebp - 0x1abc], esi
add ecx, esi
cmp dx, 0xa
jne 0x45d995
push 0xd
pop ebx
mov word [eax], bx
add eax, esi
add dword [ebp - 0x1ac4], esi
add dword [ebp - 0x1ac4], esi
mov word [eax], dx
add eax, esi
cmp dword [ebp - 0x1ac4], 0x6a8
jb 0x45d96b
xor esi, esi
push esi
push esi
push 0xd55
lea ecx, [ebp - 0x1410]
push ecx
lea ecx, [ebp - 0x6b8]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, ecx
push eax
push esi
push 0xfde9
call dword [0x476390]
mov ebx, eax
cmp ebx, esi
je 0x45da7a
push 0
lea eax, [ebp - 0x1ad4]
push eax
mov eax, ebx
sub eax, esi
push eax
lea eax, [ebp + esi - 0x1410]
push eax
mov eax, dword [ebp - 0x1ad8]
mov eax, dword [eax]
push dword [edi + eax]
call dword [0x476300]
test eax, eax
je 0x45da1a
add esi, dword [ebp - 0x1ad4]
cmp ebx, esi
jg 0x45d9e3
jmp 0x45da26
call dword [0x476378]
mov dword [ebp - 0x1ac0], eax
cmp ebx, esi
jg 0x45da86
mov eax, dword [ebp - 0x1abc]
sub eax, dword [ebp - 0x1acc]
mov dword [ebp - 0x1ac8], eax
cmp eax, dword [ebp + 0x10]
jb 0x45d94f
jmp 0x45da86
call dword [0x476378]
mov dword [ebp - 0x1ac0], eax
cmp dword [ebp - 0x1ac8], 0
jne 0x45dafb
cmp dword [ebp - 0x1ac0], 0
je 0x45dac5
push 5
pop esi
mov esi, dword [ebp - 0x1ad8]
mov eax, dword [esi]
test byte [edi + eax + 4], 0x40
je 0x45dae3
mov eax, dword [ebp - 0x1acc]
cmp byte [eax], 0x1a
jne 0x45dae3
xor eax, eax
jmp 0x45db07
call fcn.004561ce
mov dword [eax], 0x1c
call fcn.004561e1
and dword [eax], 0
mov eax, dword [ebp - 0x1ac8]
sub eax, dword [ebp - 0x1ad0]