Function at 0x4046a0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x40214
call fcn.004243c0
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push esi
mov dword [ebp - 0x4020c], 0
call fcn.00404990
add esp, 4
cmp eax, 2
je 0x404851
nop word [eax + eax]
mov ecx, 0x46e258
mov eax, 0x486658
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404710
test dl, dl
je 0x40470c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404710
add eax, 2
add ecx, 2
test dl, dl
jne 0x4046f0
xor eax, eax
jmp 0x404715
sbb eax, eax
or eax, 1
test eax, eax
je 0x404851
movsd xmm0, qword [0x486650]
call fcn.00424221
mov ecx, dword [ebp - 0x4020c]
shl ecx, 5
push esi
mov dword [ebp + ecx - 0x40208], eax
call fcn.00404990
movsd xmm0, qword [0x486650]
mov eax, dword [ebp - 0x4020c]
cvtpd2ps xmm0, xmm0
shl eax, 5
push esi
movss dword [ebp + eax - 0x40204], xmm0
call fcn.00404990
movsd xmm0, qword [0x486650]
mov eax, dword [ebp - 0x4020c]
cvtpd2ps xmm0, xmm0
shl eax, 5
push esi
movss dword [ebp + eax - 0x40200], xmm0
call fcn.00404990
movsd xmm0, qword [0x486650]
mov eax, dword [ebp - 0x4020c]
cvtpd2ps xmm0, xmm0
shl eax, 5
push esi
movss dword [ebp + eax - 0x401fc], xmm0
call fcn.00404990
movsd xmm0, qword [0x486650]
mov eax, dword [ebp - 0x4020c]
cvtpd2ps xmm0, xmm0
shl eax, 5
push esi
movss dword [ebp + eax - 0x401f8], xmm0
call fcn.00404990
movsd xmm0, qword [0x486650]
mov eax, dword [ebp - 0x4020c]
cvtpd2ps xmm0, xmm0
shl eax, 5
push esi
movss dword [ebp + eax - 0x401f4], xmm0
call fcn.00404990
movsd xmm0, qword [0x486650]
mov eax, dword [ebp - 0x4020c]
cvtpd2ps xmm0, xmm0
shl eax, 5
push esi
movss dword [ebp + eax - 0x401f0], xmm0
call fcn.00404990
movsd xmm0, qword [0x486650]
mov ecx, dword [ebp - 0x4020c]
mov eax, ecx
cvtpd2ps xmm0, xmm0
shl eax, 5
inc ecx
push esi
mov dword [ebp - 0x4020c], ecx
movss dword [ebp + eax - 0x401ec], xmm0
call fcn.00404990
add esp, 0x20
cmp eax, 2
jne 0x4046e0
lea eax, [ebp - 0x208]
mov byte [ebp - 8], 0
push eax
call fcn.00404e40
add esp, 4
test eax, eax
jne 0x40488e
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424024
mov esp, ebp
pop ebp
ret
push ebx
push edi
push 0x46e280
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x40210]
push eax
call fcn.0043644b
push 0x20
call fcn.00423c35
mov ecx, dword [ebp - 0x4020c]
add esp, 0x10
xor edi, edi
mov ebx, eax
test ecx, ecx
je 0x4048df
lea esi, [ebp - 0x40208]
push 0x20
push esi
call fcn.00423470
mov ecx, dword [ebp - 0x4020c]
inc edi
add esp, 8
add esi, 0x20
cmp edi, ecx
jb 0x4048c6
push 0xe2f1
shl ecx, 5
lea eax, [ebp - 0x40208]
push ecx
push eax
call fcn.00422b60
push dword [ebp - 0x40210]
mov dword [ebp - 0x40214], eax
lea eax, [ebp - 0x4020c]
push 1
push 4
push eax
call fcn.00436dba
push dword [ebp - 0x40210]
mov eax, dword [ebp - 0x4020c]
shl eax, 5
push eax
lea eax, [ebp - 0x40208]
push 1
push eax
call fcn.00436dba
push dword [ebp - 0x40210]
lea eax, [ebp - 0x40214]
push 1
push 4
push eax
call fcn.00436dba
push ebx
call fcn.004243b7
add esp, 0x40
push dword [ebp - 0x40210]
call fcn.00436555
add esp, 4
push 0
push str.NOTICE_
push str.File_saved_successfully_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
pop edi
pop ebx
xor ecx, ebp
pop esi
call fcn.00424024
mov esp, ebp
pop ebp
ret