411985:	50                   	push   %eax
411986:	e8 32 86 ff ff       	call   0x409fbd
41198b:	85 c0                	test   %eax,%eax
41198d:	0f 84 a9 4a 03 00    	je     0x44643c
411993:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
411997:	0f 85 b7 4a 03 00    	jne    0x446454
41199d:	8b 46 04             	mov    0x4(%esi),%eax
4119a0:	8b 48 04             	mov    0x4(%eax),%ecx
4119a3:	e8 f4 82 ff ff       	call   0x409c9c
4119a8:	85 c0                	test   %eax,%eax
4119aa:	0f 8e a4 4a 03 00    	jle    0x446454
4119b0:	8b 46 04             	mov    0x4(%esi),%eax
4119b3:	8b 48 04             	mov    0x4(%eax),%ecx
4119b6:	e8 e1 82 ff ff       	call   0x409c9c
4119bb:	89 44 24 10          	mov    %eax,0x10(%esp)
4119bf:	8b b7 4c 04 00 00    	mov    0x44c(%edi),%esi
4119c5:	89 74 24 14          	mov    %esi,0x14(%esp)
4119c9:	85 f6                	test   %esi,%esi
4119cb:	0f 85 90 4a 03 00    	jne    0x446461
4119d1:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
4119d5:	e8 ed 5d ff ff       	call   0x4077c7
4119da:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4119de:	66 89 5c 24 4c       	mov    %bx,0x4c(%esp)
4119e3:	50                   	push   %eax
4119e4:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4119e8:	e8 ba 67 ff ff       	call   0x4081a7
4119ed:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4119f1:	89 4c 24 54          	mov    %ecx,0x54(%esp)
4119f5:	ff 15 b8 f7 48 00    	call   *0x48f7b8
4119fb:	89 44 24 50          	mov    %eax,0x50(%esp)
4119ff:	6a 0c                	push   $0xc
411a01:	39 9f 50 04 00 00    	cmp    %ebx,0x450(%edi)
411a07:	0f 85 ac 4a 03 00    	jne    0x4464b9
411a0d:	e8 e4 f5 00 00       	call   0x420ff6
411a12:	59                   	pop    %ecx
411a13:	85 c0                	test   %eax,%eax
411a15:	74 0e                	je     0x411a25
411a17:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
411a1b:	51                   	push   %ecx
411a1c:	8b c8                	mov    %eax,%ecx
411a1e:	e8 cf f0 00 00       	call   0x420af2
411a23:	8b d8                	mov    %eax,%ebx
411a25:	89 9f 4c 04 00 00    	mov    %ebx,0x44c(%edi)
411a2b:	ff 87 54 04 00 00    	incl   0x454(%edi)
411a31:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
411a35:	89 9f 50 04 00 00    	mov    %ebx,0x450(%edi)
411a3b:	e8 24 40 ff ff       	call   0x405a64
411a40:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
411a44:	e8 1b 40 ff ff       	call   0x405a64
411a49:	5f                   	pop    %edi
411a4a:	5e                   	pop    %esi
411a4b:	33 c0                	xor    %eax,%eax
411a4d:	5b                   	pop    %ebx
411a4e:	8b e5                	mov    %ebp,%esp
411a50:	5d                   	pop    %ebp
411a51:	c2 08 00             	ret    $0x8
411a54:	55                   	push   %ebp
411a55:	8b ec                	mov    %esp,%ebp
411a57:	51                   	push   %ecx
411a58:	51                   	push   %ecx
411a59:	8b 45 08             	mov    0x8(%ebp),%eax
411a5c:	56                   	push   %esi
411a5d:	8b 40 04             	mov    0x4(%eax),%eax
411a60:	8b 08                	mov    (%eax),%ecx
411a62:	e8 91 82 ff ff       	call   0x409cf8
411a67:	51                   	push   %ecx
411a68:	51                   	push   %ecx
411a69:	dd 1c 24             	fstpl  (%esp)
411a6c:	e8 cf 47 01 00       	call   0x426240
411a71:	8b 75 0c             	mov    0xc(%ebp),%esi
411a74:	83 c4 08             	add    $0x8,%esp
411a77:	8b ce                	mov    %esi,%ecx
411a79:	dd 5d f8             	fstpl  -0x8(%ebp)
411a7c:	e8 9f 7f ff ff       	call   0x409a20
411a81:	dd 45 f8             	fldl   -0x8(%ebp)
411a84:	33 c0                	xor    %eax,%eax
411a86:	dd 1e                	fstpl  (%esi)
411a88:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
411a8f:	5e                   	pop    %esi
411a90:	8b e5                	mov    %ebp,%esp
411a92:	5d                   	pop    %ebp
411a93:	c2 08 00             	ret    $0x8
411a96:	55                   	push   %ebp
411a97:	8b ec                	mov    %esp,%ebp
411a99:	83 e4 f8             	and    $0xfffffff8,%esp
411a9c:	81 ec c0 01 00 00    	sub    $0x1c0,%esp
411aa2:	56                   	push   %esi
411aa3:	57                   	push   %edi
411aa4:	8b f9                	mov    %ecx,%edi
411aa6:	8b 4d 08             	mov    0x8(%ebp),%ecx
411aa9:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
411aad:	8b 41 08             	mov    0x8(%ecx),%eax
411ab0:	89 44 24 20          	mov    %eax,0x20(%esp)
411ab4:	8b 41 04             	mov    0x4(%ecx),%eax
411ab7:	8b 30                	mov    (%eax),%esi
411ab9:	8b ce                	mov    %esi,%ecx
411abb:	e8 d7 7e ff ff       	call   0x409997
411ac0:	8b 46 08             	mov    0x8(%esi),%eax
411ac3:	8d 4c 24 28          	lea    0x28(%esp),%ecx
411ac7:	68 10 f9 48 00       	push   $0x48f910
411acc:	8b 00                	mov    (%eax),%eax
411ace:	89 44 24 20          	mov    %eax,0x20(%esp)
411ad2:	e8 63 84 ff ff       	call   0x409f3a
411ad7:	8b 75 0c             	mov    0xc(%ebp),%esi
411ada:	8b ce                	mov    %esi,%ecx
411adc:	e8 3f 7f ff ff       	call   0x409a20
411ae1:	83 26 00             	andl   $0x0,(%esi)
411ae4:	8d 87 08 01 00 00    	lea    0x108(%edi),%eax
411aea:	89 44 24 44          	mov    %eax,0x44(%esp)
411aee:	b9 2c 1d 49 00       	mov    $0x491d2c,%ecx
411af3:	8d 87 fd 00 00 00    	lea    0xfd(%edi),%eax
411af9:	89 4c 24 54          	mov    %ecx,0x54(%esp)
411afd:	89 44 24 50          	mov    %eax,0x50(%esp)
411b01:	ba 10 25 49 00       	mov    $0x492510,%edx
411b06:	8d 87 fe 00 00 00    	lea    0xfe(%edi),%eax
411b0c:	89 4c 24 60          	mov    %ecx,0x60(%esp)
411b10:	89 44 24 5c          	mov    %eax,0x5c(%esp)
411b14:	8d 87 0c 01 00 00    	lea    0x10c(%edi),%eax
411b1a:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%esp)
411b21:	8d 87 10 01 00 00    	lea    0x110(%edi),%eax
411b27:	89 84 24 bc 00 00 00 	mov    %eax,0xbc(%esp)
411b2e:	8d 87 14 01 00 00    	lea    0x114(%edi),%eax
411b34:	89 84 24 c8 00 00 00 	mov    %eax,0xc8(%esp)
411b3b:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
411b41:	89 8c 24 9c 00 00 00 	mov    %ecx,0x9c(%esp)
411b48:	b9 a4 26 49 00       	mov    $0x4926a4,%ecx
411b4d:	89 84 24 d4 00 00 00 	mov    %eax,0xd4(%esp)
411b54:	8d 87 ff 00 00 00    	lea    0xff(%edi),%eax
411b5a:	89 8c 24 b4 00 00 00 	mov    %ecx,0xb4(%esp)
411b61:	89 8c 24 c0 00 00 00 	mov    %ecx,0xc0(%esp)
411b68:	b9 2c 1d 49 00       	mov    $0x491d2c,%ecx
411b6d:	89 84 24 e0 00 00 00 	mov    %eax,0xe0(%esp)
411b74:	8d 87 04 01 00 00    	lea    0x104(%edi),%eax
411b7a:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
411b81:	c7 44 24 40 fc 28 49 	movl   $0x4928fc,0x40(%esp)
411b88:	00
411b89:	89 54 24 48          	mov    %edx,0x48(%esp)
411b8d:	c7 44 24 4c 14 28 49 	movl   $0x492814,0x4c(%esp)
411b94:	00
411b95:	c7 44 24 58 cc 27 49 	movl   $0x4927cc,0x58(%esp)
411b9c:	00
411b9d:	c7 44 24 64 7c 29 49 	movl   $0x49297c,0x64(%esp)
411ba4:	00
411ba5:	c7 44 24 68 b0 67 4c 	movl   $0x4c67b0,0x68(%esp)
411bac:	00
411bad:	c7 44 24 6c ec 25 49 	movl   $0x4925ec,0x6c(%esp)
411bb4:	00
411bb5:	c7 44 24 70 24 2a 49 	movl   $0x492a24,0x70(%esp)
411bbc:	00
411bbd:	c7 44 24 74 b4 67 4c 	movl   $0x4c67b4,0x74(%esp)
411bc4:	00
411bc5:	89 54 24 78          	mov    %edx,0x78(%esp)
411bc9:	c7 44 24 7c bc 26 49 	movl   $0x4926bc,0x7c(%esp)
411bd0:	00
411bd1:	c7 84 24 80 00 00 00 	movl   $0x4c67c4,0x80(%esp)
411bd8:	c4 67 4c 00
411bdc:	c7 84 24 84 00 00 00 	movl   $0x492af8,0x84(%esp)
411be3:	f8 2a 49 00
411be7:	c7 84 24 88 00 00 00 	movl   $0x49285c,0x88(%esp)
411bee:	5c 28 49 00
411bf2:	c7 84 24 8c 00 00 00 	movl   $0x4c67c0,0x8c(%esp)
411bf9:	c0 67 4c 00
411bfd:	c7 84 24 90 00 00 00 	movl   $0x492adc,0x90(%esp)
411c04:	dc 2a 49 00
411c08:	c7 84 24 94 00 00 00 	movl   $0x49295c,0x94(%esp)
411c0f:	5c 29 49 00
411c13:	c7 84 24 98 00 00 00 	movl   $0x4c67bc,0x98(%esp)
411c1a:	bc 67 4c 00
411c1e:	c7 84 24 a0 00 00 00 	movl   $0x4929b4,0xa0(%esp)
411c25:	b4 29 49 00
411c29:	c7 84 24 a4 00 00 00 	movl   $0x4c67b8,0xa4(%esp)
411c30:	b8 67 4c 00
411c34:	c7 84 24 a8 00 00 00 	movl   $0x492aa8,0xa8(%esp)
411c3b:	a8 2a 49 00
411c3f:	c7 84 24 ac 00 00 00 	movl   $0x49289c,0xac(%esp)
411c46:	9c 28 49 00
411c4a:	c7 84 24 b8 00 00 00 	movl   $0x4926e8,0xb8(%esp)
411c51:	e8 26 49 00
411c55:	c7 84 24 c4 00 00 00 	movl   $0x492710,0xc4(%esp)
411c5c:	10 27 49 00
411c60:	c7 84 24 cc 00 00 00 	movl   $0x492694,0xcc(%esp)
411c67:	94 26 49 00
411c6b:	c7 84 24 d0 00 00 00 	movl   $0x4928dc,0xd0(%esp)
411c72:	dc 28 49 00
411c76:	89 94 24 d8 00 00 00 	mov    %edx,0xd8(%esp)
411c7d:	c7 84 24 dc 00 00 00 	movl   $0x49287c,0xdc(%esp)
411c84:	7c 28 49 00
411c88:	89 8c 24 e4 00 00 00 	mov    %ecx,0xe4(%esp)
411c8f:	c7 84 24 e8 00 00 00 	movl   $0x49293c,0xe8(%esp)
411c96:	3c 29 49 00
411c9a:	89 84 24 ec 00 00 00 	mov    %eax,0xec(%esp)
411ca1:	89 94 24 f0 00 00 00 	mov    %edx,0xf0(%esp)
411ca8:	c7 84 24 f4 00 00 00 	movl   $0x49291c,0xf4(%esp)
411caf:	1c 29 49 00
411cb3:	8d 87 91 00 00 00    	lea    0x91(%edi),%eax
411cb9:	89 8c 24 fc 00 00 00 	mov    %ecx,0xfc(%esp)
411cc0:	89 84 24 f8 00 00 00 	mov    %eax,0xf8(%esp)
411cc7:	b9 b0 26 49 00       	mov    $0x4926b0,%ecx
411ccc:	8d 87 90 00 00 00    	lea    0x90(%edi),%eax
411cd2:	89 8c 24 14 01 00 00 	mov    %ecx,0x114(%esp)
411cd9:	89 84 24 04 01 00 00 	mov    %eax,0x104(%esp)
411ce0:	ba ec 25 49 00       	mov    $0x4925ec,%edx
411ce5:	8d 87 88 00 00 00    	lea    0x88(%edi),%eax
411ceb:	89 8c 24 20 01 00 00 	mov    %ecx,0x120(%esp)
411cf2:	89 84 24 10 01 00 00 	mov    %eax,0x110(%esp)
411cf9:	b9 2c 1d 49 00       	mov    $0x491d2c,%ecx
411cfe:	8d 87 8c 00 00 00    	lea    0x8c(%edi),%eax
411d04:	89 8c 24 2c 01 00 00 	mov    %ecx,0x12c(%esp)
411d0b:	89 84 24 1c 01 00 00 	mov    %eax,0x11c(%esp)
411d12:	8d 87 18 01 00 00    	lea    0x118(%edi),%eax
411d18:	89 84 24 28 01 00 00 	mov    %eax,0x128(%esp)
411d1f:	8d 87 6c 04 00 00    	lea    0x46c(%edi),%eax
411d25:	89 84 24 34 01 00 00 	mov    %eax,0x134(%esp)
411d2c:	8d 87 dc 02 00 00    	lea    0x2dc(%edi),%eax
411d32:	89 84 24 7c 01 00 00 	mov    %eax,0x17c(%esp)
411d39:	8d 87 dd 02 00 00    	lea    0x2dd(%edi),%eax
411d3f:	89 84 24 88 01 00 00 	mov    %eax,0x188(%esp)
411d46:	8d 87 d8 02 00 00    	lea    0x2d8(%edi),%eax
411d4c:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
411d53:	8d 87 f4 02 00 00    	lea    0x2f4(%edi),%eax
411d59:	89 84 24 ac 01 00 00 	mov    %eax,0x1ac(%esp)
411d60:	8b 45 08             	mov    0x8(%ebp),%eax
411d63:	89 8c 24 50 01 00 00 	mov    %ecx,0x150(%esp)
411d6a:	89 8c 24 74 01 00 00 	mov    %ecx,0x174(%esp)
411d71:	89 8c 24 80 01 00 00 	mov    %ecx,0x180(%esp)
411d78:	89 8c 24 8c 01 00 00 	mov    %ecx,0x18c(%esp)
411d7f:	8b 48 04             	mov    0x4(%eax),%ecx
411d82:	89 94 24 08 01 00 00 	mov    %edx,0x108(%esp)
411d89:	89 94 24 44 01 00 00 	mov    %edx,0x144(%esp)
411d90:	33 d2                	xor    %edx,%edx
411d92:	c7 84 24 00 01 00 00 	movl   $0x492838,0x100(%esp)
411d99:	38 28 49 00
411d9d:	8b 01                	mov    (%ecx),%eax
411d9f:	c7 84 24 0c 01 00 00 	movl   $0x492a5c,0x10c(%esp)
411da6:	5c 2a 49 00
411daa:	c7 84 24 18 01 00 00 	movl   $0x4927a8,0x118(%esp)
411db1:	a8 27 49 00
411db5:	c7 84 24 24 01 00 00 	movl   $0x492a78,0x124(%esp)
411dbc:	78 2a 49 00
411dc0:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
411dc4:	c7 84 24 30 01 00 00 	movl   $0x492a90,0x130(%esp)
411dcb:	90 2a 49 00
411dcf:	c7 84 24 38 01 00 00 	movl   $0x492acc,0x138(%esp)
411dd6:	cc 2a 49 00
411dda:	c7 84 24 3c 01 00 00 	movl   $0x4929d0,0x13c(%esp)
411de1:	d0 29 49 00
411de5:	c7 84 24 40 01 00 00 	movl   $0x4c6896,0x140(%esp)
411dec:	96 68 4c 00
411df0:	c7 84 24 48 01 00 00 	movl   $0x492998,0x148(%esp)
411df7:	98 29 49 00
411dfb:	c7 84 24 4c 01 00 00 	movl   $0x4c6285,0x14c(%esp)
411e02:	85 62 4c 00
411e06:	c7 84 24 54 01 00 00 	movl   $0x4929ec,0x154(%esp)
411e0d:	ec 29 49 00
411e11:	89 94 24 58 01 00 00 	mov    %edx,0x158(%esp)
411e18:	c7 84 24 5c 01 00 00 	movl   $0x492b1c,0x15c(%esp)
411e1f:	1c 2b 49 00
411e23:	c7 84 24 60 01 00 00 	movl   $0x492a40,0x160(%esp)
411e2a:	40 2a 49 00
411e2e:	89 94 24 64 01 00 00 	mov    %edx,0x164(%esp)
411e35:	c7 84 24 68 01 00 00 	movl   $0x492b10,0x168(%esp)
411e3c:	10 2b 49 00
411e40:	c7 84 24 6c 01 00 00 	movl   $0x4928bc,0x16c(%esp)
411e47:	bc 28 49 00
411e4b:	c7 84 24 70 01 00 00 	movl   $0x4c6930,0x170(%esp)
411e52:	30 69 4c 00
411e56:	c7 84 24 78 01 00 00 	movl   $0x492738,0x178(%esp)
411e5d:	38 27 49 00
411e61:	c7 84 24 84 01 00 00 	movl   $0x492784,0x184(%esp)
411e68:	84 27 49 00
411e6c:	c7 84 24 90 01 00 00 	movl   $0x4927f0,0x190(%esp)
411e73:	f0 27 49 00
411e77:	c7 84 24 98 01 00 00 	movl   $0x492abc,0x198(%esp)
411e7e:	bc 2a 49 00
411e82:	c7 84 24 9c 01 00 00 	movl   $0x492760,0x19c(%esp)
411e89:	60 27 49 00
411e8d:	89 94 24 a0 01 00 00 	mov    %edx,0x1a0(%esp)
411e94:	c7 84 24 a4 01 00 00 	movl   $0x492b04,0x1a4(%esp)
411e9b:	04 2b 49 00
411e9f:	c7 84 24 a8 01 00 00 	movl   $0x492a08,0x1a8(%esp)
411ea6:	08 2a 49 00
411eaa:	c7 84 24 b0 01 00 00 	movl   $0x492694,0x1b0(%esp)
411eb1:	94 26 49 00
411eb5:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
411eb9:	0f 85 8e 01 00 00    	jne    0x41204d
411ebf:	8b 54 24 1c          	mov    0x1c(%esp),%edx
411ec3:	6a 2a                	push   $0x2a
411ec5:	58                   	pop    %eax
411ec6:	66 39 02             	cmp    %ax,(%edx)
411ec9:	0f 84 d3 01 00 00    	je     0x4120a2
411ecf:	83 7c 24 20 01       	cmpl   $0x1,0x20(%esp)
411ed4:	0f 84 98 01 00 00    	je     0x412072
411eda:	8b 49 04             	mov    0x4(%ecx),%ecx
411edd:	6a 29                	push   $0x29
411edf:	e8 ca 7e ff ff       	call   0x409dae
411ee4:	84 c0                	test   %al,%al
411ee6:	0f 85 91 01 00 00    	jne    0x41207d
411eec:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
411ef0:	8b 49 04             	mov    0x4(%ecx),%ecx
411ef3:	e8 a4 7d ff ff       	call   0x409c9c
411ef8:	89 44 24 18          	mov    %eax,0x18(%esp)
411efc:	8b 54 24 1c          	mov    0x1c(%esp),%edx
411f00:	6a 1e                	push   $0x1e
411f02:	33 f6                	xor    %esi,%esi
411f04:	5f                   	pop    %edi
411f05:	89 74 24 14          	mov    %esi,0x14(%esp)
411f09:	89 7c 24 24          	mov    %edi,0x24(%esp)
411f0d:	8d 04 37             	lea    (%edi,%esi,1),%eax
411f10:	d1 f8                	sar    $1,%eax
411f12:	89 44 24 14          	mov    %eax,0x14(%esp)
411f16:	6b c0 0c             	imul   $0xc,%eax,%eax
411f19:	ff 74 04 40          	push   0x40(%esp,%eax,1)
411f1d:	52                   	push   %edx
411f1e:	e8 1a 12 01 00       	call   0x42313d
411f23:	59                   	pop    %ecx
411f24:	85 c0                	test   %eax,%eax
411f26:	8b 44 24 18          	mov    0x18(%esp),%eax
411f2a:	59                   	pop    %ecx
411f2b:	0f 88 2d 01 00 00    	js     0x41205e
411f31:	0f 8f 50 01 00 00    	jg     0x412087
411f37:	3b f7                	cmp    %edi,%esi
411f39:	89 74 24 14          	mov    %esi,0x14(%esp)
411f3d:	8b 75 0c             	mov    0xc(%ebp),%esi
411f40:	89 7c 24 24          	mov    %edi,0x24(%esp)
411f44:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
411f48:	0f 8f 54 01 00 00    	jg     0x4120a2
411f4e:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
411f53:	6b c8 0c             	imul   $0xc,%eax,%ecx
411f56:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
411f5a:	8b 44 0c 48          	mov    0x48(%esp,%ecx,1),%eax
411f5e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
411f62:	0f b7 10             	movzwl (%eax),%edx
411f65:	83 fa 64             	cmp    $0x64,%edx
411f68:	0f 85 7a 45 03 00    	jne    0x4464e8
411f6e:	8d 4c 24 14          	lea    0x14(%esp),%ecx
411f72:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
411f79:	00
411f7a:	51                   	push   %ecx
411f7b:	8d 54 24 14          	lea    0x14(%esp),%edx
411f7f:	8b c8                	mov    %eax,%ecx
411f81:	e8 ef ec 00 00       	call   0x420c75
411f86:	59                   	pop    %ecx
411f87:	8d 4c 24 28          	lea    0x28(%esp),%ecx
411f8b:	e8 90 7a ff ff       	call   0x409a20
411f90:	8b 44 24 14          	mov    0x14(%esp),%eax
411f94:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
411f9b:	00
411f9c:	89 44 24 28          	mov    %eax,0x28(%esp)
411fa0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
411fa4:	8b 44 24 10          	mov    0x10(%esp),%eax