40c84c:	e8 83 6a ff ff       	call   0x4032d4
40c851:	bb 34 7d 41 00       	mov    $0x417d34,%ebx
40c856:	50                   	push   %eax
40c857:	8b cb                	mov    %ebx,%ecx
40c859:	e8 06 6a ff ff       	call   0x403264
40c85e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c861:	e8 c7 91 ff ff       	call   0x405a2d
40c866:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c869:	33 f6                	xor    %esi,%esi
40c86b:	50                   	push   %eax
40c86c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c86f:	50                   	push   %eax
40c870:	56                   	push   %esi
40c871:	68 3f 01 0f 00       	push   $0xf013f
40c876:	56                   	push   %esi
40c877:	56                   	push   %esi
40c878:	56                   	push   %esi
40c879:	68 20 36 41 00       	push   $0x413620
40c87e:	68 02 00 00 80       	push   $0x80000002
40c883:	ff 15 3c 20 41 00    	call   *0x41203c
40c889:	6a 04                	push   $0x4
40c88b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c88e:	89 75 f4             	mov    %esi,-0xc(%ebp)
40c891:	50                   	push   %eax
40c892:	6a 04                	push   $0x4
40c894:	56                   	push   %esi
40c895:	ff 35 30 7d 41 00    	push   0x417d30
40c89b:	ff 75 f8             	push   -0x8(%ebp)
40c89e:	ff 15 38 20 41 00    	call   *0x412038
40c8a4:	ff 75 f8             	push   -0x8(%ebp)
40c8a7:	ff 15 20 20 41 00    	call   *0x412020
40c8ad:	53                   	push   %ebx
40c8ae:	68 30 7d 41 00       	push   $0x417d30
40c8b3:	e8 e1 ee ff ff       	call   0x40b799
40c8b8:	85 c0                	test   %eax,%eax
40c8ba:	75 33                	jne    0x40c8ef
40c8bc:	53                   	push   %ebx
40c8bd:	68 30 7d 41 00       	push   $0x417d30
40c8c2:	6a 09                	push   $0x9
40c8c4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c8c7:	e8 25 7f ff ff       	call   0x4047f1
40c8cc:	50                   	push   %eax
40c8cd:	8b cf                	mov    %edi,%ecx
40c8cf:	e8 7f 82 ff ff       	call   0x404b53
40c8d4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c8d7:	e8 f2 7e ff ff       	call   0x4047ce
40c8dc:	bf d8 7c 41 00       	mov    $0x417cd8,%edi
40c8e1:	57                   	push   %edi
40c8e2:	ff 15 40 21 41 00    	call   *0x412140
40c8e8:	8b c6                	mov    %esi,%eax
40c8ea:	e9 91 00 00 00       	jmp    0x40c980
40c8ef:	68 30 7d 41 00       	push   $0x417d30
40c8f4:	68 04 36 41 00       	push   $0x413604
40c8f9:	8d 4d 08             	lea    0x8(%ebp),%ecx
40c8fc:	e8 11 6b ff ff       	call   0x403412
40c901:	8b 75 0c             	mov    0xc(%ebp),%esi
40c904:	8b ce                	mov    %esi,%ecx
40c906:	50                   	push   %eax
40c907:	e8 56 2b 00 00       	call   0x40f462
40c90c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c90f:	e8 19 91 ff ff       	call   0x405a2d
40c914:	53                   	push   %ebx
40c915:	68 10 36 41 00       	push   $0x413610
40c91a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40c91d:	e8 f0 6a ff ff       	call   0x403412
40c922:	50                   	push   %eax
40c923:	8b ce                	mov    %esi,%ecx
40c925:	e8 38 2b 00 00       	call   0x40f462
40c92a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c92d:	e8 fb 90 ff ff       	call   0x405a2d
40c932:	bf d8 7c 41 00       	mov    $0x417cd8,%edi
40c937:	b9 f0 7c 41 00       	mov    $0x417cf0,%ecx
40c93c:	57                   	push   %edi
40c93d:	68 7c c5 40 00       	push   $0x40c57c
40c942:	e8 28 55 ff ff       	call   0x401e6f
40c947:	57                   	push   %edi
40c948:	ff 15 40 21 41 00    	call   *0x412140
40c94e:	33 c0                	xor    %eax,%eax
40c950:	40                   	inc    %eax
40c951:	eb 2d                	jmp    0x40c980
40c953:	68 34 7d 41 00       	push   $0x417d34
40c958:	68 30 7d 41 00       	push   $0x417d30
40c95d:	6a 02                	push   $0x2
40c95f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c962:	e8 8a 7e ff ff       	call   0x4047f1
40c967:	50                   	push   %eax
40c968:	8b cf                	mov    %edi,%ecx
40c96a:	e8 e4 81 ff ff       	call   0x404b53
40c96f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c972:	e8 57 7e ff ff       	call   0x4047ce
40c977:	56                   	push   %esi
40c978:	ff 15 40 21 41 00    	call   *0x412140
40c97e:	33 c0                	xor    %eax,%eax
40c980:	5f                   	pop    %edi
40c981:	5e                   	pop    %esi
40c982:	5b                   	pop    %ebx
40c983:	c9                   	leave
40c984:	c2 0c 00             	ret    $0xc
40c987:	55                   	push   %ebp
40c988:	8b ec                	mov    %esp,%ebp
40c98a:	51                   	push   %ecx
40c98b:	53                   	push   %ebx
40c98c:	56                   	push   %esi
40c98d:	57                   	push   %edi
40c98e:	68 d8 7c 41 00       	push   $0x417cd8
40c993:	ff 15 44 21 41 00    	call   *0x412144
40c999:	6a 05                	push   $0x5
40c99b:	5f                   	pop    %edi
40c99c:	0f 57 c0             	xorps  %xmm0,%xmm0
40c99f:	89 3d 24 7d 41 00    	mov    %edi,0x417d24
40c9a5:	33 f6                	xor    %esi,%esi
40c9a7:	89 3d 1c 7d 41 00    	mov    %edi,0x417d1c
40c9ad:	6a 18                	push   $0x18
40c9af:	59                   	pop    %ecx
40c9b0:	0f 11 05 f0 7c 41 00 	movups %xmm0,0x417cf0
40c9b7:	89 35 00 7d 41 00    	mov    %esi,0x417d00
40c9bd:	0f 11 05 08 7d 41 00 	movups %xmm0,0x417d08
40c9c4:	89 35 20 7d 41 00    	mov    %esi,0x417d20
40c9ca:	e8 0c 91 ff ff       	call   0x405adb
40c9cf:	85 c0                	test   %eax,%eax
40c9d1:	74 10                	je     0x40c9e3
40c9d3:	89 38                	mov    %edi,(%eax)
40c9d5:	8d 48 04             	lea    0x4(%eax),%ecx
40c9d8:	33 c0                	xor    %eax,%eax
40c9da:	8b f9                	mov    %ecx,%edi
40c9dc:	ab                   	stos   %eax,%es:(%edi)
40c9dd:	ab                   	stos   %eax,%es:(%edi)
40c9de:	ab                   	stos   %eax,%es:(%edi)
40c9df:	ab                   	stos   %eax,%es:(%edi)
40c9e0:	ab                   	stos   %eax,%es:(%edi)
40c9e1:	eb 02                	jmp    0x40c9e5
40c9e3:	8b ce                	mov    %esi,%ecx
40c9e5:	89 0d 18 7d 41 00    	mov    %ecx,0x417d18
40c9eb:	b9 00 7d 41 00       	mov    $0x417d00,%ecx
40c9f0:	68 58 35 41 00       	push   $0x413558
40c9f5:	89 35 30 7d 41 00    	mov    %esi,0x417d30
40c9fb:	89 35 34 7d 41 00    	mov    %esi,0x417d34
40ca01:	e8 26 67 ff ff       	call   0x40312c
40ca06:	bf 70 35 41 00       	mov    $0x413570,%edi
40ca0b:	bb 0c 7d 41 00       	mov    $0x417d0c,%ebx
40ca10:	57                   	push   %edi
40ca11:	8b cb                	mov    %ebx,%ecx
40ca13:	e8 14 67 ff ff       	call   0x40312c
40ca18:	e8 d6 11 00 00       	call   0x40dbf3
40ca1d:	83 f8 01             	cmp    $0x1,%eax
40ca20:	75 35                	jne    0x40ca57
40ca22:	68 90 35 41 00       	push   $0x413590
40ca27:	8b cb                	mov    %ebx,%ecx
40ca29:	e8 fe 66 ff ff       	call   0x40312c
40ca2e:	8b d3                	mov    %ebx,%edx
40ca30:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40ca33:	e8 c9 65 ff ff       	call   0x403001
40ca38:	be 10 7d 41 00       	mov    $0x417d10,%esi
40ca3d:	50                   	push   %eax
40ca3e:	8b ce                	mov    %esi,%ecx
40ca40:	e8 1f 68 ff ff       	call   0x403264
40ca45:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ca48:	e8 e0 8f ff ff       	call   0x405a2d
40ca4d:	57                   	push   %edi
40ca4e:	8b cb                	mov    %ebx,%ecx
40ca50:	e8 d7 66 ff ff       	call   0x40312c
40ca55:	eb 1f                	jmp    0x40ca76
40ca57:	8b d3                	mov    %ebx,%edx
40ca59:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40ca5c:	e8 a0 65 ff ff       	call   0x403001
40ca61:	be 10 7d 41 00       	mov    $0x417d10,%esi
40ca66:	50                   	push   %eax
40ca67:	8b ce                	mov    %esi,%ecx
40ca69:	e8 f6 67 ff ff       	call   0x403264
40ca6e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ca71:	e8 b7 8f ff ff       	call   0x405a2d
40ca76:	bf b0 35 41 00       	mov    $0x4135b0,%edi
40ca7b:	8b ce                	mov    %esi,%ecx
40ca7d:	57                   	push   %edi
40ca7e:	e8 14 68 ff ff       	call   0x403297
40ca83:	57                   	push   %edi
40ca84:	8b cb                	mov    %ebx,%ecx
40ca86:	e8 0c 68 ff ff       	call   0x403297
40ca8b:	8b ce                	mov    %esi,%ecx
40ca8d:	e8 7d 0c 00 00       	call   0x40d70f
40ca92:	bf 14 7d 41 00       	mov    $0x417d14,%edi
40ca97:	56                   	push   %esi
40ca98:	8b cf                	mov    %edi,%ecx
40ca9a:	e8 c5 67 ff ff       	call   0x403264
40ca9f:	68 d0 35 41 00       	push   $0x4135d0
40caa4:	8b cf                	mov    %edi,%ecx
40caa6:	e8 ec 67 ff ff       	call   0x403297
40caab:	bf ec 35 41 00       	mov    $0x4135ec,%edi
40cab0:	8b ce                	mov    %esi,%ecx
40cab2:	57                   	push   %edi
40cab3:	e8 df 67 ff ff       	call   0x403297
40cab8:	57                   	push   %edi
40cab9:	8b cb                	mov    %ebx,%ecx
40cabb:	e8 d7 67 ff ff       	call   0x403297
40cac0:	5f                   	pop    %edi
40cac1:	5e                   	pop    %esi
40cac2:	b8 d8 7c 41 00       	mov    $0x417cd8,%eax
40cac7:	5b                   	pop    %ebx
40cac8:	c9                   	leave
40cac9:	c3                   	ret
40caca:	55                   	push   %ebp
40cacb:	8b ec                	mov    %esp,%ebp
40cacd:	83 ec 54             	sub    $0x54,%esp
40cad0:	56                   	push   %esi
40cad1:	6a 44                	push   $0x44
40cad3:	33 f6                	xor    %esi,%esi
40cad5:	8d 45 ac             	lea    -0x54(%ebp),%eax
40cad8:	56                   	push   %esi
40cad9:	50                   	push   %eax
40cada:	e8 73 45 ff ff       	call   0x401052
40cadf:	8b 45 0c             	mov    0xc(%ebp),%eax
40cae2:	83 c4 0c             	add    $0xc,%esp
40cae5:	89 45 e8             	mov    %eax,-0x18(%ebp)
40cae8:	8b 45 10             	mov    0x10(%ebp),%eax
40caeb:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40caee:	8b 45 14             	mov    0x14(%ebp),%eax
40caf1:	89 45 ec             	mov    %eax,-0x14(%ebp)
40caf4:	33 c0                	xor    %eax,%eax
40caf6:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
40cafa:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cafd:	50                   	push   %eax
40cafe:	8d 45 ac             	lea    -0x54(%ebp),%eax
40cb01:	c7 45 ac 44 00 00 00 	movl   $0x44,-0x54(%ebp)
40cb08:	50                   	push   %eax
40cb09:	56                   	push   %esi
40cb0a:	56                   	push   %esi
40cb0b:	6a 10                	push   $0x10
40cb0d:	6a 01                	push   $0x1
40cb0f:	56                   	push   %esi
40cb10:	56                   	push   %esi
40cb11:	56                   	push   %esi
40cb12:	ff 75 08             	push   0x8(%ebp)
40cb15:	c7 45 d8 01 01 00 00 	movl   $0x101,-0x28(%ebp)
40cb1c:	ff 15 00 21 41 00    	call   *0x412100
40cb22:	85 c0                	test   %eax,%eax
40cb24:	74 09                	je     0x40cb2f
40cb26:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cb29:	46                   	inc    %esi
40cb2a:	a3 54 65 41 00       	mov    %eax,0x416554
40cb2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cb32:	e8 f6 8e ff ff       	call   0x405a2d
40cb37:	8b c6                	mov    %esi,%eax
40cb39:	5e                   	pop    %esi
40cb3a:	c9                   	leave
40cb3b:	c2 10 00             	ret    $0x10
40cb3e:	55                   	push   %ebp
40cb3f:	8b ec                	mov    %esp,%ebp
40cb41:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cb44:	e8 e4 8e ff ff       	call   0x405a2d
40cb49:	5d                   	pop    %ebp
40cb4a:	c2 04 00             	ret    $0x4
40cb4d:	55                   	push   %ebp
40cb4e:	8b ec                	mov    %esp,%ebp
40cb50:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cb53:	e8 d5 8e ff ff       	call   0x405a2d
40cb58:	5d                   	pop    %ebp
40cb59:	c2 04 00             	ret    $0x4
40cb5c:	c7 01 b4 3b 41 00    	movl   $0x413bb4,(%ecx)
40cb62:	c3                   	ret
40cb63:	55                   	push   %ebp
40cb64:	8b ec                	mov    %esp,%ebp
40cb66:	83 e4 f8             	and    $0xfffffff8,%esp
40cb69:	51                   	push   %ecx
40cb6a:	51                   	push   %ecx
40cb6b:	56                   	push   %esi
40cb6c:	57                   	push   %edi
40cb6d:	8b 7d 08             	mov    0x8(%ebp),%edi
40cb70:	8b 47 04             	mov    0x4(%edi),%eax
40cb73:	89 44 24 08          	mov    %eax,0x8(%esp)
40cb77:	8b 47 10             	mov    0x10(%edi),%eax
40cb7a:	89 44 24 0c          	mov    %eax,0xc(%esp)
40cb7e:	eb 1b                	jmp    0x40cb9b
40cb80:	ff 77 1c             	push   0x1c(%edi)
40cb83:	8d 44 24 0c          	lea    0xc(%esp),%eax
40cb87:	6a 00                	push   $0x0
40cb89:	50                   	push   %eax
40cb8a:	6a 02                	push   $0x2
40cb8c:	ff 15 ec 20 41 00    	call   *0x4120ec
40cb92:	85 c0                	test   %eax,%eax
40cb94:	74 19                	je     0x40cbaf
40cb96:	83 f8 01             	cmp    $0x1,%eax
40cb99:	74 0f                	je     0x40cbaa
40cb9b:	8b cf                	mov    %edi,%ecx
40cb9d:	e8 2d 00 00 00       	call   0x40cbcf
40cba2:	8b f0                	mov    %eax,%esi
40cba4:	85 f6                	test   %esi,%esi
40cba6:	7f d8                	jg     0x40cb80
40cba8:	eb 14                	jmp    0x40cbbe
40cbaa:	33 f6                	xor    %esi,%esi
40cbac:	46                   	inc    %esi
40cbad:	eb 0f                	jmp    0x40cbbe
40cbaf:	8b cf                	mov    %edi,%ecx
40cbb1:	e8 19 00 00 00       	call   0x40cbcf
40cbb6:	8b f0                	mov    %eax,%esi
40cbb8:	85 f6                	test   %esi,%esi
40cbba:	7e 02                	jle    0x40cbbe
40cbbc:	33 f6                	xor    %esi,%esi
40cbbe:	8b cf                	mov    %edi,%ecx
40cbc0:	e8 f5 00 00 00       	call   0x40ccba
40cbc5:	5f                   	pop    %edi
40cbc6:	8b c6                	mov    %esi,%eax
40cbc8:	5e                   	pop    %esi
40cbc9:	8b e5                	mov    %ebp,%esp
40cbcb:	5d                   	pop    %ebp
40cbcc:	c2 04 00             	ret    $0x4
40cbcf:	55                   	push   %ebp
40cbd0:	8b ec                	mov    %esp,%ebp
40cbd2:	83 ec 18             	sub    $0x18,%esp
40cbd5:	53                   	push   %ebx
40cbd6:	56                   	push   %esi
40cbd7:	8b f1                	mov    %ecx,%esi
40cbd9:	33 db                	xor    %ebx,%ebx
40cbdb:	e9 9c 00 00 00       	jmp    0x40cc7c
40cbe0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40cbe3:	85 c9                	test   %ecx,%ecx
40cbe5:	0f 84 c4 00 00 00    	je     0x40ccaf
40cbeb:	41                   	inc    %ecx
40cbec:	e8 ea 8e ff ff       	call   0x405adb
40cbf1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40cbf5:	8b d8                	mov    %eax,%ebx
40cbf7:	6a 00                	push   $0x0
40cbf9:	8d 45 f8             	lea    -0x8(%ebp),%eax
40cbfc:	50                   	push   %eax
40cbfd:	ff 75 fc             	push   -0x4(%ebp)
40cc00:	53                   	push   %ebx
40cc01:	ff 76 08             	push   0x8(%esi)
40cc04:	ff 15 a8 20 41 00    	call   *0x4120a8
40cc0a:	85 c0                	test   %eax,%eax
40cc0c:	0f 84 86 00 00 00    	je     0x40cc98
40cc12:	8b 45 f8             	mov    -0x8(%ebp),%eax
40cc15:	33 c9                	xor    %ecx,%ecx
40cc17:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40cc1a:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40cc1d:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
40cc20:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40cc23:	ff 75 f8             	push   -0x8(%ebp)
40cc26:	53                   	push   %ebx
40cc27:	e8 95 61 ff ff       	call   0x402dc1
40cc2c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cc2f:	50                   	push   %eax
40cc30:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40cc33:	e8 d0 60 ff ff       	call   0x402d08
40cc38:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cc3b:	50                   	push   %eax
40cc3c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40cc3f:	e8 15 61 ff ff       	call   0x402d59
40cc44:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40cc47:	e8 6d 62 ff ff       	call   0x402eb9
40cc4c:	51                   	push   %ecx
40cc4d:	8d 45 f4             	lea    -0xc(%ebp),%eax