40cc50:	8b cc                	mov    %esp,%ecx
40cc52:	50                   	push   %eax
40cc53:	e8 ca 65 ff ff       	call   0x403222
40cc58:	8b 06                	mov    (%esi),%eax
40cc5a:	8b ce                	mov    %esi,%ecx
40cc5c:	ff 50 04             	call   *0x4(%eax)
40cc5f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40cc62:	e8 c6 8d ff ff       	call   0x405a2d
40cc67:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40cc6a:	e8 be 8d ff ff       	call   0x405a2d
40cc6f:	33 db                	xor    %ebx,%ebx
40cc71:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40cc74:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40cc77:	e8 ea 61 ff ff       	call   0x402e66
40cc7c:	53                   	push   %ebx
40cc7d:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cc80:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40cc83:	50                   	push   %eax
40cc84:	53                   	push   %ebx
40cc85:	53                   	push   %ebx
40cc86:	53                   	push   %ebx
40cc87:	ff 76 08             	push   0x8(%esi)
40cc8a:	ff 15 f4 20 41 00    	call   *0x4120f4
40cc90:	85 c0                	test   %eax,%eax
40cc92:	0f 85 48 ff ff ff    	jne    0x40cbe0
40cc98:	ff 15 0c 22 41 00    	call   *0x41220c
40cc9e:	83 f8 6d             	cmp    $0x6d,%eax
40cca1:	74 11                	je     0x40ccb4
40cca3:	3d e8 00 00 00       	cmp    $0xe8,%eax
40cca8:	74 0a                	je     0x40ccb4
40ccaa:	83 c8 ff             	or     $0xffffffff,%eax
40ccad:	eb 07                	jmp    0x40ccb6
40ccaf:	33 c0                	xor    %eax,%eax
40ccb1:	40                   	inc    %eax
40ccb2:	eb 02                	jmp    0x40ccb6
40ccb4:	33 c0                	xor    %eax,%eax
40ccb6:	5e                   	pop    %esi
40ccb7:	5b                   	pop    %ebx
40ccb8:	c9                   	leave
40ccb9:	c3                   	ret
40ccba:	56                   	push   %esi
40ccbb:	8b f1                	mov    %ecx,%esi
40ccbd:	57                   	push   %edi
40ccbe:	8d 7e 14             	lea    0x14(%esi),%edi
40ccc1:	83 3f 00             	cmpl   $0x0,(%edi)
40ccc4:	74 3f                	je     0x40cd05
40ccc6:	ff 15 a0 20 41 00    	call   *0x4120a0
40cccc:	3b 46 18             	cmp    0x18(%esi),%eax
40cccf:	74 2d                	je     0x40ccfe
40ccd1:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
40ccd5:	74 52                	je     0x40cd29
40ccd7:	ff 76 10             	push   0x10(%esi)
40ccda:	ff 15 fc 20 41 00    	call   *0x4120fc
40cce0:	68 88 13 00 00       	push   $0x1388
40cce5:	ff 37                	push   (%edi)
40cce7:	ff 15 e4 20 41 00    	call   *0x4120e4
40cced:	3d 02 01 00 00       	cmp    $0x102,%eax
40ccf2:	75 0a                	jne    0x40ccfe
40ccf4:	6a fe                	push   $0xfffffffe
40ccf6:	ff 37                	push   (%edi)
40ccf8:	ff 15 88 20 41 00    	call   *0x412088
40ccfe:	8b cf                	mov    %edi,%ecx
40cd00:	e8 b8 01 00 00       	call   0x40cebd
40cd05:	8d 4e 10             	lea    0x10(%esi),%ecx
40cd08:	e8 b0 01 00 00       	call   0x40cebd
40cd0d:	8d 4e 04             	lea    0x4(%esi),%ecx
40cd10:	e8 a8 01 00 00       	call   0x40cebd
40cd15:	8d 4e 0c             	lea    0xc(%esi),%ecx
40cd18:	e8 a0 01 00 00       	call   0x40cebd
40cd1d:	8d 4e 08             	lea    0x8(%esi),%ecx
40cd20:	e8 98 01 00 00       	call   0x40cebd
40cd25:	83 66 18 00          	andl   $0x0,0x18(%esi)
40cd29:	5f                   	pop    %edi
40cd2a:	5e                   	pop    %esi
40cd2b:	c3                   	ret
40cd2c:	55                   	push   %ebp
40cd2d:	8b ec                	mov    %esp,%ebp
40cd2f:	83 ec 20             	sub    $0x20,%esp
40cd32:	53                   	push   %ebx
40cd33:	56                   	push   %esi
40cd34:	57                   	push   %edi
40cd35:	b9 50 65 41 00       	mov    $0x416550,%ecx
40cd3a:	e8 7b ff ff ff       	call   0x40ccba
40cd3f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40cd43:	8d 45 e0             	lea    -0x20(%ebp),%eax
40cd46:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40cd4a:	33 f6                	xor    %esi,%esi
40cd4c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cd50:	46                   	inc    %esi
40cd51:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40cd55:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40cd59:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40cd5d:	6a 00                	push   $0x0
40cd5f:	50                   	push   %eax
40cd60:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cd63:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40cd6a:	50                   	push   %eax
40cd6b:	8d 45 f8             	lea    -0x8(%ebp),%eax
40cd6e:	89 75 e8             	mov    %esi,-0x18(%ebp)
40cd71:	50                   	push   %eax
40cd72:	ff 15 f0 20 41 00    	call   *0x4120f0
40cd78:	85 c0                	test   %eax,%eax
40cd7a:	0f 84 f8 00 00 00    	je     0x40ce78
40cd80:	8b 3d e8 20 41 00    	mov    0x4120e8,%edi
40cd86:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cd89:	6a 02                	push   $0x2
40cd8b:	56                   	push   %esi
40cd8c:	6a 00                	push   $0x0
40cd8e:	50                   	push   %eax
40cd8f:	ff d7                	call   *%edi
40cd91:	50                   	push   %eax
40cd92:	ff 75 fc             	push   -0x4(%ebp)
40cd95:	ff d7                	call   *%edi
40cd97:	8b 1d f8 20 41 00    	mov    0x4120f8,%ebx
40cd9d:	50                   	push   %eax
40cd9e:	ff d3                	call   *%ebx
40cda0:	85 c0                	test   %eax,%eax
40cda2:	0f 84 d0 00 00 00    	je     0x40ce78
40cda8:	6a 00                	push   $0x0
40cdaa:	8d 45 e0             	lea    -0x20(%ebp),%eax
40cdad:	50                   	push   %eax
40cdae:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cdb1:	50                   	push   %eax
40cdb2:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cdb5:	50                   	push   %eax
40cdb6:	ff 15 f0 20 41 00    	call   *0x4120f0
40cdbc:	85 c0                	test   %eax,%eax
40cdbe:	0f 84 b4 00 00 00    	je     0x40ce78
40cdc4:	6a 02                	push   $0x2
40cdc6:	6a 00                	push   $0x0
40cdc8:	6a 00                	push   $0x0
40cdca:	68 58 65 41 00       	push   $0x416558
40cdcf:	ff d7                	call   *%edi
40cdd1:	50                   	push   %eax
40cdd2:	ff 75 f8             	push   -0x8(%ebp)
40cdd5:	ff d7                	call   *%edi
40cdd7:	50                   	push   %eax
40cdd8:	ff d3                	call   *%ebx
40cdda:	85 c0                	test   %eax,%eax
40cddc:	0f 84 96 00 00 00    	je     0x40ce78
40cde2:	6a 02                	push   $0x2
40cde4:	6a 00                	push   $0x0
40cde6:	6a 00                	push   $0x0
40cde8:	68 5c 65 41 00       	push   $0x41655c
40cded:	ff d7                	call   *%edi
40cdef:	50                   	push   %eax
40cdf0:	ff 75 f0             	push   -0x10(%ebp)
40cdf3:	ff d7                	call   *%edi
40cdf5:	50                   	push   %eax
40cdf6:	ff d3                	call   *%ebx
40cdf8:	85 c0                	test   %eax,%eax
40cdfa:	74 7c                	je     0x40ce78
40cdfc:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40cdff:	e8 b9 00 00 00       	call   0x40cebd
40ce04:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40ce07:	e8 b1 00 00 00       	call   0x40cebd
40ce0c:	ff 75 f4             	push   -0xc(%ebp)
40ce0f:	8d 45 08             	lea    0x8(%ebp),%eax
40ce12:	ff 75 ec             	push   -0x14(%ebp)
40ce15:	ff 75 fc             	push   -0x4(%ebp)
40ce18:	51                   	push   %ecx
40ce19:	8b cc                	mov    %esp,%ecx
40ce1b:	50                   	push   %eax
40ce1c:	e8 39 66 ff ff       	call   0x40345a
40ce21:	e8 a4 fc ff ff       	call   0x40caca
40ce26:	85 c0                	test   %eax,%eax
40ce28:	74 4e                	je     0x40ce78
40ce2a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40ce2d:	e8 8b 00 00 00       	call   0x40cebd
40ce32:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40ce35:	e8 83 00 00 00       	call   0x40cebd
40ce3a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ce3d:	e8 7b 00 00 00       	call   0x40cebd
40ce42:	6a 00                	push   $0x0
40ce44:	6a 00                	push   $0x0
40ce46:	56                   	push   %esi
40ce47:	6a 00                	push   $0x0
40ce49:	ff 15 04 21 41 00    	call   *0x412104
40ce4f:	68 68 65 41 00       	push   $0x416568
40ce54:	6a 00                	push   $0x0
40ce56:	68 50 65 41 00       	push   $0x416550
40ce5b:	68 63 cb 40 00       	push   $0x40cb63
40ce60:	6a 00                	push   $0x0
40ce62:	6a 00                	push   $0x0
40ce64:	a3 60 65 41 00       	mov    %eax,0x416560
40ce69:	ff 15 8c 20 41 00    	call   *0x41208c
40ce6f:	a3 64 65 41 00       	mov    %eax,0x416564
40ce74:	85 c0                	test   %eax,%eax
40ce76:	75 34                	jne    0x40ceac
40ce78:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40ce7b:	e8 3d 00 00 00       	call   0x40cebd
40ce80:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40ce83:	e8 35 00 00 00       	call   0x40cebd
40ce88:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ce8b:	e8 2d 00 00 00       	call   0x40cebd
40ce90:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40ce93:	e8 25 00 00 00       	call   0x40cebd
40ce98:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40ce9b:	e8 1d 00 00 00       	call   0x40cebd
40cea0:	b9 50 65 41 00       	mov    $0x416550,%ecx
40cea5:	e8 10 fe ff ff       	call   0x40ccba
40ceaa:	33 f6                	xor    %esi,%esi
40ceac:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ceaf:	e8 79 8b ff ff       	call   0x405a2d
40ceb4:	5f                   	pop    %edi
40ceb5:	8b c6                	mov    %esi,%eax
40ceb7:	5e                   	pop    %esi
40ceb8:	5b                   	pop    %ebx
40ceb9:	c9                   	leave
40ceba:	c2 04 00             	ret    $0x4
40cebd:	56                   	push   %esi
40cebe:	8b f1                	mov    %ecx,%esi
40cec0:	83 3e 00             	cmpl   $0x0,(%esi)
40cec3:	74 08                	je     0x40cecd
40cec5:	ff 36                	push   (%esi)
40cec7:	ff 15 00 22 41 00    	call   *0x412200
40cecd:	83 26 00             	andl   $0x0,(%esi)
40ced0:	5e                   	pop    %esi
40ced1:	c3                   	ret
40ced2:	0f 28 05 e0 49 41 00 	movaps 0x4149e0,%xmm0
40ced9:	33 c0                	xor    %eax,%eax
40cedb:	a3 58 65 41 00       	mov    %eax,0x416558
40cee0:	a3 5c 65 41 00       	mov    %eax,0x41655c
40cee5:	a3 54 65 41 00       	mov    %eax,0x416554
40ceea:	b8 50 65 41 00       	mov    $0x416550,%eax
40ceef:	c7 05 50 65 41 00 b4 	movl   $0x413bb4,0x416550
40cef6:	3b 41 00
40cef9:	0f 11 05 60 65 41 00 	movups %xmm0,0x416560
40cf00:	c3                   	ret
40cf01:	55                   	push   %ebp
40cf02:	8b ec                	mov    %esp,%ebp
40cf04:	51                   	push   %ecx
40cf05:	83 3d 5c 65 41 00 00 	cmpl   $0x0,0x41655c
40cf0c:	56                   	push   %esi
40cf0d:	75 04                	jne    0x40cf13
40cf0f:	33 f6                	xor    %esi,%esi
40cf11:	eb 2e                	jmp    0x40cf41
40cf13:	51                   	push   %ecx
40cf14:	8d 4d 08             	lea    0x8(%ebp),%ecx
40cf17:	e8 70 60 ff ff       	call   0x402f8c
40cf1c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cf20:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cf23:	8b 75 08             	mov    0x8(%ebp),%esi
40cf26:	8d 4d 08             	lea    0x8(%ebp),%ecx
40cf29:	6a 00                	push   $0x0
40cf2b:	50                   	push   %eax
40cf2c:	e8 88 5f ff ff       	call   0x402eb9
40cf31:	50                   	push   %eax
40cf32:	56                   	push   %esi
40cf33:	ff 35 5c 65 41 00    	push   0x41655c
40cf39:	ff 15 90 20 41 00    	call   *0x412090
40cf3f:	8b f0                	mov    %eax,%esi
40cf41:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cf44:	e8 e4 8a ff ff       	call   0x405a2d
40cf49:	8b c6                	mov    %esi,%eax
40cf4b:	5e                   	pop    %esi
40cf4c:	c9                   	leave
40cf4d:	c2 04 00             	ret    $0x4
40cf50:	cc                   	int3
40cf51:	cc                   	int3
40cf52:	cc                   	int3
40cf53:	55                   	push   %ebp
40cf54:	8b ec                	mov    %esp,%ebp
40cf56:	83 ec 0c             	sub    $0xc,%esp
40cf59:	8d 45 08             	lea    0x8(%ebp),%eax
40cf5c:	56                   	push   %esi
40cf5d:	51                   	push   %ecx
40cf5e:	51                   	push   %ecx
40cf5f:	8b f1                	mov    %ecx,%esi
40cf61:	8b cc                	mov    %esp,%ecx
40cf63:	50                   	push   %eax
40cf64:	e8 b9 62 ff ff       	call   0x403222
40cf69:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40cf6c:	e8 64 77 ff ff       	call   0x4046d5
40cf71:	8b 4e 20             	mov    0x20(%esi),%ecx
40cf74:	50                   	push   %eax
40cf75:	e8 d9 7b ff ff       	call   0x404b53
40cf7a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40cf7d:	e8 f5 76 ff ff       	call   0x404677
40cf82:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cf85:	e8 a3 8a ff ff       	call   0x405a2d
40cf8a:	5e                   	pop    %esi
40cf8b:	c9                   	leave
40cf8c:	c2 04 00             	ret    $0x4
40cf8f:	55                   	push   %ebp
40cf90:	8b ec                	mov    %esp,%ebp
40cf92:	83 ec 0c             	sub    $0xc,%esp
40cf95:	8d 45 08             	lea    0x8(%ebp),%eax
40cf98:	56                   	push   %esi
40cf99:	51                   	push   %ecx
40cf9a:	51                   	push   %ecx
40cf9b:	8b f1                	mov    %ecx,%esi
40cf9d:	8b cc                	mov    %esp,%ecx
40cf9f:	50                   	push   %eax
40cfa0:	e8 7d 62 ff ff       	call   0x403222
40cfa5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40cfa8:	e8 28 77 ff ff       	call   0x4046d5
40cfad:	8b 4e 20             	mov    0x20(%esi),%ecx
40cfb0:	50                   	push   %eax
40cfb1:	e8 9d 7b ff ff       	call   0x404b53
40cfb6:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40cfb9:	e8 b9 76 ff ff       	call   0x404677
40cfbe:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cfc1:	e8 67 8a ff ff       	call   0x405a2d
40cfc6:	5e                   	pop    %esi
40cfc7:	c9                   	leave
40cfc8:	c2 04 00             	ret    $0x4
40cfcb:	c7 01 b4 3b 41 00    	movl   $0x413bb4,(%ecx)
40cfd1:	c3                   	ret
40cfd2:	a1 74 65 41 00       	mov    0x416574,%eax
40cfd7:	c3                   	ret
40cfd8:	83 25 74 65 41 00 00 	andl   $0x0,0x416574
40cfdf:	b9 50 65 41 00       	mov    $0x416550,%ecx
40cfe4:	e9 d1 fc ff ff       	jmp    0x40ccba
40cfe9:	55                   	push   %ebp
40cfea:	8b ec                	mov    %esp,%ebp
40cfec:	8b 45 08             	mov    0x8(%ebp),%eax
40cfef:	8d 4d 08             	lea    0x8(%ebp),%ecx
40cff2:	6a 25                	push   $0x25
40cff4:	5a                   	pop    %edx
40cff5:	a3 70 65 41 00       	mov    %eax,0x416570
40cffa:	e8 5c 07 00 00       	call   0x40d75b
40cfff:	68 c0 3b 41 00       	push   $0x413bc0
40d004:	8d 4d 08             	lea    0x8(%ebp),%ecx
40d007:	e8 8b 62 ff ff       	call   0x403297
40d00c:	51                   	push   %ecx
40d00d:	8d 45 08             	lea    0x8(%ebp),%eax
40d010:	8b cc                	mov    %esp,%ecx
40d012:	50                   	push   %eax
40d013:	e8 42 64 ff ff       	call   0x40345a
40d018:	e8 0f fd ff ff       	call   0x40cd2c
40d01d:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d020:	c7 05 74 65 41 00 01 	movl   $0x1,0x416574
40d027:	00 00 00
40d02a:	e8 fe 89 ff ff       	call   0x405a2d
40d02f:	5d                   	pop    %ebp
40d030:	c2 04 00             	ret    $0x4
40d033:	e8 9a fe ff ff       	call   0x40ced2
40d038:	83 25 70 65 41 00 00 	andl   $0x0,0x416570
40d03f:	b8 50 65 41 00       	mov    $0x416550,%eax
40d044:	83 25 74 65 41 00 00 	andl   $0x0,0x416574
40d04b:	c7 05 50 65 41 00 d4 	movl   $0x413bd4,0x416550
40d052:	3b 41 00
40d055:	c3                   	ret
40d056:	55                   	push   %ebp
40d057:	8b ec                	mov    %esp,%ebp
40d059:	8b 55 0c             	mov    0xc(%ebp),%edx
40d05c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d05f:	e8 78 03 00 00       	call   0x40d3dc
40d064:	33 c0                	xor    %eax,%eax