401750:	29 d1                	sub    %edx,%ecx
401752:	83 f9 20             	cmp    $0x20,%ecx
401755:	0f 83 97 00 00 00    	jae    0x4017f2
40175b:	01 c0                	add    %eax,%eax
40175d:	83 c0 25             	add    $0x25,%eax
401760:	89 c6                	mov    %eax,%esi
401762:	89 d1                	mov    %edx,%ecx
401764:	56                   	push   %esi
401765:	51                   	push   %ecx
401766:	e8 80 1e 00 00       	call   0x4035eb
40176b:	83 c4 08             	add    $0x8,%esp
40176e:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
401772:	74 39                	je     0x4017ad
401774:	8b 45 d4             	mov    -0x2c(%ebp),%eax
401777:	83 f8 08             	cmp    $0x8,%eax
40177a:	72 31                	jb     0x4017ad
40177c:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40177f:	8d 34 00             	lea    (%eax,%eax,1),%esi
401782:	83 c6 02             	add    $0x2,%esi
401785:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
40178b:	72 16                	jb     0x4017a3
40178d:	8b 51 fc             	mov    -0x4(%ecx),%edx
401790:	83 c1 fc             	add    $0xfffffffc,%ecx
401793:	29 d1                	sub    %edx,%ecx
401795:	83 f9 20             	cmp    $0x20,%ecx
401798:	73 64                	jae    0x4017fe
40179a:	01 c0                	add    %eax,%eax
40179c:	83 c0 25             	add    $0x25,%eax
40179f:	89 c6                	mov    %eax,%esi
4017a1:	89 d1                	mov    %edx,%ecx
4017a3:	56                   	push   %esi
4017a4:	51                   	push   %ecx
4017a5:	e8 41 1e 00 00       	call   0x4035eb
4017aa:	83 c4 08             	add    $0x8,%esp
4017ad:	85 ff                	test   %edi,%edi
4017af:	8b 45 08             	mov    0x8(%ebp),%eax
4017b2:	74 0c                	je     0x4017c0
4017b4:	57                   	push   %edi
4017b5:	e8 ba 5a 00 00       	call   0x407274
4017ba:	8b 45 08             	mov    0x8(%ebp),%eax
4017bd:	83 c4 04             	add    $0x4,%esp
4017c0:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4017c3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4017ca:	81 c4 64 83 00 00    	add    $0x8364,%esp
4017d0:	5e                   	pop    %esi
4017d1:	5f                   	pop    %edi
4017d2:	5b                   	pop    %ebx
4017d3:	5d                   	pop    %ebp
4017d4:	c3                   	ret
4017d5:	e8 a6 18 00 00       	call   0x403080
4017da:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4017e1:	e8 f3 5c 00 00       	call   0x4074d9
4017e6:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4017ed:	e8 e7 5c 00 00       	call   0x4074d9
4017f2:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
4017f9:	e8 db 5c 00 00       	call   0x4074d9
4017fe:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
401805:	e8 cf 5c 00 00       	call   0x4074d9
40180a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
401810:	55                   	push   %ebp
401811:	83 ec 10             	sub    $0x10,%esp
401814:	83 c5 0c             	add    $0xc,%ebp
401817:	e8 4d 32 00 00       	call   0x404a69
40181c:	0f 1f 40 00          	nopl   0x0(%eax)
401820:	55                   	push   %ebp
401821:	83 ec 10             	sub    $0x10,%esp
401824:	83 c5 0c             	add    $0xc,%ebp
401827:	e8 3d 32 00 00       	call   0x404a69
40182c:	0f 1f 40 00          	nopl   0x0(%eax)
401830:	55                   	push   %ebp
401831:	83 ec 10             	sub    $0x10,%esp
401834:	83 c5 0c             	add    $0xc,%ebp
401837:	e8 2d 32 00 00       	call   0x404a69
40183c:	0f 1f 40 00          	nopl   0x0(%eax)
401840:	55                   	push   %ebp
401841:	83 ec 10             	sub    $0x10,%esp
401844:	83 c5 0c             	add    $0xc,%ebp
401847:	e8 1d 32 00 00       	call   0x404a69
40184c:	0f 1f 40 00          	nopl   0x0(%eax)
401850:	55                   	push   %ebp
401851:	83 ec 10             	sub    $0x10,%esp
401854:	83 c5 0c             	add    $0xc,%ebp
401857:	8b 4d 08             	mov    0x8(%ebp),%ecx
40185a:	e8 01 0d 00 00       	call   0x402560
40185f:	83 c4 10             	add    $0x10,%esp
401862:	5d                   	pop    %ebp
401863:	c3                   	ret
401864:	66 66 66 2e 0f 1f 84 	data16 data16 nopw %cs:0x0(%eax,%eax,1)
40186b:	00 00 00 00 00
401870:	55                   	push   %ebp
401871:	83 ec 10             	sub    $0x10,%esp
401874:	83 c5 0c             	add    $0xc,%ebp
401877:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40187a:	e8 e1 0c 00 00       	call   0x402560
40187f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
401882:	e8 d9 0c 00 00       	call   0x402560
401887:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
40188b:	74 0b                	je     0x401898
40188d:	ff 75 e0             	push   -0x20(%ebp)
401890:	e8 df 59 00 00       	call   0x407274
401895:	83 c4 04             	add    $0x4,%esp
401898:	83 c4 10             	add    $0x10,%esp
40189b:	5d                   	pop    %ebp
40189c:	c3                   	ret
40189d:	0f 1f 00             	nopl   (%eax)
4018a0:	55                   	push   %ebp
4018a1:	89 e5                	mov    %esp,%ebp
4018a3:	53                   	push   %ebx
4018a4:	57                   	push   %edi
4018a5:	56                   	push   %esi
4018a6:	81 ec c4 00 00 00    	sub    $0xc4,%esp
4018ac:	8b 55 0c             	mov    0xc(%ebp),%edx
4018af:	89 65 e4             	mov    %esp,-0x1c(%ebp)
4018b2:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
4018b9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4018bc:	c7 45 ec a0 22 40 00 	movl   $0x4022a0,-0x14(%ebp)
4018c3:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
4018ca:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4018cd:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4018d3:	0f 57 c0             	xorps  %xmm0,%xmm0
4018d6:	0f 11 85 60 ff ff ff 	movups %xmm0,-0xa0(%ebp)
4018dd:	0f 11 85 50 ff ff ff 	movups %xmm0,-0xb0(%ebp)
4018e4:	0f 11 85 40 ff ff ff 	movups %xmm0,-0xc0(%ebp)
4018eb:	0f 11 85 30 ff ff ff 	movups %xmm0,-0xd0(%ebp)
4018f2:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
4018f9:	00 00 00
4018fc:	0f 11 45 b0          	movups %xmm0,-0x50(%ebp)
401900:	8b 7a 10             	mov    0x10(%edx),%edi
401903:	03 7a 2c             	add    0x2c(%edx),%edi
401906:	83 c7 02             	add    $0x2,%edi
401909:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
401910:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
401917:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40191e:	0f 88 8d 02 00 00    	js     0x401bb1
401924:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
401927:	81 ff 00 08 00 00    	cmp    $0x800,%edi
40192d:	72 23                	jb     0x401952
40192f:	81 ff ef ff ff 7f    	cmp    $0x7fffffef,%edi
401935:	0f 83 7b 02 00 00    	jae    0x401bb6
40193b:	8d 43 23             	lea    0x23(%ebx),%eax
40193e:	50                   	push   %eax
40193f:	e8 b5 1c 00 00       	call   0x4035f9
401944:	83 c4 04             	add    $0x4,%esp
401947:	8d 70 23             	lea    0x23(%eax),%esi
40194a:	83 e6 e0             	and    $0xffffffe0,%esi
40194d:	89 46 fc             	mov    %eax,-0x4(%esi)
401950:	eb 0b                	jmp    0x40195d
401952:	53                   	push   %ebx
401953:	e8 a1 1c 00 00       	call   0x4035f9
401958:	83 c4 04             	add    $0x4,%esp
40195b:	89 c6                	mov    %eax,%esi
40195d:	89 75 c0             	mov    %esi,-0x40(%ebp)
401960:	8d 3c 7e             	lea    (%esi,%edi,2),%edi
401963:	89 7d c8             	mov    %edi,-0x38(%ebp)
401966:	53                   	push   %ebx
401967:	6a 00                	push   $0x0
401969:	56                   	push   %esi
40196a:	e8 01 31 00 00       	call   0x404a70
40196f:	83 c4 0c             	add    $0xc,%esp
401972:	89 7d c4             	mov    %edi,-0x3c(%ebp)
401975:	8b 5d 0c             	mov    0xc(%ebp),%ebx
401978:	8b 43 10             	mov    0x10(%ebx),%eax
40197b:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40197f:	89 d9                	mov    %ebx,%ecx
401981:	72 02                	jb     0x401985
401983:	8b 0b                	mov    (%ebx),%ecx
401985:	89 7d dc             	mov    %edi,-0x24(%ebp)
401988:	8d 7b 1c             	lea    0x1c(%ebx),%edi
40198b:	01 c0                	add    %eax,%eax
40198d:	50                   	push   %eax
40198e:	51                   	push   %ecx
40198f:	56                   	push   %esi
401990:	e8 9b 29 00 00       	call   0x404330
401995:	83 c4 0c             	add    $0xc,%esp
401998:	8b 4b 10             	mov    0x10(%ebx),%ecx
40199b:	66 c7 04 4e 20 00    	movw   $0x20,(%esi,%ecx,2)
4019a1:	8b 43 2c             	mov    0x2c(%ebx),%eax
4019a4:	83 7b 30 08          	cmpl   $0x8,0x30(%ebx)
4019a8:	89 7d e0             	mov    %edi,-0x20(%ebp)
4019ab:	89 fa                	mov    %edi,%edx
4019ad:	72 03                	jb     0x4019b2
4019af:	8b 53 1c             	mov    0x1c(%ebx),%edx
4019b2:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
4019b5:	83 c1 02             	add    $0x2,%ecx
4019b8:	01 c0                	add    %eax,%eax
4019ba:	50                   	push   %eax
4019bb:	52                   	push   %edx
4019bc:	51                   	push   %ecx
4019bd:	e8 6e 29 00 00       	call   0x404330
4019c2:	83 c4 0c             	add    $0xc,%esp
4019c5:	8b 43 10             	mov    0x10(%ebx),%eax
4019c8:	03 43 2c             	add    0x2c(%ebx),%eax
4019cb:	66 c7 44 46 02 00 00 	movw   $0x0,0x2(%esi,%eax,2)
4019d2:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
4019d9:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4019e0:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4019e7:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
4019ed:	50                   	push   %eax
4019ee:	ff 15 18 90 41 00    	call   *0x419018
4019f4:	8b 4d c0             	mov    -0x40(%ebp),%ecx
4019f7:	83 ec 28             	sub    $0x28,%esp
4019fa:	8d 45 b0             	lea    -0x50(%ebp),%eax
4019fd:	89 44 24 24          	mov    %eax,0x24(%esp)
401a01:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
401a07:	89 44 24 20          	mov    %eax,0x20(%esp)
401a0b:	0f 28 05 c0 91 41 00 	movaps 0x4191c0,%xmm0
401a12:	0f 11 44 24 08       	movups %xmm0,0x8(%esp)
401a17:	89 4d d0             	mov    %ecx,-0x30(%ebp)
401a1a:	89 4c 24 04          	mov    %ecx,0x4(%esp)
401a1e:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
401a25:	00
401a26:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
401a2d:	00
401a2e:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
401a35:	ff 15 1c 90 41 00    	call   *0x41901c
401a3b:	85 c0                	test   %eax,%eax
401a3d:	74 55                	je     0x401a94
401a3f:	8b 45 b0             	mov    -0x50(%ebp),%eax
401a42:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
401a45:	89 4d cc             	mov    %ecx,-0x34(%ebp)
401a48:	89 45 e0             	mov    %eax,-0x20(%ebp)
401a4b:	89 45 d8             	mov    %eax,-0x28(%ebp)
401a4e:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
401a51:	51                   	push   %ecx
401a52:	ff 15 20 90 41 00    	call   *0x419020
401a58:	6a 01                	push   $0x1
401a5a:	68 00 10 40 00       	push   $0x401000
401a5f:	ff 15 24 90 41 00    	call   *0x419024
401a65:	85 c0                	test   %eax,%eax
401a67:	75 18                	jne    0x401a81
401a69:	6a 02                	push   $0x2
401a6b:	e8 1b 4c 00 00       	call   0x40668b
401a70:	83 c4 04             	add    $0x4,%esp
401a73:	68 b0 92 41 00       	push   $0x4192b0
401a78:	50                   	push   %eax
401a79:	e8 e2 09 00 00       	call   0x402460
401a7e:	83 c4 08             	add    $0x8,%esp
401a81:	8b 75 08             	mov    0x8(%ebp),%esi
401a84:	8b 45 d4             	mov    -0x2c(%ebp),%eax
401a87:	89 06                	mov    %eax,(%esi)
401a89:	8b 45 e0             	mov    -0x20(%ebp),%eax
401a8c:	89 46 04             	mov    %eax,0x4(%esi)
401a8f:	e9 d7 00 00 00       	jmp    0x401b6b
401a94:	ff 15 28 90 41 00    	call   *0x419028
401a9a:	3d e4 02 00 00       	cmp    $0x2e4,%eax
401a9f:	75 79                	jne    0x401b1a
401aa1:	0f 57 c0             	xorps  %xmm0,%xmm0
401aa4:	0f 11 45 9c          	movups %xmm0,-0x64(%ebp)
401aa8:	0f 11 45 8c          	movups %xmm0,-0x74(%ebp)
401aac:	0f 11 85 7c ff ff ff 	movups %xmm0,-0x84(%ebp)
401ab3:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
401aba:	c7 85 74 ff ff ff 3c 	movl   $0x3c,-0x8c(%ebp)
401ac1:	00 00 00
401ac4:	c7 85 78 ff ff ff 40 	movl   $0x40,-0x88(%ebp)
401acb:	00 00 00
401ace:	8b 4d 0c             	mov    0xc(%ebp),%ecx
401ad1:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
401ad5:	89 c8                	mov    %ecx,%eax
401ad7:	72 02                	jb     0x401adb
401ad9:	8b 01                	mov    (%ecx),%eax
401adb:	89 45 84             	mov    %eax,-0x7c(%ebp)
401ade:	83 79 30 08          	cmpl   $0x8,0x30(%ecx)
401ae2:	8b 45 e0             	mov    -0x20(%ebp),%eax
401ae5:	72 03                	jb     0x401aea
401ae7:	8b 41 1c             	mov    0x1c(%ecx),%eax
401aea:	89 45 88             	mov    %eax,-0x78(%ebp)
401aed:	c7 45 90 05 00 00 00 	movl   $0x5,-0x70(%ebp)
401af4:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
401afa:	50                   	push   %eax
401afb:	ff 15 44 91 41 00    	call   *0x419144
401b01:	85 c0                	test   %eax,%eax
401b03:	74 32                	je     0x401b37
401b05:	8b 45 ac             	mov    -0x54(%ebp),%eax
401b08:	89 45 e0             	mov    %eax,-0x20(%ebp)
401b0b:	89 45 d8             	mov    %eax,-0x28(%ebp)
401b0e:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
401b15:	e9 3e ff ff ff       	jmp    0x401a58
401b1a:	6a 02                	push   $0x2
401b1c:	e8 6a 4b 00 00       	call   0x40668b
401b21:	83 c4 04             	add    $0x4,%esp
401b24:	ff 75 d0             	push   -0x30(%ebp)
401b27:	68 7c 92 41 00       	push   $0x41927c
401b2c:	50                   	push   %eax
401b2d:	e8 2e 09 00 00       	call   0x402460
401b32:	83 c4 0c             	add    $0xc,%esp
401b35:	eb 24                	jmp    0x401b5b
401b37:	ff 15 28 90 41 00    	call   *0x419028
401b3d:	89 45 e0             	mov    %eax,-0x20(%ebp)
401b40:	6a 02                	push   $0x2
401b42:	e8 44 4b 00 00       	call   0x40668b
401b47:	83 c4 04             	add    $0x4,%esp
401b4a:	ff 75 e0             	push   -0x20(%ebp)
401b4d:	68 48 92 41 00       	push   $0x419248
401b52:	50                   	push   %eax
401b53:	e8 08 09 00 00       	call   0x402460
401b58:	83 c4 0c             	add    $0xc,%esp
401b5b:	8b 75 08             	mov    0x8(%ebp),%esi
401b5e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
401b64:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
401b6b:	8b 4d dc             	mov    -0x24(%ebp),%ecx
401b6e:	8b 55 d0             	mov    -0x30(%ebp),%edx
401b71:	85 d2                	test   %edx,%edx
401b73:	74 26                	je     0x401b9b
401b75:	29 d1                	sub    %edx,%ecx
401b77:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401b7d:	72 12                	jb     0x401b91
401b7f:	8b 42 fc             	mov    -0x4(%edx),%eax
401b82:	83 c2 fc             	add    $0xfffffffc,%edx
401b85:	29 c2                	sub    %eax,%edx
401b87:	83 fa 20             	cmp    $0x20,%edx
401b8a:	73 2f                	jae    0x401bbb
401b8c:	83 c1 23             	add    $0x23,%ecx
401b8f:	89 c2                	mov    %eax,%edx
401b91:	51                   	push   %ecx
401b92:	52                   	push   %edx
401b93:	e8 53 1a 00 00       	call   0x4035eb
401b98:	83 c4 08             	add    $0x8,%esp
401b9b:	8b 45 e8             	mov    -0x18(%ebp),%eax
401b9e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401ba4:	89 f0                	mov    %esi,%eax
401ba6:	81 c4 c4 00 00 00    	add    $0xc4,%esp
401bac:	5e                   	pop    %esi
401bad:	5f                   	pop    %edi
401bae:	5b                   	pop    %ebx
401baf:	5d                   	pop    %ebp
401bb0:	c3                   	ret
401bb1:	e8 fa 18 00 00       	call   0x4034b0
401bb6:	e8 e5 0e 00 00       	call   0x402aa0
401bbb:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
401bc2:	e8 12 59 00 00       	call   0x4074d9
401bc7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
401bce:	00 00
401bd0:	55                   	push   %ebp
401bd1:	83 ec 28             	sub    $0x28,%esp
401bd4:	83 c5 0c             	add    $0xc,%ebp
401bd7:	e8 8d 2e 00 00       	call   0x404a69
401bdc:	0f 1f 40 00          	nopl   0x0(%eax)
401be0:	55                   	push   %ebp
401be1:	83 ec 28             	sub    $0x28,%esp
401be4:	83 c5 0c             	add    $0xc,%ebp
401be7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401bea:	e8 21 0a 00 00       	call   0x402610
401bef:	8d 4d cc             	lea    -0x34(%ebp),%ecx
401bf2:	e8 19 0a 00 00       	call   0x402610
401bf7:	8d 4d c0             	lea    -0x40(%ebp),%ecx
401bfa:	e8 81 0a 00 00       	call   0x402680
401bff:	83 c4 28             	add    $0x28,%esp
401c02:	5d                   	pop    %ebp
401c03:	c3                   	ret
401c04:	66 66 66 2e 0f 1f 84 	data16 data16 nopw %cs:0x0(%eax,%eax,1)