Function at 0x46cee4
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor ebx, ebx
push 0x34
push ebx
push esi
mov dword [ebp - 4], 0xffffff9d
mov dword [ebp - 8], ebx
call fcn.0047dcd0
mov edi, dword [ebp + 0x10]
add esp, 4
mov eax, dword [edi]
mov dword [esi + 0x28], eax
fild dword [edi]
fmul dword [0x4a003c]
fstp qword [esp]
call fcn.00480d10
fstp qword [ebp - 0x3c]
fld qword [0x49fff8]
fstp qword [esp]
call fcn.00480d10
fdivr qword [ebp - 0x3c]
fadd qword [0x49ff38]
fstp qword [esp]
call fcn.004808d0
fsub qword [0x49ff68]
call fcn.004801d4
fild dword [ebp + 0x18]
mov dword [esi + 0x24], eax
fstp dword [ebp - 0x10]
fild dword [ebp + 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x10]
fmul dword [0x4a0038]
fdiv dword [ebp - 0x14]
fstp qword [esp]
call fcn.00480d10
mov ecx, dword [esi + 0x24]
push 1
fmul qword [0x4a0030]
inc ecx
pop eax
shl eax, cl
fsub qword [0x4a0028]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fmulp st(1)
fisub dword [edi]
call fcn.004801d4
fld dword [ebp - 0x14]
fmul dword [0x49ffd8]
mov dword [esi + 0x20], eax
fsub dword [0x4a0038]
fmul dword [ebp - 0x10]
fdiv dword [ebp - 0x14]
fstp qword [esp]
call fcn.00480d10
pop ecx
pop ecx
mov ecx, dword [esi + 0x24]
push 1
fmul qword [0x4a0030]
inc ecx
pop eax
shl eax, cl
fsub qword [0x4a0028]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fmulp st(1)
fadd qword [0x49ff38]
call fcn.004801d4
sub eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x2c], eax
cmp dword [ebp + 0xc], ebx
mov edi, str.E:devcgames_fmod351ogg_vorbis_vorbislibpsy.c
je 0x46d008
mov eax, dword [ebp + 0x14]
push 0xdd
shl eax, 2
push edi
push eax
push ebx
call fcn.004589ee
add esp, 0x10
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0x14]
push 0xde
shl eax, 2
push edi
push eax
push ebx
mov dword [ebp - 0x28], eax
call fcn.004589ee
push 0xdf
push edi
push dword [ebp - 0x28]
mov dword [esi + 0x18], eax
push ebx
call fcn.004589ee
mov ecx, dword [ebp + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esi], ecx
mov ecx, dword [ebp + 0x18]
add esp, 0x20
cmp eax, ebx
mov dword [esi + 4], eax
mov dword [esi + 0x30], ecx
je 0x46d061
fld dword [ebp - 0x10]
push ecx
fstp dword [esp]
push dword [ebp + 0x14]
push dword [esi + 0x14]
push eax
call fcn.0046e5b6
add esp, 0x10
mov eax, dword [ebp + 0x14]
mov dword [ebp + 8], ebx
cmp eax, ebx
jle 0x46d26b
lea ecx, [eax + eax]
mov eax, dword [ebp + 0x18]
cdq
idiv ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], eax
imul eax, eax
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x20]
push ecx
imul eax, dword [ebp + 8]
fild dword [ebp - 0x24]
fstp dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
push ecx
fild dword [ebp - 0x30]
fmul dword [0x4a0020]
fstp qword [esp]
call fcn.00480bf0
fmul qword [0x4a0018]
fstp qword [ebp - 0x3c]
fld dword [ebp - 0x1c]
fmul dword [0x4a0010]
fstp qword [esp]
call fcn.00480bf0
fmul qword [0x4a0008]
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
fadd qword [ebp - 0x3c]
fld dword [ebp - 0x1c]
fmul dword [0x4a0004]
mov eax, dword [eax + 0x670]
add eax, dword [ebp - 4]
faddp st(1)
cmp eax, dword [ebp + 8]
fstp dword [ebp - 0x30]
jge 0x46d190
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
imul eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push ecx
imul eax, dword [ebp - 4]
fild dword [ebp - 0x1c]
fstp dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
push ecx
fild dword [ebp - 0x38]
fmul dword [0x4a0020]
fstp qword [esp]
call fcn.00480bf0
fmul qword [0x4a0018]
fstp qword [ebp - 0x3c]
fld dword [ebp - 0x2c]
fmul dword [0x4a0010]
fstp qword [esp]
call fcn.00480bf0
fmul qword [0x4a0008]
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
fadd qword [ebp - 0x3c]
fld dword [ebp - 0x2c]
fmul dword [0x4a0004]
faddp st(1)
fld dword [ebp - 0x30]
fsub dword [eax + 0x668]
fcompp
fnstsw ax
sahf
jbe 0x46d190
mov eax, dword [ebp + 0x10]
inc dword [ebp - 4]
add dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
add dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x670]
add eax, dword [ebp - 4]
cmp eax, dword [ebp + 8]
jl 0x46d106
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp + 0x14]
jge 0x46d240
mov eax, dword [ebp - 0xc]
imul eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x10]
imul eax, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
add eax, dword [edx + 0x674]
cmp ecx, eax
jl 0x46d224
mov eax, dword [ebp - 0x1c]
push ecx
imul eax, dword [ebp - 8]
fild dword [ebp - 0x18]
fstp dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
push ecx
fild dword [ebp - 0x38]
fmul dword [0x4a0020]
fstp qword [esp]
call fcn.00480bf0
fmul qword [0x4a0018]
fstp qword [ebp - 0x3c]
fld dword [ebp - 0x2c]
fmul dword [0x4a0010]
fstp qword [esp]
call fcn.00480bf0
fmul qword [0x4a0008]
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
fadd qword [ebp - 0x3c]
fld dword [ebp - 0x2c]
fmul dword [0x4a0004]
faddp st(1)
fld dword [ebp - 0x30]
fadd dword [eax + 0x66c]
fcompp
fnstsw ax
sahf
jbe 0x46d240
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 8]
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
add dword [ebp - 0x18], eax
inc ecx
cmp ecx, dword [ebp + 0x14]
mov dword [ebp - 8], ecx
jl 0x46d1ae
mov ecx, dword [ebp - 4]
mov edx, dword [esi + 0x1c]
mov eax, dword [ebp + 8]
shl ecx, 0x10
add ecx, dword [ebp - 8]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebp + 0x10]
add dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x24], ecx
inc eax
cmp eax, dword [ebp + 0x14]
mov dword [ebp + 8], eax
jl 0x46d087
cmp dword [ebp + 0x14], ebx
mov dword [ebp + 8], ebx
jle 0x46d2ce
fild dword [ebp + 8]
push ecx
push ecx
fmul dword [0x49ffd8]
fadd dword [0x4a0038]
fmul dword [ebp - 0x10]
fdiv dword [ebp - 0x14]
fstp qword [esp]
call fcn.00480d10
pop ecx
pop ecx
mov ecx, dword [esi + 0x24]
push 1
fmul qword [0x4a0030]
inc ecx
pop eax
shl eax, cl
fsub qword [0x4a0028]
mov dword [ebp + 0x10], eax
fild dword [ebp + 0x10]
fmulp st(1)
fadd qword [0x49ff38]
call fcn.004801d4
mov edx, dword [esi + 0x18]
mov ecx, dword [ebp + 8]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, dword [ebp + 0x14]
mov dword [ebp + 8], ecx
jl 0x46d273
push 0xf7
push edi
push 0x44
push ebx
call fcn.004589ee
push 0xf8
push edi
push dword [ebp - 0x28]
mov dword [esi + 8], eax
push ebx
call fcn.004589ee
push 0xf9
push edi
push dword [ebp - 0x28]
mov dword [esi + 0xc], eax
push ebx
call fcn.004589ee
add esp, 0x30
mov dword [esi + 0x10], eax
mov dword [ebp + 8], ebx
push 0xfb
push edi
push 0x2c
push ebx
call fcn.004589ee
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 8]
add dword [ebp + 8], 4
add esp, 0x10
cmp dword [ebp + 8], 0x44
mov dword [edx + ecx], eax
jl 0x46d309
mov dword [ebp + 0x10], ebx
mov dword [ebp + 8], ebx
push 0xff
push edi
push 0xe8
push ebx
call fcn.004589ee
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x10]
add esp, 0x10
mov ecx, dword [ecx + edx]
mov edx, dword [ebp + 8]
add dword [ebp + 8], 4
cmp dword [ebp + 8], 0x2c
mov dword [ecx + edx], eax
jl 0x46d333
add dword [ebp + 0x10], 4
cmp dword [ebp + 0x10], 0x44
jl 0x46d330
mov eax, dword [esi + 8]
mov edi, 0xe0
push edi
push 0x4ba274
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba354
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba434
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba514
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba274
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba354
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
add esp, 0x48
mov eax, dword [eax + 8]
push edi
push 0x4ba434
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba514
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba5f4
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba6d4
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba7b4
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4ba894
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
add esp, 0x48
mov eax, dword [eax + 0x18]
push edi
push 0x4ba974
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4baa54
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bab34
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bac14
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bacf4
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4badd4
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
add esp, 0x48
mov eax, dword [eax + 0x20]
push edi
push 0x4baeb4
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4baf94
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb074
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb154
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb234
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb314
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
add esp, 0x48
mov eax, dword [eax + 0x30]
push edi
push 0x4bb3f4
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb4d4
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb5b4
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb694
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb774
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bb854
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
add esp, 0x48
mov eax, dword [eax + 0x38]
push edi
push 0x4bb934
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bba14
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bbaf4
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x10]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bbbd4
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bbcb4
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x20]
add eax, 8
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
push edi
push 0x4bbd94
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x28]
add eax, 8
push eax
call fcn.0047ebe0
add esp, 0x48
mov dword [ebp + 0x10], ebx
mov dword [ebp + 8], 0x10
push 8
pop ecx
mov eax, dword [esi + 8]
mov edx, dword [ebp + 0x10]
push 4
mov eax, dword [eax + edx]
mov edx, dword [ebp + 8]
mov eax, dword [eax + edx]
mov edx, dword [ebp + 0xc]
add eax, ecx
fld dword [edx + 0x74]
fadd dword [eax]
fstp dword [eax]
pop eax
add ecx, eax
cmp ecx, 0xe8
jl 0x46d6ea
add dword [ebp + 8], 8
cmp dword [ebp + 8], 0x2c
jl 0x46d6e7
add dword [ebp + 0x10], 8
cmp dword [ebp + 0x10], 0x44
jl 0x46d6e0
mov dword [ebp + 8], eax
mov dword [ebp + 0x10], 0x10
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebp + 0x10]
push edi
mov edx, dword [eax - 4]
mov eax, dword [eax]
mov edx, dword [edx + ecx]
mov eax, dword [eax + ecx]
add edx, 8
add eax, 8
push edx
push eax
call fcn.0047ebe0
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax + 4]
mov ecx, dword [ebp + 0x10]
mov edx, dword [edx + ecx]
add edx, 8
push edx
mov edx, dword [ebp + 8]
mov eax, dword [eax + edx]
mov eax, dword [eax + ecx]
add eax, 8
push eax
call fcn.0046e6b3
add dword [ebp + 0x10], 8
add esp, 0x14
cmp dword [ebp + 0x10], 0x2c
jl 0x46d730
add dword [ebp + 8], 8
cmp dword [ebp + 8], 0x44
jl 0x46d729
mov eax, dword [ebp + 0xc]
xor edi, edi
add eax, 0x80
mov dword [ebp + 8], eax
push dword [ebp + 8]
mov eax, dword [esi + 8]
push edi
push dword [eax + edi*4]
call fcn.0046e6d8
add dword [ebp + 8], 0x2c
add esp, 0xc
inc edi
cmp edi, 0x11
jl 0x46d79e
push 0xb
mov dword [ebp + 8], ebx
pop edi
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_63Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d7c0
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_88Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d7ec
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_125Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d819
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_170Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d846
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_250Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d873
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_350Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d8a0
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_500Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d8cd
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_700Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d8fa
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_1kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d927
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x24]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_1.4Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d954
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_2kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d981
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_2.4kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d9ae
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_4kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46d9db
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_5.6kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46da08
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_8kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46da35
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_11.5kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46da62
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x40]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.curve_16kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46da8f
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x370], ebx
je 0x46db41
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp + 8], ebx
mov eax, dword [edx + 0x370]
push 2
pop ecx
add eax, 0x12
cmp eax, ecx
mov dword [ebp + 0x10], ecx
jle 0x46db29
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
add eax, ecx
lea edx, [edx + eax*4 + 0x374]
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + ecx]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp + 0x10]
fld dword [eax + ecx*4]
fcomp dword [edx]
lea ecx, [eax + ecx*4]
fnstsw ax
sahf
jbe 0x46db26
mov eax, dword [edx]
inc dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x370]
add eax, 0x12
cmp dword [ebp + 0x10], eax
jl 0x46daef
mov edx, dword [ebp + 0xc]
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dacd
add dword [ebp - 0x14], edi
add dword [ebp - 0x28], 4
cmp dword [ebp - 0x14], 0xbb
jl 0x46daca
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_63Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46db44
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_88Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46db70
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_125Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46db9d
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_170Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dbca
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_250Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dbf7
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_350Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dc24
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_500Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dc51
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_700Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dc7e
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_1kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dcab
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x24]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_1.4Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dcd8
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_2kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dd05
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_2.4kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dd32
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_4kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dd5f
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_5.6kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dd8c
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_8kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46ddb9
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_11.5kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dde6
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x40]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.licurve_16kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46de13
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x36c], ebx
je 0x46de95
mov dword [ebp + 0x10], ebx
add eax, 0x374
xor edx, edx
mov dword [ebp + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
add ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + edx]
fld dword [eax + 0x48]
mov eax, dword [ebp + 8]
fcomp dword [eax]
fnstsw ax
sahf
jae 0x46de7c
mov eax, dword [ecx]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + edx]
mov ecx, dword [ecx]
mov dword [eax + 0x48], ecx
add dword [ebp + 8], 4
add edx, 4
cmp edx, 0x2c
jl 0x46de55
add dword [ebp + 0x10], 4
mov eax, dword [ebp + 8]
cmp dword [ebp + 0x10], 0x44
jl 0x46de50
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_63Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46de98
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_88Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dec4
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_125Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46def1
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_170Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46df1e
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_250Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46df4b
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_350Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46df78
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_500Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dfa5
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_700Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dfd2
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_1kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46dfff
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x24]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_1.4Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e02c
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_2kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e059
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_2.4kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e086
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_4kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e0b3
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_5.6kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e0e0
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_8kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e10d
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_11.5kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e13a
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x40]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.pcurve_16kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e167
mov dword [ebp + 8], ebx
xor edx, edx
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 8]
add ecx, eax
mov eax, dword [ecx]
mov eax, dword [edx + eax]
fld dword [eax + 0x48]
mov eax, dword [ebp + 0xc]
fcomp dword [eax + 0x78]
fnstsw ax
sahf
jae 0x46e1bf
mov eax, dword [ecx]
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + eax]
mov ecx, dword [ecx + 0x78]
mov dword [eax + 0x48], ecx
add edx, 4
cmp edx, 0x2c
jl 0x46e196
add dword [ebp + 8], 4
cmp dword [ebp + 8], 0x44
jl 0x46e194
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_63Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e1d4
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_88Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e200
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_125Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e22d
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_170Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e25a
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_250Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e287
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_350Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e2b4
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_500Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e2e1
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_700Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e30e
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_1kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e33b
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x24]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_1.4Hz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e368
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_2kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e395
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_2.4kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e3c2
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_4kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e3ef
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_5.6kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e41c
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_8kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e449
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_11.5kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e476
mov dword [ebp + 8], ebx
mov eax, dword [esi + 8]
push ebx
push ebx
push 0x38
mov ecx, dword [eax + 0x40]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
add ecx, 8
push ecx
push eax
push str.fcurve_16kHz
call fcn.00475fa1
add esp, 0x18
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x46e4a3
xor edi, edi
cmp dword [ebp + 0x14], ebx
mov dword [ebp + 8], edi
jle 0x46e579
fild dword [ebp + 0x18]
fstp qword [ebp - 0x3c]
fild dword [ebp + 0x14]
fadd st(0), st(0)
fstp qword [ebp - 0x34]
fild dword [ebp + 8]
push ecx
push ecx
fadd qword [0x49ff38]
fmul qword [ebp - 0x3c]
fdiv qword [ebp - 0x34]
fstp qword [esp]
call fcn.00480d10
fmul qword [0x4a0030]
pop ecx
pop ecx
fsub qword [0x4a0028]
fadd st(0), st(0)
fcom dword [0x49ff04]
fnstsw ax
sahf
jae 0x46e521
fstp st(0)
fldz
fcom dword [0x4a0000]
fnstsw ax
sahf
jb 0x46e534
fstp st(0)
fld dword [0x4a0000]
fld st(0)
call fcn.004801d4
mov ecx, dword [esi + 4]
mov dword [ebp + 0xc], eax
fisub dword [ebp + 0xc]
fld dword [ecx + eax*4 + 0x67c]
fld st(1)
fsubr qword [0x49ff68]
fmulp st(1)
fld st(1)
fmul dword [ecx + eax*4 + 0x680]
mov eax, dword [esi + 0x10]
faddp st(1)
fstp st(1)
fld st(0)
fstp dword [eax + edi*4]
inc edi
cmp edi, dword [ebp + 0x14]
mov dword [ebp + 8], edi
fstp st(0)
jl 0x46e4e9
push 1
pop edi
push ebx
push edi
push dword [ebp + 0x14]
mov dword [0x4bcacc], edi
push dword [esi + 0x10]
push ebx
push str.noiseoff
call fcn.00475fa1
push ebx
push edi
push dword [ebp + 0x14]
push dword [esi + 0xc]
push ebx
push str.noisethresh
call fcn.00475fa1
add esp, 0x30
mov dword [0x4bcacc], edi
pop edi
pop esi
pop ebx
leave
ret