Function at 0x42b050
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov al, byte [0x480ba0]
mov ecx, dword [0x47cb78]
sub esp, 0x30
mov dword [0x480b90], 0
test al, 1
push esi
push edi
je 0x42b1cb
mov eax, ecx
imul eax, ecx
cdq
and edx, 3
add eax, edx
mov esi, eax
sar esi, 2
test cl, 1
je 0x42b0e9
mov eax, esi
sub esp, 0x10
shl eax, 4
inc esi
mov ecx, dword [eax + 0x47bb60]
mov edx, dword [eax + 0x47bb64]
lea eax, [eax + 0x47bb60]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x28]
mov eax, esp
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.0042b3b0
mov ecx, dword [0x47cb78]
add esp, 0x10
mov eax, ecx
xor edi, edi
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x42b1cb
shl esi, 4
lea esi, [esi + 0x47bb60]
mov eax, esi
sub esp, 0x10
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 0xc]
mov eax, esp
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.0042b3b0
mov eax, esi
add esp, 0x10
sub esp, 0x10
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0xc]
mov eax, esp
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x1c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x38]
push eax
call fcn.0042b380
mov edx, dword [eax]
add esp, 4
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.0042b3b0
mov ecx, dword [0x47cb78]
add esp, 0x10
mov eax, ecx
add esi, 0x10
cdq
sub eax, edx
inc edi
sar eax, 1
cmp edi, eax
jl 0x42b103
test byte [0x480ba0], 6
je 0x42b24d
lea edx, [ecx + ecx]
xor esi, esi
test edx, edx
mov dword [esp + 8], esi
jle 0x42b24d
fild dword [0x47cb78]
fild dword [esp + 8]
test cl, 1
jne 0x42b1f6
fsub qword [0x45bae0]
fmul qword [0x45bad8]
fxch st(1)
lea edx, [esp + 0x28]
fdivp st(1)
fstp qword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
push eax
push ecx
push edx
call fcn.00414e60
mov edx, dword [eax]
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.0042b3b0
mov ecx, dword [0x47cb78]
add esp, 0x10
inc esi
lea edx, [ecx + ecx]
mov dword [esp + 8], esi
cmp esi, edx
jl 0x42b1e1
test byte [0x480ba0], 4
je 0x42b37a
fld qword [0x480b98]
fcomp qword [0x45bac8]
mov esi, dword [sym.imp.MSVCRT.dll_fprintf]
mov edi, dword [sym.imp.MSVCRT.dll_exit]
fnstsw ax
test ah, 1
jne 0x42b2a1
mov eax, dword [0x480b9c]
mov ecx, dword [0x480b98]
mov edx, dword [sym.imp.MSVCRT.dll__iob]
push eax
push ecx
add edx, 0x40
push str.mkfilter:_Chebyshev_ripple_is__g_dB__must_be_.lt._0.0_n
push edx
call esi
add esp, 0x10
push 1
call edi
add esp, 4
fld qword [0x480b98]
fmul qword [0x45baf0]
fld qword [0x45bae8]
fxch st(1)
call fcn.0044ecc0
fsub qword [0x45baf8]
fld qword [0x45baf8]
fldln2
fxch st(2)
fsqrt
fstp qword [esp + 8]
fdiv qword [esp + 8]
fst qword [esp + 8]
fmul qword [esp + 8]
fild dword [0x47cb78]
fxch st(1)
fsub qword [0x45bb00]
fsqrt
fadd qword [esp + 8]
fxch st(2)
fxch st(1)
fxch st(2)
fyl2x
fxch st(1)
fdivp st(1)
fst qword [esp + 8]
fcomp qword [0x45bac8]
fnstsw ax
test ah, 0x41
je 0x42b332
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [sym.imp.MSVCRT.dll__iob]
push eax
push ecx
add edx, 0x40
push 0x47bd40
push edx
call esi
add esp, 0x10
push 1
call edi
add esp, 4
mov eax, dword [0x480b90]
xor esi, esi
test eax, eax
jle 0x42b37a
fld qword [esp + 8]
call sub.MSVCRT.dll__CIsinh
fstp qword [esp + 0x18]
fld qword [esp + 8]
call sub.MSVCRT.dll__CIcosh
mov eax, 0x47cb98
fld qword [esp + 0x18]
fmul qword [eax - 8]
fld st(1)
fxch st(1)
inc esi
add eax, 0x10
fstp qword [eax - 0x18]
fmul qword [eax - 0x10]
fstp qword [eax - 0x10]
cmp esi, dword [0x480b90]
jl 0x42b358
fstp st(0)
pop edi
pop esi
mov esp, ebp
pop ebp
ret