4017b7:	8d 45 a8             	lea    -0x58(%ebp),%eax
4017ba:	0f 57 c0             	xorps  %xmm0,%xmm0
4017bd:	c7 85 6c ff ff ff 3c 	movl   $0x3c,-0x94(%ebp)
4017c4:	00 00 00
4017c7:	0f 43 45 a8          	cmovae -0x58(%ebp),%eax
4017cb:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4017cf:	66 0f 13 45 90       	movlpd %xmm0,-0x70(%ebp)
4017d4:	66 0f 13 45 98       	movlpd %xmm0,-0x68(%ebp)
4017d9:	66 0f 13 45 a0       	movlpd %xmm0,-0x60(%ebp)
4017de:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
4017e4:	c7 85 70 ff ff ff 40 	movl   $0x440,-0x90(%ebp)
4017eb:	04 00 00
4017ee:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
4017f5:	00 00 00
4017f8:	75 04                	jne    0x4017fe
4017fa:	33 c0                	xor    %eax,%eax
4017fc:	eb 0b                	jmp    0x401809
4017fe:	83 7d f0 08          	cmpl   $0x8,-0x10(%ebp)
401802:	8d 45 dc             	lea    -0x24(%ebp),%eax
401805:	0f 43 45 dc          	cmovae -0x24(%ebp),%eax
401809:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
40180d:	89 45 80             	mov    %eax,-0x80(%ebp)
401810:	75 04                	jne    0x401816
401812:	33 c0                	xor    %eax,%eax
401814:	eb 0b                	jmp    0x401821
401816:	83 7d d8 08          	cmpl   $0x8,-0x28(%ebp)
40181a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40181d:	0f 43 45 c4          	cmovae -0x3c(%ebp),%eax
401821:	89 45 84             	mov    %eax,-0x7c(%ebp)
401824:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40182a:	50                   	push   %eax
40182b:	c7 45 88 05 00 00 00 	movl   $0x5,-0x78(%ebp)
401832:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
401839:	c7 85 78 ff ff ff 74 	movl   $0x413d74,-0x88(%ebp)
401840:	3d 41 00
401843:	ff 15 0c f1 40 00    	call   *0x40f10c
401849:	83 f8 01             	cmp    $0x1,%eax
40184c:	75 0a                	jne    0x401858
40184e:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
401852:	74 04                	je     0x401858
401854:	8a d8                	mov    %al,%bl
401856:	eb 02                	jmp    0x40185a
401858:	32 db                	xor    %bl,%bl
40185a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40185d:	83 f9 08             	cmp    $0x8,%ecx
401860:	72 32                	jb     0x401894
401862:	8b 55 dc             	mov    -0x24(%ebp),%edx
401865:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40186c:	8b c2                	mov    %edx,%eax
40186e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401874:	72 14                	jb     0x40188a
401876:	8b 50 fc             	mov    -0x4(%eax),%edx
401879:	83 c1 23             	add    $0x23,%ecx
40187c:	2b c2                	sub    %edx,%eax
40187e:	83 c0 fc             	add    $0xfffffffc,%eax
401881:	83 f8 1f             	cmp    $0x1f,%eax
401884:	0f 87 c4 00 00 00    	ja     0x40194e
40188a:	51                   	push   %ecx
40188b:	52                   	push   %edx
40188c:	e8 ed 12 00 00       	call   0x402b7e
401891:	83 c4 08             	add    $0x8,%esp
401894:	8b 4d d8             	mov    -0x28(%ebp),%ecx
401897:	33 c0                	xor    %eax,%eax
401899:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4018a0:	c7 45 f0 07 00 00 00 	movl   $0x7,-0x10(%ebp)
4018a7:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
4018ab:	83 f9 08             	cmp    $0x8,%ecx
4018ae:	72 2e                	jb     0x4018de
4018b0:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4018b3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4018ba:	8b c2                	mov    %edx,%eax
4018bc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4018c2:	72 10                	jb     0x4018d4
4018c4:	8b 50 fc             	mov    -0x4(%eax),%edx
4018c7:	83 c1 23             	add    $0x23,%ecx
4018ca:	2b c2                	sub    %edx,%eax
4018cc:	83 c0 fc             	add    $0xfffffffc,%eax
4018cf:	83 f8 1f             	cmp    $0x1f,%eax
4018d2:	77 7a                	ja     0x40194e
4018d4:	51                   	push   %ecx
4018d5:	52                   	push   %edx
4018d6:	e8 a3 12 00 00       	call   0x402b7e
4018db:	83 c4 08             	add    $0x8,%esp
4018de:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4018e1:	33 c0                	xor    %eax,%eax
4018e3:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4018ea:	c7 45 d8 07 00 00 00 	movl   $0x7,-0x28(%ebp)
4018f1:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
4018f5:	83 f9 08             	cmp    $0x8,%ecx
4018f8:	72 2e                	jb     0x401928
4018fa:	8b 55 a8             	mov    -0x58(%ebp),%edx
4018fd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401904:	8b c2                	mov    %edx,%eax
401906:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40190c:	72 10                	jb     0x40191e
40190e:	8b 50 fc             	mov    -0x4(%eax),%edx
401911:	83 c1 23             	add    $0x23,%ecx
401914:	2b c2                	sub    %edx,%eax
401916:	83 c0 fc             	add    $0xfffffffc,%eax
401919:	83 f8 1f             	cmp    $0x1f,%eax
40191c:	77 30                	ja     0x40194e
40191e:	51                   	push   %ecx
40191f:	52                   	push   %edx
401920:	e8 59 12 00 00       	call   0x402b7e
401925:	83 c4 08             	add    $0x8,%esp
401928:	8a c3                	mov    %bl,%al
40192a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40192d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401934:	5f                   	pop    %edi
401935:	5e                   	pop    %esi
401936:	5b                   	pop    %ebx
401937:	8b e5                	mov    %ebp,%esp
401939:	5d                   	pop    %ebp
40193a:	c3                   	ret
40193b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40193e:	32 c0                	xor    %al,%al
401940:	5f                   	pop    %edi
401941:	5e                   	pop    %esi
401942:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401949:	5b                   	pop    %ebx
40194a:	8b e5                	mov    %ebp,%esp
40194c:	5d                   	pop    %ebp
40194d:	c3                   	ret
40194e:	e8 d9 43 00 00       	call   0x405d2c
401953:	cc                   	int3
401954:	cc                   	int3
401955:	cc                   	int3
401956:	cc                   	int3
401957:	cc                   	int3
401958:	cc                   	int3
401959:	cc                   	int3
40195a:	cc                   	int3
40195b:	cc                   	int3
40195c:	cc                   	int3
40195d:	cc                   	int3
40195e:	cc                   	int3
40195f:	cc                   	int3
401960:	55                   	push   %ebp
401961:	8b ec                	mov    %esp,%ebp
401963:	83 e4 f0             	and    $0xfffffff0,%esp
401966:	81 ec b8 02 00 00    	sub    $0x2b8,%esp
40196c:	56                   	push   %esi
40196d:	57                   	push   %edi
40196e:	8d 44 24 38          	lea    0x38(%esp),%eax
401972:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
401979:	00
40197a:	50                   	push   %eax
40197b:	ff 15 08 f0 40 00    	call   *0x40f008
401981:	50                   	push   %eax
401982:	ff 15 10 f1 40 00    	call   *0x40f110
401988:	89 44 24 3c          	mov    %eax,0x3c(%esp)
40198c:	85 c0                	test   %eax,%eax
40198e:	0f 84 ab 04 00 00    	je     0x401e3f
401994:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
401999:	0f 84 a0 04 00 00    	je     0x401e3f
40199f:	33 c0                	xor    %eax,%eax
4019a1:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
4019a8:	00
4019a9:	0f 57 c0             	xorps  %xmm0,%xmm0
4019ac:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
4019b3:	68 0a 02 00 00       	push   $0x20a
4019b8:	0f 11 44 24 60       	movups %xmm0,0x60(%esp)
4019bd:	50                   	push   %eax
4019be:	0f 11 84 24 80 00 00 	movups %xmm0,0x80(%esp)
4019c5:	00
4019c6:	66 89 44 24 68       	mov    %ax,0x68(%esp)
4019cb:	66 89 84 24 80 00 00 	mov    %ax,0x80(%esp)
4019d2:	00
4019d3:	8d 84 24 b8 00 00 00 	lea    0xb8(%esp),%eax
4019da:	50                   	push   %eax
4019db:	c7 44 24 64 00 00 00 	movl   $0x0,0x64(%esp)
4019e2:	00
4019e3:	c7 44 24 78 00 00 00 	movl   $0x0,0x78(%esp)
4019ea:	00
4019eb:	c7 44 24 7c 00 00 00 	movl   $0x0,0x7c(%esp)
4019f2:	00
4019f3:	c7 84 24 80 00 00 00 	movl   $0x7,0x80(%esp)
4019fa:	07 00 00 00
4019fe:	c7 84 24 98 00 00 00 	movl   $0x7,0x98(%esp)
401a05:	07 00 00 00
401a09:	e8 d2 25 00 00       	call   0x403fe0
401a0e:	83 c4 0c             	add    $0xc,%esp
401a11:	8d 84 24 b0 00 00 00 	lea    0xb0(%esp),%eax
401a18:	68 04 01 00 00       	push   $0x104
401a1d:	50                   	push   %eax
401a1e:	6a 00                	push   $0x0
401a20:	ff 15 04 f0 40 00    	call   *0x40f004
401a26:	0f 57 c0             	xorps  %xmm0,%xmm0
401a29:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
401a30:	00
401a31:	8d 8c 24 b0 00 00 00 	lea    0xb0(%esp),%ecx
401a38:	0f 29 44 24 10       	movaps %xmm0,0x10(%esp)
401a3d:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
401a44:	00
401a45:	8d 51 02             	lea    0x2(%ecx),%edx
401a48:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
401a4f:	00
401a50:	66 8b 01             	mov    (%ecx),%ax
401a53:	83 c1 02             	add    $0x2,%ecx
401a56:	66 85 c0             	test   %ax,%ax
401a59:	75 f5                	jne    0x401a50
401a5b:	2b ca                	sub    %edx,%ecx
401a5d:	8d 84 24 b0 00 00 00 	lea    0xb0(%esp),%eax
401a64:	d1 f9                	sar    $1,%ecx
401a66:	51                   	push   %ecx
401a67:	50                   	push   %eax
401a68:	8d 4c 24 18          	lea    0x18(%esp),%ecx
401a6c:	e8 9f 06 00 00       	call   0x402110
401a71:	8b 7c 24 24          	mov    0x24(%esp),%edi
401a75:	8d 74 24 10          	lea    0x10(%esp),%esi
401a79:	8b 4c 24 10          	mov    0x10(%esp),%ecx
401a7d:	83 ff 08             	cmp    $0x8,%edi
401a80:	8b 54 24 20          	mov    0x20(%esp),%edx
401a84:	0f 43 f1             	cmovae %ecx,%esi
401a87:	89 54 24 40          	mov    %edx,0x40(%esp)
401a8b:	85 d2                	test   %edx,%edx
401a8d:	0f 84 ae 00 00 00    	je     0x401b41
401a93:	83 c9 ff             	or     $0xffffffff,%ecx
401a96:	8d 42 ff             	lea    -0x1(%edx),%eax
401a99:	3b c1                	cmp    %ecx,%eax
401a9b:	0f 42 c8             	cmovb  %eax,%ecx
401a9e:	66 83 3c 4e 5c       	cmpw   $0x5c,(%esi,%ecx,2)
401aa3:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
401aa6:	74 11                	je     0x401ab9
401aa8:	3b ce                	cmp    %esi,%ecx
401aaa:	0f 84 8d 00 00 00    	je     0x401b3d
401ab0:	83 e9 02             	sub    $0x2,%ecx
401ab3:	66 83 39 5c          	cmpw   $0x5c,(%ecx)
401ab7:	75 ef                	jne    0x401aa8
401ab9:	2b ce                	sub    %esi,%ecx
401abb:	d1 f9                	sar    $1,%ecx
401abd:	83 f9 ff             	cmp    $0xffffffff,%ecx
401ac0:	74 7b                	je     0x401b3d
401ac2:	3b ca                	cmp    %edx,%ecx
401ac4:	77 18                	ja     0x401ade
401ac6:	83 ff 08             	cmp    $0x8,%edi
401ac9:	89 4c 24 20          	mov    %ecx,0x20(%esp)
401acd:	8d 44 24 10          	lea    0x10(%esp),%eax
401ad1:	0f 43 44 24 10       	cmovae 0x10(%esp),%eax
401ad6:	33 d2                	xor    %edx,%edx
401ad8:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
401adc:	eb 53                	jmp    0x401b31
401ade:	8b f1                	mov    %ecx,%esi
401ae0:	8b c7                	mov    %edi,%eax
401ae2:	2b f2                	sub    %edx,%esi
401ae4:	2b c2                	sub    %edx,%eax
401ae6:	3b f0                	cmp    %eax,%esi
401ae8:	77 37                	ja     0x401b21
401aea:	83 ff 08             	cmp    $0x8,%edi
401aed:	89 4c 24 20          	mov    %ecx,0x20(%esp)
401af1:	8d 44 24 10          	lea    0x10(%esp),%eax
401af5:	0f 43 44 24 10       	cmovae 0x10(%esp),%eax
401afa:	89 44 24 40          	mov    %eax,0x40(%esp)
401afe:	8d 3c 50             	lea    (%eax,%edx,2),%edi
401b01:	85 f6                	test   %esi,%esi
401b03:	74 0d                	je     0x401b12
401b05:	33 c0                	xor    %eax,%eax
401b07:	8b ce                	mov    %esi,%ecx
401b09:	d1 e9                	shr    $1,%ecx
401b0b:	f3 ab                	rep stos %eax,%es:(%edi)
401b0d:	13 c9                	adc    %ecx,%ecx
401b0f:	66 f3 ab             	rep stos %ax,%es:(%edi)
401b12:	8b 4c 24 40          	mov    0x40(%esp),%ecx
401b16:	8d 04 16             	lea    (%esi,%edx,1),%eax
401b19:	33 d2                	xor    %edx,%edx
401b1b:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
401b1f:	eb 10                	jmp    0x401b31
401b21:	51                   	push   %ecx
401b22:	56                   	push   %esi
401b23:	ff 74 24 44          	push   0x44(%esp)
401b27:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
401b2b:	56                   	push   %esi
401b2c:	e8 4f 07 00 00       	call   0x402280
401b31:	8b 54 24 20          	mov    0x20(%esp),%edx
401b35:	8b 7c 24 24          	mov    0x24(%esp),%edi
401b39:	89 54 24 40          	mov    %edx,0x40(%esp)
401b3d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
401b41:	8b c7                	mov    %edi,%eax
401b43:	2b c2                	sub    %edx,%eax
401b45:	83 f8 0f             	cmp    $0xf,%eax
401b48:	72 35                	jb     0x401b7f
401b4a:	83 ff 08             	cmp    $0x8,%edi
401b4d:	8d 74 24 10          	lea    0x10(%esp),%esi
401b51:	8d 42 0f             	lea    0xf(%edx),%eax
401b54:	0f 43 f1             	cmovae %ecx,%esi
401b57:	89 44 24 20          	mov    %eax,0x20(%esp)
401b5b:	6a 1e                	push   $0x1e
401b5d:	68 80 3d 41 00       	push   $0x413d80
401b62:	8d 04 56             	lea    (%esi,%edx,2),%eax
401b65:	50                   	push   %eax
401b66:	e8 e5 38 00 00       	call   0x405450
401b6b:	8b 44 24 4c          	mov    0x4c(%esp),%eax
401b6f:	83 c4 0c             	add    $0xc,%esp
401b72:	33 c9                	xor    %ecx,%ecx
401b74:	66 89 4c 46 1e       	mov    %cx,0x1e(%esi,%eax,2)
401b79:	8d 44 24 10          	lea    0x10(%esp),%eax
401b7d:	eb 16                	jmp    0x401b95
401b7f:	6a 0f                	push   $0xf
401b81:	68 80 3d 41 00       	push   $0x413d80
401b86:	ff 74 24 44          	push   0x44(%esp)
401b8a:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
401b8e:	6a 0f                	push   $0xf
401b90:	e8 8b 08 00 00       	call   0x402420
401b95:	0f 10 00             	movups (%eax),%xmm0
401b98:	33 c9                	xor    %ecx,%ecx
401b9a:	f3 0f 7e 48 10       	movq   0x10(%eax),%xmm1
401b9f:	0f 29 84 24 90 00 00 	movaps %xmm0,0x90(%esp)
401ba6:	00
401ba7:	66 0f d6 4c 24 40    	movq   %xmm1,0x40(%esp)
401bad:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
401bb4:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
401bbb:	66 89 08             	mov    %cx,(%eax)
401bbe:	8b 4c 24 74          	mov    0x74(%esp),%ecx
401bc2:	83 f9 08             	cmp    $0x8,%ecx
401bc5:	72 41                	jb     0x401c08
401bc7:	8b 54 24 60          	mov    0x60(%esp),%edx
401bcb:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401bd2:	8b c2                	mov    %edx,%eax
401bd4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401bda:	72 14                	jb     0x401bf0
401bdc:	8b 50 fc             	mov    -0x4(%eax),%edx
401bdf:	83 c1 23             	add    $0x23,%ecx
401be2:	2b c2                	sub    %edx,%eax
401be4:	83 c0 fc             	add    $0xfffffffc,%eax
401be7:	83 f8 1f             	cmp    $0x1f,%eax
401bea:	0f 87 59 02 00 00    	ja     0x401e49
401bf0:	51                   	push   %ecx
401bf1:	52                   	push   %edx
401bf2:	e8 87 0f 00 00       	call   0x402b7e
401bf7:	0f 28 84 24 98 00 00 	movaps 0x98(%esp),%xmm0
401bfe:	00
401bff:	83 c4 08             	add    $0x8,%esp
401c02:	f3 0f 7e 4c 24 40    	movq   0x40(%esp),%xmm1
401c08:	8b 4c 24 24          	mov    0x24(%esp),%ecx
401c0c:	66 0f d6 4c 24 70    	movq   %xmm1,0x70(%esp)
401c12:	0f 11 44 24 60       	movups %xmm0,0x60(%esp)
401c17:	83 f9 08             	cmp    $0x8,%ecx
401c1a:	72 33                	jb     0x401c4f
401c1c:	8b 54 24 10          	mov    0x10(%esp),%edx
401c20:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401c27:	8b c2                	mov    %edx,%eax
401c29:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401c2f:	72 14                	jb     0x401c45
401c31:	8b 50 fc             	mov    -0x4(%eax),%edx
401c34:	83 c1 23             	add    $0x23,%ecx
401c37:	2b c2                	sub    %edx,%eax
401c39:	83 c0 fc             	add    $0xfffffffc,%eax
401c3c:	83 f8 1f             	cmp    $0x1f,%eax
401c3f:	0f 87 09 02 00 00    	ja     0x401e4e
401c45:	51                   	push   %ecx