Function at 0x40c2d0
Capabilities:
Write file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xb60
mov eax, dword [0x42400c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 8]
push esi
push edi
mov dword [ebp - 0xb30], eax
mov edi, ecx
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xb34], edi
mov dword [ebp - 0xb20], eax
test eax, eax
jne 0x40c32d
push eax
push str.Cant_speak_
push str.Sentence__NULL__
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40d267
mov ecx, dword [edi + 0xa73c]
test ecx, ecx
je 0x40c350
mov eax, dword [edi + 0xa734]
lea eax, [eax*2 - 4]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x2b318]
xor esi, esi
mov dword [ebp - 0xb14], esi
mov dword [ebp - 0xb40], esi
mov dword [ebp - 0xb38], esi
mov dword [ebp - 0xb00], 0x3f800000
mov dword [ebp - 0xb48], 1
mov dword [ebp - 0x970], esi
cmp eax, 0xffffffff
je 0x40c3dd
cmp eax, dword [edi + 0x2b264]
jge 0x40c3dd
mov ecx, dword [edi + 0x2b268]
mov edx, eax
shl edx, 4
sub edx, eax
mov eax, dword [ecx + edx*4 + 4]
xor ecx, ecx
mov dword [ebp - 0xb48], eax
test eax, eax
jle 0x40c3dd
mov eax, dword [edi + 0x2b268]
mov esi, dword [ebp - 0xb48]
mov edx, dword [eax + edx*4 + 8]
nop
mov eax, dword [edx]
lea edx, [edx + 0xc]
mov dword [ebp + ecx*4 - 0xb00], eax
mov eax, dword [edx - 8]
mov dword [ebp + ecx*4 - 0x970], eax
inc ecx
cmp ecx, esi
jl 0x40c3c0
xor esi, esi
mov ecx, dword [ebp - 0xb20]
mov dword [ebp - 0xb4c], 1
mov dword [ebp - 0xb50], 1
push dword [ecx + 0x10]
push str.sent__top___d
push dword [edi + 0x2b5c8]
call fcn.004016a0
mov ecx, dword [ebp - 0xb20]
add esp, 0xc
cmp dword [ecx + 0x10], 0
jle 0x40cc99
nop dword [eax]
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0xb40]
movzx edx, word [eax + ecx*2]
mov ecx, dword [ebp - 0xb20]
mov eax, dword [ebp - 0xb40]
mov dword [ebp - 0xb3c], edx
mov ecx, dword [ecx + 0xc]
movzx eax, word [ecx + eax*2]
cmp edx, eax
ja 0x40cc7d
nop
mov edx, dword [ebp - 0xb40]
movzx eax, word [ecx + edx*2]
push eax
mov eax, dword [ebp - 0xb20]
mov eax, dword [eax + 8]
movzx eax, word [eax + edx*2]
push eax
push str.sent__start_k____d__sent__end_k____d
push dword [edi + 0x2b5c8]
call fcn.004016a0
mov edx, dword [ebp - 0xb3c]
add esp, 0x10
mov eax, dword [ebp - 0xb30]
lea ecx, [edx + edx*2]
mov eax, dword [eax + 4]
shl ecx, 3
mov dword [ebp - 0xb44], ecx
cmp dword [ecx + eax + 0x10], 0
je 0x40cc5b
push ecx
push dword [edi + 0x2b5c8]
lea ecx, [edi + 0x2b590]
call fcn.00401c30
mov ecx, dword [ebp - 0xb30]
mov edx, dword [ebp - 0xb44]
add edx, dword [ecx + 4]
mov ecx, edx
cmp dword [edx + 0x14], 0x10
jb 0x40c4cd
mov ecx, dword [edx]
lea eax, [ebp - 0x7e0]
sub eax, ecx
mov dword [ebp - 0xb1c], eax
mov esi, eax
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x40c4e0
cmp dword [edx + 0x14], 0x10
jb 0x40c4f5
mov edx, dword [edx]
push edx
push str.___s__
call fcn.004015e0
mov eax, dword [ebp - 0xb30]
add esp, 8
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xb44]
cmp dword [eax + 0x14], 0x10
jb 0x40c51a
mov eax, dword [eax]
push eax
push str.___s__
push dword [edi + 0x2b5c8]
call fcn.004016a0
add esp, 8
lea ecx, [edi + 0x2b590]
push dword [edi + 0x2b5c8]
call fcn.00401c30
mov ecx, dword [ebp - 0xb30]
xor edx, edx
mov esi, dword [ebp - 0xb44]
mov dword [ebp - 0xb18], edx
mov eax, dword [ecx + 4]
mov eax, dword [esi + eax + 0x10]
mov dword [ebp - 0xb1c], eax
test eax, eax
jle 0x40c6f6
mov eax, edx
nop word [eax + eax]
lea ecx, [ebp - 0x7e0]
add eax, ecx
mov dword [ebp - 0xb54], eax
movzx eax, byte [eax]
push eax
push str.Char:___d_
push dword [edi + 0x2b5c8]
call fcn.004016a0
add esp, 8
lea ecx, [edi + 0x2b590]
push dword [edi + 0x2b5c8]
call fcn.00401c30
mov eax, dword [ebp - 0xb18]
inc eax
cmp eax, dword [ebp - 0xb1c]
jge 0x40c7bc
mov eax, dword [ebp - 0xb30]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xb44]
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x40c5d2
mov edx, dword [eax]
mov esi, dword [ebp - 0xb18]
mov dword [ebp - 0xb24], eax
mov dl, byte [edx + esi]
jb 0x40c5e7
mov ecx, dword [eax]
jmp 0x40c5ed
mov ecx, dword [ebp - 0xb24]
mov edi, dword [ebp - 0xb18]
mov cl, byte [ecx + edi + 1]
mov edi, dword [ebp - 0xb34]
cmp dl, 0xe7
jne 0x40c6b0
cmp cl, 0xe6
jne 0x40c61d
cmp dword [eax + 0x14], 0x10
jb 0x40c613
mov eax, dword [eax]
mov esi, dword [ebp - 0xb18]
mov byte [eax + esi], 0xe6
cmp dword [edi + 0x2995c], 0
je 0x40c7bc
cmp dword [ebp - 0xb18], 0
jle 0x40c7bc
mov eax, dword [ebp - 0xb30]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xb44]
mov dword [ebp - 0xb28], eax
cmp dword [eax + 0x14], 0x10
jb 0x40c65a
mov esi, dword [eax]
mov dword [ebp - 0xb28], esi
cmp dl, 0xf2
jne 0x40c67d
cmp cl, 0xed
jne 0x40c67d
mov edi, dword [ebp - 0xb18]
mov esi, dword [ebp - 0xb28]
cmp byte [esi + edi - 1], 0xf1
mov edi, dword [ebp - 0xb34]
je 0x40c6c7
cmp dword [edi + 0x2b364], 1
jne 0x40c7bc
cmp dl, 0xf9
jne 0x40c7bc
cmp cl, 0xf2
jne 0x40c7bc
cmp dword [eax + 0x14], 0x10
jb 0x40c6a4
mov eax, dword [eax]
mov ecx, dword [ebp - 0xb18]
mov byte [eax + ecx], 0xf8
jmp 0x40c6cd
cmp dl, 0xed
jne 0x40c7a0
cmp cl, dl
jne 0x40c61d
inc dword [ebp - 0xb4c]
mov ecx, dword [ebp - 0xb18]
mov eax, 1
add ecx, eax
mov eax, ecx
mov dword [ebp - 0xb18], ecx
cmp eax, dword [ebp - 0xb1c]
jl 0x40c570
mov edx, ecx
mov dword [ebp - 0xb18], eax
mov ecx, dword [ebp - 0xb30]
mov eax, dword [ebp - 0xb20]
mov esi, dword [ebp - 0xb40]
mov eax, dword [eax + 0xc]
movzx eax, word [eax + esi*2]
mov esi, dword [ebp - 0xb14]
cmp dword [ebp - 0xb3c], eax
jge 0x40cc14
cmp edx, 1
jl 0x40cc14
mov ecx, dword [ecx + 4]
mov eax, dword [ebp - 0xb3c]
inc eax
cmp dword [ecx + 0x10], eax
jae 0x40cc14
add ecx, dword [ebp - 0xb44]
cmp dword [ecx + 0x2c], 0x10
lea eax, [ecx + 0x18]
mov dword [ebp - 0xb24], eax
jb 0x40c754
mov eax, dword [eax]
mov dword [ebp - 0xb24], eax
cmp dword [ecx + 0x14], 0x10
jb 0x40c75c
mov ecx, dword [ecx]
mov al, byte [edi + 0x5e50]
test al, al
je 0x40cc14
mov ah, byte [ecx + edx - 1]
lea ecx, [edi + 0x5e50]
mov dl, al
mov dword [ebp - 0xb1c], ecx
nop dword [eax]
cmp ah, dl
je 0x40cb80
mov edx, dword [ebp - 0xb1c]
inc edx
mov dword [ebp - 0xb1c], edx
mov dl, byte [edx]
test dl, dl
jne 0x40c780
jmp 0x40cc14
cmp dl, 0xec
jne 0x40c61d
cmp cl, dl
jne 0x40c61d
inc dword [ebp - 0xb50]
jmp 0x40c6c7
cmp dword [edi + 0x67e0], 0
lea esi, [edi + 0x67e8]
mov dword [ebp - 0xb2c], 0
jle 0x40c6c7
nop dword [eax]
movzx eax, byte [esi + 7]
push eax
push esi
push dword [ebp - 0xb54]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x40c816
mov eax, dword [ebp - 0xb2c]
add esi, 0x1e
inc eax
mov dword [ebp - 0xb2c], eax
cmp eax, dword [edi + 0x67e0]
jl 0x40c7e0
jmp 0x40c6c7
mov esi, dword [ebp - 0xb2c]
cmp esi, 0xffffffff
je 0x40c6c7
push esi
push str._nMatch___d
call fcn.004015e0
mov eax, dword [ebp - 0xb38]
add esp, 8
cdq
idiv dword [ebp - 0xb48]
mov eax, esi
mov dword [ebp - 0xb5c], 0
shl eax, 4
sub eax, esi
mov dword [ebp - 0xb24], eax
movss xmm0, dword [ebp + edx*4 - 0xb00]
movss dword [ebp - 0xb58], xmm0
cmp byte [edi + eax*2 + 0x67f0], 0
jbe 0x40cb6d
mov eax, dword [ebp - 0xb14]
lea ecx, [esi + 0x377]
mov esi, dword [ebp - 0xb14]
add eax, 0x9478
lea edx, [edi + eax*2]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov dword [ebp - 0xb2c], edx
lea eax, [edi + eax*2]
mov dword [ebp - 0xb28], eax
movzx eax, word [eax]
mov word [edx], ax
cwde
push eax
push str._Stack____d_
call fcn.004015e0
mov eax, dword [ebp - 0xb2c]
movsx eax, word [eax]
push eax
push str._Stack____d_
push dword [edi + 0x2b5c8]
call fcn.004016a0
add esp, 0x10
lea ecx, [edi + 0x2b590]
push dword [edi + 0x2b5c8]
call fcn.00401c30
mov eax, dword [ebp - 0xb2c]
movsx eax, word [eax]
imul edx, eax, 0x14c
mov eax, dword [edi + 0x2ba84]
mov ecx, dword [eax + esi*4]
mov al, byte [edx + edi + 0xa740]
mov byte [ecx], al
mov eax, dword [ebp - 0xb30]
mov ecx, dword [ebp - 0xb3c]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edi + 0x2ba84]
mov eax, dword [eax + esi*4]
cmp dword [ebp - 0xb18], ecx
jne 0x40c986
mov dword [eax + 0x140], ecx
mov eax, dword [edi + 0x2ba84]
movss xmm0, dword [ebp - 0xb58]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x144], 1
mov eax, dword [edi + 0x2ba84]
mov eax, dword [eax + esi*4]
movss dword [eax + 0x6c], xmm0
mov eax, dword [ebp - 0xb38]
cdq
idiv dword [ebp - 0xb48]
mov eax, dword [edi + 0x2ba84]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebp + edx*4 - 0x970]
mov dword [ecx + 0x148], eax
mov ecx, str...._fonemicontour:__d__d__f_...
jmp 0x40ca92
mov dword [eax + 0x144], 0
mov eax, dword [ebp - 0xb54]
mov cl, byte [eax]
cmp cl, 0xec
je 0x40c9a6
cmp cl, 0xed
jne 0x40ca54
mov eax, dword [ebp - 0xb2c]
movsx eax, word [eax]
imul eax, eax, 0x14c
mov dl, byte [eax + edi + 0xa740]
movzx eax, dl
mov dword [ebp - 0xb14], eax
cmp cl, 0xed
je 0x40c9d3
cmp cl, 0xec
jne 0x40ca54
mov eax, dword [edi + 0x2ba84]
mov ecx, dword [ebp - 0xb4c]
mov eax, dword [eax + esi*4]
cmp ecx, 1
jle 0x40ca17
movd xmm1, dword [ebp - 0xb14]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xb4c], 1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
mulss xmm1, dword [edi + 0x29964]
cvttss2si ecx, xmm1
mov byte [eax], cl
jmp 0x40ca54
mov ecx, dword [ebp - 0xb50]
cmp ecx, 1
jle 0x40ca52
movd xmm1, dword [ebp - 0xb14]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xb50], 1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
mulss xmm1, dword [edi + 0x29964]
cvttss2si ecx, xmm1
mov byte [eax], cl
jmp 0x40ca54
mov byte [eax], dl
mov eax, dword [edi + 0x2ba84]
movss xmm0, dword [ebp - 0xb58]
mov eax, dword [eax + esi*4]
movss dword [eax + 0x6c], xmm0
mov eax, dword [ebp - 0xb38]
cdq
idiv dword [ebp - 0xb48]
mov eax, dword [edi + 0x2ba84]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebp + edx*4 - 0x970]
mov dword [ecx + 0x148], eax
mov ecx, str...._NOT_ACCENTED:_fonemicontour:__d__d__f_...
mov eax, dword [edi + 0x2ba84]
sub esp, 8
mov eax, dword [eax + esi*4]
movss xmm0, dword [eax + 0x6c]
mov edi, dword [eax + 0x144]
mov edx, dword [eax + 0x140]
cvtps2pd xmm0, xmm0
mov dword [ebp - 0xb14], edi
mov edi, dword [ebp - 0xb34]
movsd qword [esp], xmm0
push dword [ebp - 0xb14]
push edx
push ecx
call fcn.004015e0
mov eax, dword [ebp - 0xb54]
add esp, 0x14
mov al, byte [eax]
cmp al, 0xe0
je 0x40caff
cmp al, 0xe5
je 0x40caff
cmp al, 0xe8
je 0x40caff
cmp al, 0xee
je 0x40caff
cmp al, 0xf3
je 0x40caff
cmp al, 0xfa
je 0x40caff
cmp al, 0xff
je 0x40caff
cmp al, 0xfe
je 0x40caff
xor cl, cl
jmp 0x40cb01
mov cl, 1
mov edx, dword [ebp - 0xb38]
test cl, cl
mov ecx, dword [ebp - 0xb5c]
lea eax, [edx + 1]
cmove eax, edx
mov edx, dword [ebp - 0xb2c]
add dword [ebp - 0xb28], 2
inc ecx
mov dword [ebp - 0xb38], eax
add edx, 2
mov eax, dword [ebp - 0xb24]
inc esi
mov dword [ebp - 0xb2c], edx
mov dword [ebp - 0xb5c], ecx
movzx eax, byte [edi + eax*2 + 0x67f0]
cmp ecx, eax
mov eax, dword [ebp - 0xb28]
jl 0x40c8a6
mov eax, dword [ebp - 0xb38]
mov dword [ebp - 0xb38], eax
mov eax, dword [ebp - 0xb24]
mov dword [ebp - 0xb14], esi
movzx eax, byte [edi + eax*2 + 0x67ef]
mov ecx, dword [ebp - 0xb18]
jmp 0x40c6d2
mov edx, dword [ebp - 0xb24]
mov dl, byte [edx]
cmp dl, al
je 0x40cb99
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x40cb88
jmp 0x40cc14
xor eax, eax
lea ecx, [edi + 0x67e8]
mov dword [ebp - 0xb1c], ecx
mov dword [ebp - 0xb28], eax
cmp dword [edi + 0x67e0], eax
jle 0x40cbf1
movzx eax, byte [ecx + 7]
push eax
push ecx
push 0x41dc7c
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0xb28]
je 0x40cbf4
mov ecx, dword [ebp - 0xb1c]
inc eax
add ecx, 0x1e
mov dword [ebp - 0xb28], eax
mov dword [ebp - 0xb1c], ecx
cmp eax, dword [edi + 0x67e0]
jl 0x40cbb5
or eax, 0xffffffff
lea ecx, [eax + 0x377]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ax, word [edi + eax*2]
mov word [edi + esi*2 + 0x128f0], ax
inc esi
mov dword [ebp - 0xb14], esi
test esi, esi
jle 0x40cc55
lea eax, [edi + 0x128f0]
mov dword [ebp - 0xb24], esi
mov dword [ebp - 0xb1c], eax
mov edi, eax
nop dword [eax]
movsx eax, word [edi]
push eax
push str._d_
call fcn.004015e0
add esp, 8
lea edi, [edi + 2]
sub esi, 1
jne 0x40cc30
mov edi, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb14]
mov edx, dword [ebp - 0xb3c]
mov eax, dword [ebp - 0xb20]
inc edx
mov dword [ebp - 0xb3c], edx
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb40]
movzx eax, word [ecx + eax*2]
cmp edx, eax
jle 0x40c450
mov eax, dword [ebp - 0xb40]
mov ecx, dword [ebp - 0xb20]
inc eax
mov dword [ebp - 0xb40], eax
cmp eax, dword [ecx + 0x10]
jl 0x40c420
or eax, 0xffffffff
lea ecx, [edi + 0x128f0]
mov word [edi + esi*2 + 0x128f0], ax
mov dword [edi + 0x1d4d0], 0
movzx eax, word [ecx]
mov dword [ebp - 0xb24], ecx
mov edx, eax
test ax, ax
js 0x40cf24
mov dword [ebp - 0xb20], ecx
xor esi, esi
movzx eax, dx
test ax, ax
je 0x40cf05
cwde
imul eax, eax, 0x14c
cmp byte [eax + edi + 0xa741], 0
jne 0x40cdf6
add eax, 0xa742
add eax, edi
push eax
push str._N___s_
push dword [edi + 0x2b5c8]
call fcn.004016a0
add esp, 8
lea ecx, [edi + 0x2b590]
push dword [edi + 0x2b5c8]
call fcn.00401c30
mov ecx, dword [ebp - 0xb20]
movsx eax, word [ecx]
mov ecx, str.32.wav
imul eax, eax, 0x14c
add eax, 0xa742
add eax, edi
mov dword [ebp - 0xb1c], eax
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40cd60
test dl, dl
je 0x40cd5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40cd60
add eax, 2
add ecx, 2
test dl, dl
jne 0x40cd40
xor eax, eax
jmp 0x40cd65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40cdb0
mov ecx, dword [edi + 0xa738]
mov edx, dword [edi + 0x2b314]
lea eax, [edx + ecx]
cmp ecx, eax
jge 0x40cda5
nop dword [eax]
mov eax, dword [edi + 0xa73c]
xor edx, edx
mov word [eax + ecx*2], dx
inc ecx
mov eax, dword [edi + 0xa738]
mov edx, dword [edi + 0x2b314]
add eax, edx
cmp ecx, eax
jl 0x40cd80
mov ecx, dword [edi + 0xa738]
lea eax, [edx + ecx]
mov dword [edi + 0xa738], eax
jmp 0x40cdf0
movd xmm0, dword [edi + 0x2b30c]
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x2b438]
movss dword [esp], xmm0
push dword [edi + 0xa73c]
push dword [edi + 0xa738]
push dword [ebp - 0xb1c]
call fcn.00409a20
add dword [edi + 0xa738], eax
mov ecx, dword [ebp - 0xb20]
movsx eax, word [ecx]
imul eax, eax, 0x14c
cmp byte [eax + edi + 0xa741], 1
jne 0x40cea7
mov eax, dword [edi + 0x2ba84]
sub esp, 8
mov eax, dword [eax + esi*4]
movss xmm0, dword [eax + 0x6c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [eax + 0x144]
push dword [eax + 0x140]
push str._nporodi_glas_2:_fonemicontour:__d__d__f
call fcn.004015e0
mov ecx, dword [ebp - 0xb20]
add esp, 0x14
movsx eax, word [ecx]
imul eax, eax, 0x14c
add eax, 0xa742
add eax, edi
push eax
push str._T___s_
push dword [edi + 0x2b5c8]
call fcn.004016a0
add esp, 8
lea ecx, [edi + 0x2b590]
push dword [edi + 0x2b5c8]
call fcn.00401c30
mov eax, dword [edi + 0x2ba84]
push ecx
mov eax, dword [eax + esi*4]
movss xmm0, dword [eax + 0x148]
movss dword [esp], xmm0
push eax
push dword [edi + 0xa73c]
push ecx
push esi
mov ecx, edi
call fcn.0040c090
mov ecx, dword [ebp - 0xb20]
movsx eax, word [ecx]
imul eax, eax, 0x14c
cmp byte [eax + edi + 0xa741], 1
jne 0x40cf05
movzx eax, word [ecx + 2]
test ax, ax
js 0x40cf05
cwde
imul eax, eax, 0x14c
cmp byte [eax + edi + 0xa741], 1
jne 0x40cf05
mov ecx, dword [edi + 0x2ba84]
push ecx
mov eax, dword [ecx + esi*4 + 4]
movss xmm0, dword [eax + 0x6c]
mov eax, dword [ecx + esi*4]
mov ecx, edi
movss dword [esp], xmm0
push dword [edi + 0xa73c]
movss xmm3, dword [eax + 0x6c]
push esi
call fcn.0040bdd0
mov ecx, dword [ebp - 0xb20]
movzx eax, word [ecx + 2]
inc esi
add ecx, 2
mov edx, eax
mov dword [ebp - 0xb20], ecx
test ax, ax
jns 0x40ccd0
mov esi, dword [ebp - 0xb14]
test esi, esi
jle 0x40cf4f
mov edi, dword [ebp - 0xb24]
nop
movsx eax, word [edi]
push eax
push 0x41e720
call fcn.004015e0
add esp, 8
lea edi, [edi + 2]
sub esi, 1
jne 0x40cf30
mov edi, dword [ebp - 0xb34]
cmp dword [edi + 0x2add4], 0
je 0x40d05a
mov esi, dword [edi + 0xa738]
mov eax, dword [ebp - 0xb14]
add esi, esi
push eax
push esi
lea eax, [ebp - 0x3f8]
push str.Da_Sviri_Zvuk:__u__Index_Zapovedi_d
push eax
call fcn.004016a0
mov ecx, dword [edi + 0xa73c]
add esp, 0x10
mov dword [edi + 0x5e4c], esi
movups xmm0, xmmword [edi + 0x5e24]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edi + 0x5e34]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [edi + 0x5e44]
movq qword [ecx + 0x20], xmm0
mov eax, dword [edi + 0x5e4c]
mov dword [ecx + 0x28], eax
mov eax, esi
mov ecx, dword [edi + 0x2b270]
sub eax, ecx
mov edx, dword [edi + 0xa73c]
cmp eax, esi
jge 0x40cfe5
lea edi, [edx + eax*2]
xor eax, eax
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov edi, dword [ebp - 0xb34]
mov edx, dword [edi + 0xa73c]
cmp dword [edi + 0x2b340], 1
mov eax, edx
jne 0x40d052
movss xmm2, dword [edi + 0x2b440]
movsd xmm0, qword [0x41f738]
cvtps2pd xmm1, xmm2
subsd xmm1, qword [0x41f778]
andps xmm1, xmmword [0x41f840]
comisd xmm0, xmm1
ja 0x40d052
mov esi, dword [edi + 0xa738]
mov ecx, 0x2c
cmp esi, ecx
jle 0x40d052
nop word [eax + eax]
movsx eax, word [edx + ecx*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvttss2si eax, xmm0
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x40d030
mov eax, dword [edi + 0xa73c]
push eax
mov ecx, edi
call fcn.0040a080
lea eax, [ebp - 0xb10]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0xb02]
push eax
movzx eax, word [ebp - 0xb04]
push eax
movzx eax, word [ebp - 0xb06]
push eax
movzx eax, word [ebp - 0xb08]
push eax
movzx eax, word [ebp - 0xb10]
push eax
movzx eax, word [ebp - 0xb0e]
push eax
movzx eax, word [ebp - 0xb0a]
push eax
lea eax, [ebp - 0x200]
push str._d__d__d__d__d__d__d
push eax
call fcn.004016a0
mov eax, dword [sym.imp.WINMM.dll_timeGetTime]
add esp, 0x24
cmp dword [edi + 0x2b60c], 1
jne 0x40d1b4
cmp dword [edi + 0x2b610], 1
jne 0x40d1b4
call eax
cmp dword [edi + 0x2b608], 0
jne 0x40d195
cmp byte [edi + 0x2babc], 0
lea eax, [edi + 0x2b614]
lea esi, [edi + 0x2b713]
je 0x40d16b
push ecx
push eax
push str.Cycle_Speech0
lea ecx, [edi + 0x2b590]
call fcn.00401ef0
push ecx
lea eax, [edi + 0x2b713]
push eax
push str.Cycle_Speech0
lea ecx, [edi + 0x2b590]
call fcn.00401ef0
cmp dword [edi + 0x2bab8], 0x10
lea esi, [edi + 0x2baa4]
mov eax, esi
jb 0x40d133
mov eax, dword [esi]
push eax
lea eax, [edi + 0x2b614]
push str.mp3__s.wav
push eax
call fcn.004016a0
add esp, 0xc
cmp dword [esi + 0x14], 0x10
jb 0x40d150
mov esi, dword [esi]
push esi
lea eax, [edi + 0x2b713]
push str.mp3__s.mp3
push eax
call fcn.004016a0
mov byte [edi + 0x2babc], 0
jmp 0x40d192
lea ecx, [ebp - 0x200]
push ecx
push str.mp3_toshko2_glas_2__s.wav
push eax
call fcn.004016a0
add esp, 0xc
lea eax, [ebp - 0x200]
push eax
push str.mp3_toshko2_glas_2__s.mp3
push esi
call fcn.004016a0
add esp, 0xc
lea eax, [edi + 0x2b614]
mov ecx, edi
push eax
push dword [edi + 0x2b608]
call fcn.0040bce0
inc dword [edi + 0x2b608]
mov eax, dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [edi + 0x2b308], 1
jne 0x40d25c
cmp dword [edi + 0x2add0], 0
je 0x40d25c
call eax
push eax
lea eax, [ebp - 0x8e0]
push str.say_glas_2__d.wav
push eax
call fcn.004016a0
mov esi, dword [edi + 0xa738]
lea eax, [ebp - 0x8e0]
add esp, 0xc
add esi, esi
push 0x41e578
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov ecx, dword [edi + 0xa73c]
mov edx, esi
mov dword [ebp - 0xb1c], eax
add esp, 8
mov eax, dword [edi + 0x2b270]
sub edx, eax
cmp edx, esi
jge 0x40d238
lea edi, [ecx + edx*2]
mov ecx, eax
xor eax, eax
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov edi, dword [ebp - 0xb34]
mov ecx, dword [edi + 0xa73c]
lea eax, [esi - 0x16]
mov esi, dword [ebp - 0xb1c]
push esi
push eax
push 1
push ecx
mov dword [edi + 0x5e4c], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
lea ecx, [edi + 0x2b590]
call fcn.00401a40
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0041a150
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8