40cdd4:	8b 07                	mov    (%edi),%eax
40cdd6:	8b 70 04             	mov    0x4(%eax),%esi
40cdd9:	8b ce                	mov    %esi,%ecx
40cddb:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40cde1:	8b cf                	mov    %edi,%ecx
40cde3:	ff d6                	call   *%esi
40cde5:	5f                   	pop    %edi
40cde6:	5e                   	pop    %esi
40cde7:	c2 04 00             	ret    $0x4
40cdea:	cc                   	int3
40cdeb:	cc                   	int3
40cdec:	cc                   	int3
40cded:	cc                   	int3
40cdee:	cc                   	int3
40cdef:	cc                   	int3
40cdf0:	55                   	push   %ebp
40cdf1:	8b ec                	mov    %esp,%ebp
40cdf3:	6a ff                	push   $0xffffffff
40cdf5:	68 4d 81 49 00       	push   $0x49814d
40cdfa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ce00:	50                   	push   %eax
40ce01:	83 ec 40             	sub    $0x40,%esp
40ce04:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40ce09:	33 c5                	xor    %ebp,%eax
40ce0b:	50                   	push   %eax
40ce0c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ce0f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ce15:	68 a4 16 4b 00       	push   $0x4b16a4
40ce1a:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ce1d:	e8 1e e2 ff ff       	call   0x40b040
40ce22:	8d 45 dc             	lea    -0x24(%ebp),%eax
40ce25:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40ce2c:	50                   	push   %eax
40ce2d:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40ce30:	e8 db f0 ff ff       	call   0x40bf10
40ce35:	68 50 1d 4c 00       	push   $0x4c1d50
40ce3a:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40ce3d:	50                   	push   %eax
40ce3e:	e8 6b e7 05 00       	call   0x46b5ae
40ce43:	cc                   	int3
40ce44:	cc                   	int3
40ce45:	cc                   	int3
40ce46:	cc                   	int3
40ce47:	cc                   	int3
40ce48:	cc                   	int3
40ce49:	cc                   	int3
40ce4a:	cc                   	int3
40ce4b:	cc                   	int3
40ce4c:	cc                   	int3
40ce4d:	cc                   	int3
40ce4e:	cc                   	int3
40ce4f:	cc                   	int3
40ce50:	55                   	push   %ebp
40ce51:	8b ec                	mov    %esp,%ebp
40ce53:	6a ff                	push   $0xffffffff
40ce55:	68 4d 81 49 00       	push   $0x49814d
40ce5a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ce60:	50                   	push   %eax
40ce61:	83 ec 40             	sub    $0x40,%esp
40ce64:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40ce69:	33 c5                	xor    %ebp,%eax
40ce6b:	50                   	push   %eax
40ce6c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ce6f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ce75:	68 e0 16 4b 00       	push   $0x4b16e0
40ce7a:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ce7d:	e8 be e1 ff ff       	call   0x40b040
40ce82:	8d 45 dc             	lea    -0x24(%ebp),%eax
40ce85:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40ce8c:	50                   	push   %eax
40ce8d:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40ce90:	e8 7b f0 ff ff       	call   0x40bf10
40ce95:	68 50 1d 4c 00       	push   $0x4c1d50
40ce9a:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40ce9d:	50                   	push   %eax
40ce9e:	e8 0b e7 05 00       	call   0x46b5ae
40cea3:	cc                   	int3
40cea4:	cc                   	int3
40cea5:	cc                   	int3
40cea6:	cc                   	int3
40cea7:	cc                   	int3
40cea8:	cc                   	int3
40cea9:	cc                   	int3
40ceaa:	cc                   	int3
40ceab:	cc                   	int3
40ceac:	cc                   	int3
40cead:	cc                   	int3
40ceae:	cc                   	int3
40ceaf:	cc                   	int3
40ceb0:	55                   	push   %ebp
40ceb1:	8b ec                	mov    %esp,%ebp
40ceb3:	56                   	push   %esi
40ceb4:	57                   	push   %edi
40ceb5:	ff 75 08             	push   0x8(%ebp)
40ceb8:	8b f9                	mov    %ecx,%edi
40ceba:	8b 07                	mov    (%edi),%eax
40cebc:	8b 70 08             	mov    0x8(%eax),%esi
40cebf:	8b ce                	mov    %esi,%ecx
40cec1:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40cec7:	8b cf                	mov    %edi,%ecx
40cec9:	ff d6                	call   *%esi
40cecb:	5f                   	pop    %edi
40cecc:	5e                   	pop    %esi
40cecd:	5d                   	pop    %ebp
40cece:	c2 04 00             	ret    $0x4
40ced1:	cc                   	int3
40ced2:	cc                   	int3
40ced3:	cc                   	int3
40ced4:	cc                   	int3
40ced5:	cc                   	int3
40ced6:	cc                   	int3
40ced7:	cc                   	int3
40ced8:	cc                   	int3
40ced9:	cc                   	int3
40ceda:	cc                   	int3
40cedb:	cc                   	int3
40cedc:	cc                   	int3
40cedd:	cc                   	int3
40cede:	cc                   	int3
40cedf:	cc                   	int3
40cee0:	55                   	push   %ebp
40cee1:	8b ec                	mov    %esp,%ebp
40cee3:	56                   	push   %esi
40cee4:	57                   	push   %edi
40cee5:	ff 75 08             	push   0x8(%ebp)
40cee8:	8b f9                	mov    %ecx,%edi
40ceea:	8b 07                	mov    (%edi),%eax
40ceec:	c6 47 10 00          	movb   $0x0,0x10(%edi)
40cef0:	8b b0 b0 00 00 00    	mov    0xb0(%eax),%esi
40cef6:	8b ce                	mov    %esi,%ecx
40cef8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40cefe:	8b cf                	mov    %edi,%ecx
40cf00:	ff d6                	call   *%esi
40cf02:	5f                   	pop    %edi
40cf03:	5e                   	pop    %esi
40cf04:	5d                   	pop    %ebp
40cf05:	c2 04 00             	ret    $0x4
40cf08:	cc                   	int3
40cf09:	cc                   	int3
40cf0a:	cc                   	int3
40cf0b:	cc                   	int3
40cf0c:	cc                   	int3
40cf0d:	cc                   	int3
40cf0e:	cc                   	int3
40cf0f:	cc                   	int3
40cf10:	33 c0                	xor    %eax,%eax
40cf12:	38 41 10             	cmp    %al,0x10(%ecx)
40cf15:	0f 94 c0             	sete   %al
40cf18:	c3                   	ret
40cf19:	cc                   	int3
40cf1a:	cc                   	int3
40cf1b:	cc                   	int3
40cf1c:	cc                   	int3
40cf1d:	cc                   	int3
40cf1e:	cc                   	int3
40cf1f:	cc                   	int3
40cf20:	55                   	push   %ebp
40cf21:	8b ec                	mov    %esp,%ebp
40cf23:	8b 45 0c             	mov    0xc(%ebp),%eax
40cf26:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40cf2c:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
40cf33:	33 c0                	xor    %eax,%eax
40cf35:	5d                   	pop    %ebp
40cf36:	c2 10 00             	ret    $0x10
40cf39:	cc                   	int3
40cf3a:	cc                   	int3
40cf3b:	cc                   	int3
40cf3c:	cc                   	int3
40cf3d:	cc                   	int3
40cf3e:	cc                   	int3
40cf3f:	cc                   	int3
40cf40:	33 c0                	xor    %eax,%eax
40cf42:	c2 18 00             	ret    $0x18
40cf45:	cc                   	int3
40cf46:	cc                   	int3
40cf47:	cc                   	int3
40cf48:	cc                   	int3
40cf49:	cc                   	int3
40cf4a:	cc                   	int3
40cf4b:	cc                   	int3
40cf4c:	cc                   	int3
40cf4d:	cc                   	int3
40cf4e:	cc                   	int3
40cf4f:	cc                   	int3
40cf50:	55                   	push   %ebp
40cf51:	8b ec                	mov    %esp,%ebp
40cf53:	83 ec 08             	sub    $0x8,%esp
40cf56:	8b d1                	mov    %ecx,%edx
40cf58:	0f 57 c0             	xorps  %xmm0,%xmm0
40cf5b:	56                   	push   %esi
40cf5c:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
40cf61:	8b 75 fc             	mov    -0x4(%ebp),%esi
40cf64:	8b 42 14             	mov    0x14(%edx),%eax
40cf67:	57                   	push   %edi
40cf68:	8b 7d f8             	mov    -0x8(%ebp),%edi
40cf6b:	85 c0                	test   %eax,%eax
40cf6d:	74 12                	je     0x40cf81
40cf6f:	90                   	nop
40cf70:	8b 48 14             	mov    0x14(%eax),%ecx
40cf73:	2b 48 10             	sub    0x10(%eax),%ecx
40cf76:	8b 00                	mov    (%eax),%eax
40cf78:	03 f9                	add    %ecx,%edi
40cf7a:	83 d6 00             	adc    $0x0,%esi
40cf7d:	85 c0                	test   %eax,%eax
40cf7f:	75 ef                	jne    0x40cf70
40cf81:	8b 42 20             	mov    0x20(%edx),%eax
40cf84:	33 d2                	xor    %edx,%edx
40cf86:	03 c7                	add    %edi,%eax
40cf88:	5f                   	pop    %edi
40cf89:	13 d6                	adc    %esi,%edx
40cf8b:	5e                   	pop    %esi
40cf8c:	8b e5                	mov    %ebp,%esp
40cf8e:	5d                   	pop    %ebp
40cf8f:	c3                   	ret
40cf90:	53                   	push   %ebx
40cf91:	8b dc                	mov    %esp,%ebx
40cf93:	83 ec 08             	sub    $0x8,%esp
40cf96:	83 e4 f8             	and    $0xfffffff8,%esp
40cf99:	83 c4 04             	add    $0x4,%esp
40cf9c:	55                   	push   %ebp
40cf9d:	8b 6b 04             	mov    0x4(%ebx),%ebp
40cfa0:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40cfa4:	8b ec                	mov    %esp,%ebp
40cfa6:	6a ff                	push   $0xffffffff
40cfa8:	68 c5 81 49 00       	push   $0x4981c5
40cfad:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40cfb3:	50                   	push   %eax
40cfb4:	53                   	push   %ebx
40cfb5:	83 ec 50             	sub    $0x50,%esp
40cfb8:	56                   	push   %esi
40cfb9:	57                   	push   %edi
40cfba:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40cfbf:	33 c5                	xor    %ebp,%eax
40cfc1:	50                   	push   %eax
40cfc2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cfc5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40cfcb:	8b f9                	mov    %ecx,%edi
40cfcd:	89 7d ec             	mov    %edi,-0x14(%ebp)
40cfd0:	8b 73 08             	mov    0x8(%ebx),%esi
40cfd3:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40cfd6:	89 7d b8             	mov    %edi,-0x48(%ebp)
40cfd9:	6a 24                	push   $0x24
40cfdb:	68 2c 17 4b 00       	push   $0x4b172c
40cfe0:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40cfe7:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40cfee:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40cff5:	e8 86 e0 ff ff       	call   0x40b080
40cffa:	56                   	push   %esi
40cffb:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40cffe:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40d005:	e8 96 35 00 00       	call   0x4105a0
40d00a:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40d011:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40d018:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40d01f:	0f 10 00             	movups (%eax),%xmm0
40d022:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
40d026:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
40d02b:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
40d030:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
40d037:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
40d03e:	c6 00 00             	movb   $0x0,(%eax)
40d041:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d045:	8b 55 e8             	mov    -0x18(%ebp),%edx
40d048:	8b c2                	mov    %edx,%eax
40d04a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40d04d:	2b c1                	sub    %ecx,%eax
40d04f:	6a 0a                	push   $0xa
40d051:	68 20 17 4b 00       	push   $0x4b1720
40d056:	83 f8 0a             	cmp    $0xa,%eax
40d059:	72 24                	jb     0x40d07f
40d05b:	83 fa 10             	cmp    $0x10,%edx
40d05e:	8d 75 d4             	lea    -0x2c(%ebp),%esi
40d061:	8d 41 0a             	lea    0xa(%ecx),%eax
40d064:	0f 43 75 d4          	cmovae -0x2c(%ebp),%esi
40d068:	03 f1                	add    %ecx,%esi
40d06a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40d06d:	56                   	push   %esi
40d06e:	e8 ad e5 05 00       	call   0x46b620
40d073:	83 c4 0c             	add    $0xc,%esp
40d076:	c6 46 0a 00          	movb   $0x0,0xa(%esi)
40d07a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40d07d:	eb 11                	jmp    0x40d090
40d07f:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
40d083:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40d086:	ff 75 ec             	push   -0x14(%ebp)
40d089:	6a 0a                	push   $0xa
40d08b:	e8 70 4d 00 00       	call   0x411e00
40d090:	0f 10 00             	movups (%eax),%xmm0
40d093:	0f 11 45 a0          	movups %xmm0,-0x60(%ebp)
40d097:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
40d09c:	66 0f d6 45 b0       	movq   %xmm0,-0x50(%ebp)
40d0a1:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
40d0a8:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
40d0af:	c6 00 00             	movb   $0x0,(%eax)
40d0b2:	0f 57 c0             	xorps  %xmm0,%xmm0
40d0b5:	66 0f d6 47 04       	movq   %xmm0,0x4(%edi)
40d0ba:	8d 45 a0             	lea    -0x60(%ebp),%eax
40d0bd:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40d0c1:	50                   	push   %eax
40d0c2:	8d 4f 10             	lea    0x10(%edi),%ecx
40d0c5:	c7 07 b4 1b 4b 00    	movl   $0x4b1bb4,(%edi)
40d0cb:	c7 47 0c 06 00 00 00 	movl   $0x6,0xc(%edi)
40d0d2:	e8 49 66 ff ff       	call   0x403720
40d0d7:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
40d0da:	83 f9 10             	cmp    $0x10,%ecx
40d0dd:	72 2c                	jb     0x40d10b
40d0df:	8b 55 a0             	mov    -0x60(%ebp),%edx
40d0e2:	41                   	inc    %ecx
40d0e3:	8b c2                	mov    %edx,%eax
40d0e5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40d0eb:	72 14                	jb     0x40d101
40d0ed:	8b 50 fc             	mov    -0x4(%eax),%edx
40d0f0:	83 c1 23             	add    $0x23,%ecx
40d0f3:	2b c2                	sub    %edx,%eax
40d0f5:	83 c0 fc             	add    $0xfffffffc,%eax
40d0f8:	83 f8 1f             	cmp    $0x1f,%eax
40d0fb:	0f 87 9a 00 00 00    	ja     0x40d19b
40d101:	51                   	push   %ecx
40d102:	52                   	push   %edx
40d103:	e8 00 c9 05 00       	call   0x469a08
40d108:	83 c4 08             	add    $0x8,%esp
40d10b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40d10e:	83 f9 10             	cmp    $0x10,%ecx
40d111:	72 28                	jb     0x40d13b
40d113:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40d116:	41                   	inc    %ecx
40d117:	8b c2                	mov    %edx,%eax
40d119:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40d11f:	72 10                	jb     0x40d131
40d121:	8b 50 fc             	mov    -0x4(%eax),%edx
40d124:	83 c1 23             	add    $0x23,%ecx
40d127:	2b c2                	sub    %edx,%eax
40d129:	83 c0 fc             	add    $0xfffffffc,%eax
40d12c:	83 f8 1f             	cmp    $0x1f,%eax
40d12f:	77 6a                	ja     0x40d19b
40d131:	51                   	push   %ecx
40d132:	52                   	push   %edx
40d133:	e8 d0 c8 05 00       	call   0x469a08
40d138:	83 c4 08             	add    $0x8,%esp
40d13b:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40d13e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40d145:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
40d14c:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
40d150:	83 f9 10             	cmp    $0x10,%ecx
40d153:	72 28                	jb     0x40d17d
40d155:	8b 55 bc             	mov    -0x44(%ebp),%edx
40d158:	41                   	inc    %ecx
40d159:	8b c2                	mov    %edx,%eax
40d15b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40d161:	72 10                	jb     0x40d173