4509fd:	8b 45 dc             	mov    -0x24(%ebp),%eax
450a00:	d9 6d f6             	fldcw  -0xa(%ebp)
450a03:	eb 77                	jmp    0x450a7c
450a05:	3d 00 00 00 08       	cmp    $0x8000000,%eax
450a0a:	73 39                	jae    0x450a45
450a0c:	89 45 e0             	mov    %eax,-0x20(%ebp)
450a0f:	db 45 e0             	fildl  -0x20(%ebp)
450a12:	85 c0                	test   %eax,%eax
450a14:	79 06                	jns    0x450a1c
450a16:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
450a1c:	dd 5d dc             	fstpl  -0x24(%ebp)
450a1f:	dd 45 dc             	fldl   -0x24(%ebp)
450a22:	dc 0d 08 6f 4b 00    	fmull  0x4b6f08
450a28:	d9 7d f6             	fnstcw -0xa(%ebp)
450a2b:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
450a2f:	0d 00 0c 00 00       	or     $0xc00,%eax
450a34:	89 45 e0             	mov    %eax,-0x20(%ebp)
450a37:	d9 6d e0             	fldcw  -0x20(%ebp)
450a3a:	df 7d dc             	fistpll -0x24(%ebp)
450a3d:	8b 45 dc             	mov    -0x24(%ebp),%eax
450a40:	d9 6d f6             	fldcw  -0xa(%ebp)
450a43:	eb 37                	jmp    0x450a7c
450a45:	89 45 e0             	mov    %eax,-0x20(%ebp)
450a48:	db 45 e0             	fildl  -0x20(%ebp)
450a4b:	85 c0                	test   %eax,%eax
450a4d:	79 06                	jns    0x450a55
450a4f:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
450a55:	dd 5d dc             	fstpl  -0x24(%ebp)
450a58:	dd 45 dc             	fldl   -0x24(%ebp)
450a5b:	dc 0d 00 6f 4b 00    	fmull  0x4b6f00
450a61:	d9 7d f6             	fnstcw -0xa(%ebp)
450a64:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
450a68:	0d 00 0c 00 00       	or     $0xc00,%eax
450a6d:	89 45 e0             	mov    %eax,-0x20(%ebp)
450a70:	d9 6d e0             	fldcw  -0x20(%ebp)
450a73:	df 7d dc             	fistpll -0x24(%ebp)
450a76:	8b 45 dc             	mov    -0x24(%ebp),%eax
450a79:	d9 6d f6             	fldcw  -0xa(%ebp)
450a7c:	8b 5d d0             	mov    -0x30(%ebp),%ebx
450a7f:	50                   	push   %eax
450a80:	89 47 08             	mov    %eax,0x8(%edi)
450a83:	e8 e8 76 fb ff       	call   0x408170
450a88:	33 c9                	xor    %ecx,%ecx
450a8a:	89 47 08             	mov    %eax,0x8(%edi)
450a8d:	ba 02 00 00 00       	mov    $0x2,%edx
450a92:	f7 e2                	mul    %edx
450a94:	0f 90 c1             	seto   %cl
450a97:	f7 d9                	neg    %ecx
450a99:	0b c8                	or     %eax,%ecx
450a9b:	51                   	push   %ecx
450a9c:	e8 04 05 fd ff       	call   0x420fa5
450aa1:	8b 17                	mov    (%edi),%edx
450aa3:	83 c4 04             	add    $0x4,%esp
450aa6:	8b c8                	mov    %eax,%ecx
450aa8:	89 4d e0             	mov    %ecx,-0x20(%ebp)
450aab:	85 d2                	test   %edx,%edx
450aad:	74 22                	je     0x450ad1
450aaf:	8b 47 04             	mov    0x4(%edi),%eax
450ab2:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
450ab9:	50                   	push   %eax
450aba:	52                   	push   %edx
450abb:	51                   	push   %ecx
450abc:	e8 bf 05 fd ff       	call   0x421080
450ac1:	83 c4 0c             	add    $0xc,%esp
450ac4:	ff 37                	push   (%edi)
450ac6:	e8 e5 25 fd ff       	call   0x4230b0
450acb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
450ace:	83 c4 04             	add    $0x4,%esp
450ad1:	89 0f                	mov    %ecx,(%edi)
450ad3:	e9 6d 4f fc ff       	jmp    0x415a45
450ad8:	57                   	push   %edi
450ad9:	8d 45 9c             	lea    -0x64(%ebp),%eax
450adc:	8b cf                	mov    %edi,%ecx
450ade:	50                   	push   %eax
450adf:	e8 3f 76 00 00       	call   0x458123
450ae4:	50                   	push   %eax
450ae5:	8b cf                	mov    %edi,%ecx
450ae7:	e8 bb 76 fb ff       	call   0x4081a7
450aec:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
450aef:	e8 70 4f fb ff       	call   0x405a64
450af4:	e9 d8 4f fc ff       	jmp    0x415ad1
450af9:	48                   	dec    %eax
450afa:	89 01                	mov    %eax,(%ecx)
450afc:	8b cf                	mov    %edi,%ecx
450afe:	e8 86 76 fb ff       	call   0x408189
450b03:	8b 47 04             	mov    0x4(%edi),%eax
450b06:	40                   	inc    %eax
450b07:	03 c3                	add    %ebx,%eax
450b09:	50                   	push   %eax
450b0a:	e8 61 76 fb ff       	call   0x408170
450b0f:	33 c9                	xor    %ecx,%ecx
450b11:	89 47 08             	mov    %eax,0x8(%edi)
450b14:	ba 02 00 00 00       	mov    $0x2,%edx
450b19:	f7 e2                	mul    %edx
450b1b:	0f 90 c1             	seto   %cl
450b1e:	f7 d9                	neg    %ecx
450b20:	0b c8                	or     %eax,%ecx
450b22:	51                   	push   %ecx
450b23:	e8 ce 04 fd ff       	call   0x420ff6
450b28:	8b f0                	mov    %eax,%esi
450b2a:	83 c4 04             	add    $0x4,%esp
450b2d:	8b 47 04             	mov    0x4(%edi),%eax
450b30:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
450b37:	50                   	push   %eax
450b38:	ff 37                	push   (%edi)
450b3a:	56                   	push   %esi
450b3b:	e8 40 05 fd ff       	call   0x421080
450b40:	89 37                	mov    %esi,(%edi)
450b42:	83 c4 0c             	add    $0xc,%esp
450b45:	8b 75 ec             	mov    -0x14(%ebp),%esi
450b48:	e9 5e 4f fc ff       	jmp    0x415aab
450b4d:	3d c2 41 00 00       	cmp    $0x41c2,%eax
450b52:	73 07                	jae    0x450b5b
450b54:	03 c0                	add    %eax,%eax
450b56:	e9 b7 00 00 00       	jmp    0x450c12
450b5b:	3d 00 00 00 02       	cmp    $0x2000000,%eax
450b60:	73 39                	jae    0x450b9b
450b62:	89 45 e0             	mov    %eax,-0x20(%ebp)
450b65:	db 45 e0             	fildl  -0x20(%ebp)
450b68:	85 c0                	test   %eax,%eax
450b6a:	79 06                	jns    0x450b72
450b6c:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
450b72:	dd 5d dc             	fstpl  -0x24(%ebp)
450b75:	dd 45 dc             	fldl   -0x24(%ebp)
450b78:	dc 0d 10 6f 4b 00    	fmull  0x4b6f10
450b7e:	d9 7d f6             	fnstcw -0xa(%ebp)
450b81:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
450b85:	0d 00 0c 00 00       	or     $0xc00,%eax
450b8a:	89 45 e0             	mov    %eax,-0x20(%ebp)
450b8d:	d9 6d e0             	fldcw  -0x20(%ebp)
450b90:	df 7d dc             	fistpll -0x24(%ebp)
450b93:	8b 45 dc             	mov    -0x24(%ebp),%eax
450b96:	d9 6d f6             	fldcw  -0xa(%ebp)
450b99:	eb 77                	jmp    0x450c12
450b9b:	3d 00 00 00 08       	cmp    $0x8000000,%eax
450ba0:	73 39                	jae    0x450bdb
450ba2:	89 45 e0             	mov    %eax,-0x20(%ebp)
450ba5:	db 45 e0             	fildl  -0x20(%ebp)
450ba8:	85 c0                	test   %eax,%eax
450baa:	79 06                	jns    0x450bb2
450bac:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
450bb2:	dd 5d dc             	fstpl  -0x24(%ebp)
450bb5:	dd 45 dc             	fldl   -0x24(%ebp)
450bb8:	dc 0d 08 6f 4b 00    	fmull  0x4b6f08
450bbe:	d9 7d f6             	fnstcw -0xa(%ebp)
450bc1:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
450bc5:	0d 00 0c 00 00       	or     $0xc00,%eax
450bca:	89 45 e0             	mov    %eax,-0x20(%ebp)
450bcd:	d9 6d e0             	fldcw  -0x20(%ebp)
450bd0:	df 7d dc             	fistpll -0x24(%ebp)
450bd3:	8b 45 dc             	mov    -0x24(%ebp),%eax
450bd6:	d9 6d f6             	fldcw  -0xa(%ebp)
450bd9:	eb 37                	jmp    0x450c12
450bdb:	89 45 e0             	mov    %eax,-0x20(%ebp)
450bde:	db 45 e0             	fildl  -0x20(%ebp)
450be1:	85 c0                	test   %eax,%eax
450be3:	79 06                	jns    0x450beb
450be5:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
450beb:	dd 5d dc             	fstpl  -0x24(%ebp)
450bee:	dd 45 dc             	fldl   -0x24(%ebp)
450bf1:	dc 0d 00 6f 4b 00    	fmull  0x4b6f00
450bf7:	d9 7d f6             	fnstcw -0xa(%ebp)
450bfa:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
450bfe:	0d 00 0c 00 00       	or     $0xc00,%eax
450c03:	89 45 e0             	mov    %eax,-0x20(%ebp)
450c06:	d9 6d e0             	fldcw  -0x20(%ebp)
450c09:	df 7d dc             	fistpll -0x24(%ebp)
450c0c:	8b 45 dc             	mov    -0x24(%ebp),%eax
450c0f:	d9 6d f6             	fldcw  -0xa(%ebp)
450c12:	50                   	push   %eax
450c13:	89 47 08             	mov    %eax,0x8(%edi)
450c16:	e8 55 75 fb ff       	call   0x408170
450c1b:	33 c9                	xor    %ecx,%ecx
450c1d:	89 47 08             	mov    %eax,0x8(%edi)
450c20:	ba 02 00 00 00       	mov    $0x2,%edx
450c25:	f7 e2                	mul    %edx
450c27:	0f 90 c1             	seto   %cl
450c2a:	f7 d9                	neg    %ecx
450c2c:	0b c8                	or     %eax,%ecx
450c2e:	51                   	push   %ecx
450c2f:	e8 71 03 fd ff       	call   0x420fa5
450c34:	8b 17                	mov    (%edi),%edx
450c36:	83 c4 04             	add    $0x4,%esp
450c39:	8b c8                	mov    %eax,%ecx
450c3b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
450c3e:	85 d2                	test   %edx,%edx
450c40:	74 22                	je     0x450c64
450c42:	8b 47 04             	mov    0x4(%edi),%eax
450c45:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
450c4c:	50                   	push   %eax
450c4d:	52                   	push   %edx
450c4e:	51                   	push   %ecx
450c4f:	e8 2c 04 fd ff       	call   0x421080
450c54:	83 c4 0c             	add    $0xc,%esp
450c57:	ff 37                	push   (%edi)
450c59:	e8 52 24 fd ff       	call   0x4230b0
450c5e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
450c61:	83 c4 04             	add    $0x4,%esp
450c64:	89 0f                	mov    %ecx,(%edi)
450c66:	e9 40 4e fc ff       	jmp    0x415aab
450c6b:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
450c6f:	0f 84 62 51 fc ff    	je     0x415dd7
450c75:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
450c79:	74 0a                	je     0x450c85
450c7b:	ff 76 18             	push   0x18(%esi)
450c7e:	ff 15 48 57 4a 00    	call   *0x4a5748
450c84:	59                   	pop    %ecx
450c85:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
450c89:	0f 84 48 51 fc ff    	je     0x415dd7
450c8f:	ff 76 14             	push   0x14(%esi)
450c92:	ff 15 48 57 4a 00    	call   *0x4a5748
450c98:	59                   	pop    %ecx
450c99:	e9 39 51 fc ff       	jmp    0x415dd7
450c9e:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
450ca2:	bf ff 03 00 00       	mov    $0x3ff,%edi
450ca7:	23 f7                	and    %edi,%esi
450ca9:	23 c7                	and    %edi,%eax
450cab:	c1 e6 0a             	shl    $0xa,%esi
450cae:	0b f0                	or     %eax,%esi
450cb0:	81 c6 00 00 01 00    	add    $0x10000,%esi
450cb6:	e9 05 52 fc ff       	jmp    0x415ec0
450cbb:	8b 45 08             	mov    0x8(%ebp),%eax
450cbe:	33 d2                	xor    %edx,%edx
450cc0:	83 c0 fe             	add    $0xfffffffe,%eax
450cc3:	3b c8                	cmp    %eax,%ecx
450cc5:	73 06                	jae    0x450ccd
450cc7:	66 39 59 02          	cmp    %bx,0x2(%ecx)
450ccb:	74 03                	je     0x450cd0
450ccd:	8d 7a 01             	lea    0x1(%edx),%edi
450cd0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450cd3:	89 39                	mov    %edi,(%ecx)
450cd5:	eb 08                	jmp    0x450cdf
450cd7:	8d 7a 01             	lea    0x1(%edx),%edi
450cda:	8b 45 0c             	mov    0xc(%ebp),%eax
450cdd:	89 38                	mov    %edi,(%eax)
450cdf:	8d 42 01             	lea    0x1(%edx),%eax
450ce2:	e9 f6 51 fc ff       	jmp    0x415edd
450ce7:	42                   	inc    %edx
450ce8:	8b 45 0c             	mov    0xc(%ebp),%eax
450ceb:	89 10                	mov    %edx,(%eax)
450ced:	8b c2                	mov    %edx,%eax
450cef:	e9 e9 51 fc ff       	jmp    0x415edd
450cf4:	3b f3                	cmp    %ebx,%esi
450cf6:	0f 82 df 51 fc ff    	jb     0x415edb
450cfc:	33 d2                	xor    %edx,%edx
450cfe:	83 fe 0c             	cmp    $0xc,%esi
450d01:	76 e4                	jbe    0x450ce7
450d03:	83 fe 0d             	cmp    $0xd,%esi
450d06:	74 19                	je     0x450d21
450d08:	42                   	inc    %edx
450d09:	81 fe 85 00 00 00    	cmp    $0x85,%esi
450d0f:	74 d7                	je     0x450ce8
450d11:	8d 86 d8 df ff ff    	lea    -0x2028(%esi),%eax
450d17:	3b c2                	cmp    %edx,%eax
450d19:	0f 87 bc 51 fc ff    	ja     0x415edb
450d1f:	eb c7                	jmp    0x450ce8
450d21:	8b 45 08             	mov    0x8(%ebp),%eax
450d24:	83 c0 fe             	add    $0xfffffffe,%eax
450d27:	3b c8                	cmp    %eax,%ecx
450d29:	73 ac                	jae    0x450cd7
450d2b:	66 39 59 02          	cmp    %bx,0x2(%ecx)
450d2f:	74 a9                	je     0x450cda
450d31:	eb a4                	jmp    0x450cd7
450d33:	ff 77 10             	push   0x10(%edi)
450d36:	e8 92 5f fd ff       	call   0x426ccd
450d3b:	59                   	pop    %ecx
450d3c:	89 47 10             	mov    %eax,0x10(%edi)
450d3f:	88 5f 0c             	mov    %bl,0xc(%edi)
450d42:	e9 df 52 fc ff       	jmp    0x416026
450d47:	56                   	push   %esi
450d48:	e8 93 a4 00 00       	call   0x45b1e0
450d4d:	c7 47 10 01 00 00 00 	movl   $0x1,0x10(%edi)
450d54:	e9 d7 52 fc ff       	jmp    0x416030
450d59:	53                   	push   %ebx
450d5a:	8b ce                	mov    %esi,%ecx
450d5c:	e8 f1 6d fb ff       	call   0x407b52
450d61:	66 83 38 5b          	cmpw   $0x5b,(%eax)
450d65:	0f 85 fc 02 00 00    	jne    0x451067
450d6b:	8b 47 18             	mov    0x18(%edi),%eax
450d6e:	8b ce                	mov    %esi,%ecx
450d70:	48                   	dec    %eax
450d71:	50                   	push   %eax
450d72:	e8 db 6d fb ff       	call   0x407b52
450d77:	66 83 38 5d          	cmpw   $0x5d,(%eax)
450d7b:	0f 85 e6 02 00 00    	jne    0x451067
450d81:	8b 47 18             	mov    0x18(%edi),%eax
450d84:	83 e8 02             	sub    $0x2,%eax
450d87:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
450d8e:	00
450d8f:	89 44 24 10          	mov    %eax,0x10(%esp)
450d93:	50                   	push   %eax
450d94:	8d 44 24 18          	lea    0x18(%esp),%eax
450d98:	50                   	push   %eax
450d99:	8d 44 24 30          	lea    0x30(%esp),%eax
450d9d:	50                   	push   %eax
450d9e:	8d 44 24 24          	lea    0x24(%esp),%eax
450da2:	50                   	push   %eax
450da3:	56                   	push   %esi
450da4:	e8 3d 96 00 00       	call   0x45a3e6
450da9:	84 c0                	test   %al,%al
450dab:	0f 84 b6 02 00 00    	je     0x451067
450db1:	ba 98 96 4b 00       	mov    $0x4b9698,%edx
450db6:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450dba:	e8 68 ff fc ff       	call   0x420d27
450dbf:	84 c0                	test   %al,%al
450dc1:	0f 85 80 02 00 00    	jne    0x451047
450dc7:	ba b0 96 4b 00       	mov    $0x4b96b0,%edx
450dcc:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450dd0:	e8 52 ff fc ff       	call   0x420d27
450dd5:	84 c0                	test   %al,%al
450dd7:	0f 85 50 02 00 00    	jne    0x45102d
450ddd:	ba 60 97 4b 00       	mov    $0x4b9760,%edx
450de2:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450de6:	e8 3c ff fc ff       	call   0x420d27
450deb:	84 c0                	test   %al,%al
450ded:	0f 85 f6 01 00 00    	jne    0x450fe9
450df3:	ba 70 97 4b 00       	mov    $0x4b9770,%edx
450df8:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450dfc:	e8 26 ff fc ff       	call   0x420d27
450e01:	84 c0                	test   %al,%al
450e03:	74 1f                	je     0x450e24
450e05:	8b 47 08             	mov    0x8(%edi),%eax
450e08:	a8 01                	test   $0x1,%al
450e0a:	0f 85 c9 01 00 00    	jne    0x450fd9
450e10:	83 c8 02             	or     $0x2,%eax
450e13:	8d 4f 34             	lea    0x34(%edi),%ecx
450e16:	89 47 08             	mov    %eax,0x8(%edi)
450e19:	e8 10 4e fc ff       	call   0x415c2e
450e1e:	51                   	push   %ecx
450e1f:	8d 4f 34             	lea    0x34(%edi),%ecx
450e22:	eb 43                	jmp    0x450e67
450e24:	ba fc 95 4b 00       	mov    $0x4b95fc,%edx
450e29:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450e2d:	e8 f5 fe fc ff       	call   0x420d27
450e32:	84 c0                	test   %al,%al
450e34:	74 0f                	je     0x450e45
450e36:	83 4f 08 08          	orl    $0x8,0x8(%edi)
450e3a:	8d 8f a4 00 00 00    	lea    0xa4(%edi),%ecx
450e40:	e9 6d 01 00 00       	jmp    0x450fb2
450e45:	ba 20 96 4b 00       	mov    $0x4b9620,%edx
450e4a:	8d 4c 24 18          	lea    0x18(%esp),%ecx
450e4e:	e8 d4 fe fc ff       	call   0x420d27
450e53:	84 c0                	test   %al,%al
450e55:	74 2a                	je     0x450e81
450e57:	83 4f 08 10          	orl    $0x10,0x8(%edi)
450e5b:	8d 4f 6c             	lea    0x6c(%edi),%ecx
450e5e:	e8 cb 4d fc ff       	call   0x415c2e
450e63:	51                   	push   %ecx
450e64:	8d 4f 6c             	lea    0x6c(%edi),%ecx
450e67:	8d 44 24 2c          	lea    0x2c(%esp),%eax