414dfe:	51                   	push   %ecx
414dff:	8b d6                	mov    %esi,%edx
414e01:	8b c8                	mov    %eax,%ecx
414e03:	e8 08 02 ff ff       	call   0x405010
414e08:	8b 07                	mov    (%edi),%eax
414e0a:	83 c4 04             	add    $0x4,%esp
414e0d:	8b 55 c8             	mov    -0x38(%ebp),%edx
414e10:	8b 4d c0             	mov    -0x40(%ebp),%ecx
414e13:	89 47 04             	mov    %eax,0x4(%edi)
414e16:	8b 72 10             	mov    0x10(%edx),%esi
414e19:	33 c0                	xor    %eax,%eax
414e1b:	3b c6                	cmp    %esi,%eax
414e1d:	89 4d d0             	mov    %ecx,-0x30(%ebp)
414e20:	1b c0                	sbb    %eax,%eax
414e22:	f7 d8                	neg    %eax
414e24:	48                   	dec    %eax
414e25:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
414e29:	89 45 c4             	mov    %eax,-0x3c(%ebp)
414e2c:	72 05                	jb     0x414e33
414e2e:	8b 01                	mov    (%ecx),%eax
414e30:	89 45 d0             	mov    %eax,-0x30(%ebp)
414e33:	8b 42 14             	mov    0x14(%edx),%eax
414e36:	89 55 d4             	mov    %edx,-0x2c(%ebp)
414e39:	89 45 cc             	mov    %eax,-0x34(%ebp)
414e3c:	83 f8 08             	cmp    $0x8,%eax
414e3f:	72 04                	jb     0x414e45
414e41:	8b 02                	mov    (%edx),%eax
414e43:	eb 03                	jmp    0x414e48
414e45:	8b 45 d4             	mov    -0x2c(%ebp),%eax
414e48:	ff 71 10             	push   0x10(%ecx)
414e4b:	8b d6                	mov    %esi,%edx
414e4d:	8b c8                	mov    %eax,%ecx
414e4f:	ff 75 d0             	push   -0x30(%ebp)
414e52:	6a 00                	push   $0x0
414e54:	e8 97 02 ff ff       	call   0x4050f0
414e59:	8b c8                	mov    %eax,%ecx
414e5b:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
414e62:	83 c4 0c             	add    $0xc,%esp
414e65:	89 4d d0             	mov    %ecx,-0x30(%ebp)
414e68:	33 c0                	xor    %eax,%eax
414e6a:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
414e71:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
414e78:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
414e7c:	89 45 fc             	mov    %eax,-0x4(%ebp)
414e7f:	83 f9 ff             	cmp    $0xffffffff,%ecx
414e82:	0f 84 fa 00 00 00    	je     0x414f82
414e88:	8b 45 c4             	mov    -0x3c(%ebp),%eax
414e8b:	8b 55 cc             	mov    -0x34(%ebp),%edx
414e8e:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
414e95:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
414e9c:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
414ea3:	3b f0                	cmp    %eax,%esi
414ea5:	0f 82 f8 01 00 00    	jb     0x4150a3
414eab:	2b f0                	sub    %eax,%esi
414ead:	2b c8                	sub    %eax,%ecx
414eaf:	3b f1                	cmp    %ecx,%esi
414eb1:	0f 42 ce             	cmovb  %esi,%ecx
414eb4:	8b 75 c8             	mov    -0x38(%ebp),%esi
414eb7:	83 fa 08             	cmp    $0x8,%edx
414eba:	72 04                	jb     0x414ec0
414ebc:	8b 16                	mov    (%esi),%edx
414ebe:	eb 02                	jmp    0x414ec2
414ec0:	8b d6                	mov    %esi,%edx
414ec2:	51                   	push   %ecx
414ec3:	8d 04 42             	lea    (%edx,%eax,2),%eax
414ec6:	50                   	push   %eax
414ec7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
414eca:	e8 31 e1 fe ff       	call   0x403000
414ecf:	8b 45 ec             	mov    -0x14(%ebp),%eax
414ed2:	83 f8 08             	cmp    $0x8,%eax
414ed5:	72 32                	jb     0x414f09
414ed7:	8b 55 d8             	mov    -0x28(%ebp),%edx
414eda:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
414ee1:	8b c2                	mov    %edx,%eax
414ee3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
414ee9:	72 14                	jb     0x414eff
414eeb:	8b 50 fc             	mov    -0x4(%eax),%edx
414eee:	83 c1 23             	add    $0x23,%ecx
414ef1:	2b c2                	sub    %edx,%eax
414ef3:	83 c0 fc             	add    $0xfffffffc,%eax
414ef6:	83 f8 1f             	cmp    $0x1f,%eax
414ef9:	0f 87 a9 01 00 00    	ja     0x4150a8
414eff:	51                   	push   %ecx
414f00:	52                   	push   %edx
414f01:	e8 b2 4c 00 00       	call   0x419bb8
414f06:	83 c4 08             	add    $0x8,%esp
414f09:	0f 10 45 a8          	movups -0x58(%ebp),%xmm0
414f0d:	8b 47 04             	mov    0x4(%edi),%eax
414f10:	8d 4d d8             	lea    -0x28(%ebp),%ecx
414f13:	51                   	push   %ecx
414f14:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
414f18:	f3 0f 7e 45 b8       	movq   -0x48(%ebp),%xmm0
414f1d:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
414f22:	3b 47 08             	cmp    0x8(%edi),%eax
414f25:	74 0d                	je     0x414f34
414f27:	8b c8                	mov    %eax,%ecx
414f29:	e8 92 e3 fe ff       	call   0x4032c0
414f2e:	83 47 04 18          	addl   $0x18,0x4(%edi)
414f32:	eb 08                	jmp    0x414f3c
414f34:	50                   	push   %eax
414f35:	8b cf                	mov    %edi,%ecx
414f37:	e8 f4 05 ff ff       	call   0x405530
414f3c:	8b 4d c0             	mov    -0x40(%ebp),%ecx
414f3f:	8b d1                	mov    %ecx,%edx
414f41:	8b 41 10             	mov    0x10(%ecx),%eax
414f44:	89 45 d4             	mov    %eax,-0x2c(%ebp)
414f47:	03 45 d0             	add    -0x30(%ebp),%eax
414f4a:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
414f4e:	89 45 c4             	mov    %eax,-0x3c(%ebp)
414f51:	72 02                	jb     0x414f55
414f53:	8b 11                	mov    (%ecx),%edx
414f55:	8b 4e 14             	mov    0x14(%esi),%ecx
414f58:	89 4d cc             	mov    %ecx,-0x34(%ebp)
414f5b:	83 f9 08             	cmp    $0x8,%ecx
414f5e:	72 04                	jb     0x414f64
414f60:	8b 0e                	mov    (%esi),%ecx
414f62:	eb 02                	jmp    0x414f66
414f64:	8b ce                	mov    %esi,%ecx
414f66:	ff 75 d4             	push   -0x2c(%ebp)
414f69:	8b 76 10             	mov    0x10(%esi),%esi
414f6c:	52                   	push   %edx
414f6d:	50                   	push   %eax
414f6e:	8b d6                	mov    %esi,%edx
414f70:	e8 7b 01 ff ff       	call   0x4050f0
414f75:	8b c8                	mov    %eax,%ecx
414f77:	83 c4 0c             	add    $0xc,%esp
414f7a:	89 4d d0             	mov    %ecx,-0x30(%ebp)
414f7d:	e9 fd fe ff ff       	jmp    0x414e7f
414f82:	85 f6                	test   %esi,%esi
414f84:	0f 84 b0 00 00 00    	je     0x41503a
414f8a:	8b 45 c4             	mov    -0x3c(%ebp),%eax
414f8d:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
414f94:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
414f9b:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
414fa2:	3b f0                	cmp    %eax,%esi
414fa4:	0f 82 f9 00 00 00    	jb     0x4150a3
414faa:	8b 4d c8             	mov    -0x38(%ebp),%ecx
414fad:	2b f0                	sub    %eax,%esi
414faf:	83 ca ff             	or     $0xffffffff,%edx
414fb2:	83 fe ff             	cmp    $0xffffffff,%esi
414fb5:	0f 42 d6             	cmovb  %esi,%edx
414fb8:	83 7d cc 08          	cmpl   $0x8,-0x34(%ebp)
414fbc:	72 02                	jb     0x414fc0
414fbe:	8b 09                	mov    (%ecx),%ecx
414fc0:	8d 04 41             	lea    (%ecx,%eax,2),%eax
414fc3:	52                   	push   %edx
414fc4:	50                   	push   %eax
414fc5:	8d 4d a8             	lea    -0x58(%ebp),%ecx
414fc8:	e8 33 e0 fe ff       	call   0x403000
414fcd:	8b 45 ec             	mov    -0x14(%ebp),%eax
414fd0:	83 f8 08             	cmp    $0x8,%eax
414fd3:	72 32                	jb     0x415007
414fd5:	8b 55 d8             	mov    -0x28(%ebp),%edx
414fd8:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
414fdf:	8b c2                	mov    %edx,%eax
414fe1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
414fe7:	72 14                	jb     0x414ffd
414fe9:	8b 50 fc             	mov    -0x4(%eax),%edx
414fec:	83 c1 23             	add    $0x23,%ecx
414fef:	2b c2                	sub    %edx,%eax
414ff1:	83 c0 fc             	add    $0xfffffffc,%eax
414ff4:	83 f8 1f             	cmp    $0x1f,%eax
414ff7:	0f 87 ab 00 00 00    	ja     0x4150a8
414ffd:	51                   	push   %ecx
414ffe:	52                   	push   %edx
414fff:	e8 b4 4b 00 00       	call   0x419bb8
415004:	83 c4 08             	add    $0x8,%esp
415007:	0f 10 45 a8          	movups -0x58(%ebp),%xmm0
41500b:	8b 47 04             	mov    0x4(%edi),%eax
41500e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
415011:	51                   	push   %ecx
415012:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
415016:	f3 0f 7e 45 b8       	movq   -0x48(%ebp),%xmm0
41501b:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
415020:	3b 47 08             	cmp    0x8(%edi),%eax
415023:	74 0d                	je     0x415032
415025:	8b c8                	mov    %eax,%ecx
415027:	e8 94 e2 fe ff       	call   0x4032c0
41502c:	83 47 04 18          	addl   $0x18,0x4(%edi)
415030:	eb 08                	jmp    0x41503a
415032:	50                   	push   %eax
415033:	8b cf                	mov    %edi,%ecx
415035:	e8 f6 04 ff ff       	call   0x405530
41503a:	8b 4f 04             	mov    0x4(%edi),%ecx
41503d:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
415042:	2b 0f                	sub    (%edi),%ecx
415044:	f7 e9                	imul   %ecx
415046:	8b 45 ec             	mov    -0x14(%ebp),%eax
415049:	c1 fa 02             	sar    $0x2,%edx
41504c:	8b f2                	mov    %edx,%esi
41504e:	c1 ee 1f             	shr    $0x1f,%esi
415051:	03 f2                	add    %edx,%esi
415053:	83 f8 08             	cmp    $0x8,%eax
415056:	72 2e                	jb     0x415086
415058:	8b 55 d8             	mov    -0x28(%ebp),%edx
41505b:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
415062:	8b c2                	mov    %edx,%eax
415064:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41506a:	72 10                	jb     0x41507c
41506c:	8b 50 fc             	mov    -0x4(%eax),%edx
41506f:	83 c1 23             	add    $0x23,%ecx
415072:	2b c2                	sub    %edx,%eax
415074:	83 c0 fc             	add    $0xfffffffc,%eax
415077:	83 f8 1f             	cmp    $0x1f,%eax
41507a:	77 2c                	ja     0x4150a8
41507c:	51                   	push   %ecx
41507d:	52                   	push   %edx
41507e:	e8 35 4b 00 00       	call   0x419bb8
415083:	83 c4 08             	add    $0x8,%esp
415086:	8b c6                	mov    %esi,%eax
415088:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41508b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
415092:	59                   	pop    %ecx
415093:	5f                   	pop    %edi
415094:	5e                   	pop    %esi
415095:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415098:	33 cd                	xor    %ebp,%ecx
41509a:	e8 0b 4b 00 00       	call   0x419baa
41509f:	8b e5                	mov    %ebp,%esp
4150a1:	5d                   	pop    %ebp
4150a2:	c3                   	ret
4150a3:	e8 58 ff fe ff       	call   0x405000
4150a8:	e8 e6 a8 00 00       	call   0x41f993
4150ad:	cc                   	int3
4150ae:	cc                   	int3
4150af:	cc                   	int3
4150b0:	55                   	push   %ebp
4150b1:	8b ec                	mov    %esp,%ebp
4150b3:	56                   	push   %esi
4150b4:	8b f1                	mov    %ecx,%esi
4150b6:	0f 57 c0             	xorps  %xmm0,%xmm0
4150b9:	8d 46 04             	lea    0x4(%esi),%eax
4150bc:	50                   	push   %eax
4150bd:	c7 06 e4 e8 43 00    	movl   $0x43e8e4,(%esi)
4150c3:	66 0f d6 00          	movq   %xmm0,(%eax)
4150c7:	8b 45 08             	mov    0x8(%ebp),%eax
4150ca:	83 c0 04             	add    $0x4,%eax
4150cd:	50                   	push   %eax
4150ce:	e8 eb 61 00 00       	call   0x41b2be
4150d3:	83 c4 08             	add    $0x8,%esp
4150d6:	c7 06 fc e8 43 00    	movl   $0x43e8fc,(%esi)
4150dc:	8b c6                	mov    %esi,%eax
4150de:	5e                   	pop    %esi
4150df:	5d                   	pop    %ebp
4150e0:	c2 04 00             	ret    $0x4
4150e3:	cc                   	int3
4150e4:	cc                   	int3
4150e5:	cc                   	int3
4150e6:	cc                   	int3
4150e7:	cc                   	int3
4150e8:	cc                   	int3
4150e9:	cc                   	int3
4150ea:	cc                   	int3
4150eb:	cc                   	int3
4150ec:	cc                   	int3
4150ed:	cc                   	int3
4150ee:	cc                   	int3
4150ef:	cc                   	int3
4150f0:	55                   	push   %ebp
4150f1:	8b ec                	mov    %esp,%ebp
4150f3:	6a ff                	push   $0xffffffff
4150f5:	68 3d cb 43 00       	push   $0x43cb3d
4150fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
415100:	50                   	push   %eax
415101:	81 ec 80 00 00 00    	sub    $0x80,%esp
415107:	a1 14 50 45 00       	mov    0x455014,%eax
41510c:	33 c5                	xor    %ebp,%eax
41510e:	89 45 f0             	mov    %eax,-0x10(%ebp)
415111:	53                   	push   %ebx
415112:	56                   	push   %esi
415113:	57                   	push   %edi
415114:	50                   	push   %eax
415115:	8d 45 f4             	lea    -0xc(%ebp),%eax
415118:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41511e:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
415124:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
415128:	c7 45 84 10 00 00 00 	movl   $0x10,-0x7c(%ebp)
41512f:	72 02                	jb     0x415133
415131:	8b 09                	mov    (%ecx),%ecx
415133:	8d 45 84             	lea    -0x7c(%ebp),%eax
415136:	89 4d 88             	mov    %ecx,-0x78(%ebp)
415139:	89 45 ac             	mov    %eax,-0x54(%ebp)
41513c:	8d 45 94             	lea    -0x6c(%ebp),%eax
41513f:	50                   	push   %eax
415140:	8d 45 e0             	lea    -0x20(%ebp),%eax
415143:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
41514a:	50                   	push   %eax
41514b:	6a ff                	push   $0xffffffff
41514d:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
415154:	c7 45 e0 6b c5 aa 00 	movl   $0xaac56b,-0x20(%ebp)
41515b:	c7 45 e4 44 cd d0 11 	movl   $0x11d0cd44,-0x1c(%ebp)
415162:	c7 45 e8 8c c2 00 c0 	movl   $0xc000c28c,-0x18(%ebp)
415169:	c7 45 ec 4f c2 95 ee 	movl   $0xee95c24f,-0x14(%ebp)
415170:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
415177:	c7 45 94 34 00 00 00 	movl   $0x34,-0x6c(%ebp)
41517e:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
415185:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
41518c:	c7 45 a0 02 00 00 00 	movl   $0x2,-0x60(%ebp)
415193:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
41519a:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
4151a1:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
4151a8:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
4151af:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
4151b6:	c7 45 bc 00 01 00 00 	movl   $0x100,-0x44(%ebp)
4151bd:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4151c4:	ff 15 48 e2 43 00    	call   *0x43e248
4151ca:	85 c0                	test   %eax,%eax
4151cc:	0f 85 5d 01 00 00    	jne    0x41532f
4151d2:	ff 75 b4             	push   -0x4c(%ebp)
4151d5:	ff 15 50 e2 43 00    	call   *0x43e250
4151db:	85 c0                	test   %eax,%eax
4151dd:	0f 84 4c 01 00 00    	je     0x41532f
4151e3:	6a 00                	push   $0x0
4151e5:	6a 00                	push   $0x0
4151e7:	6a 00                	push   $0x0
4151e9:	50                   	push   %eax
4151ea:	ff 15 54 e2 43 00    	call   *0x43e254
4151f0:	8b d8                	mov    %eax,%ebx
4151f2:	89 5d 80             	mov    %ebx,-0x80(%ebp)
4151f5:	85 db                	test   %ebx,%ebx
4151f7:	0f 84 32 01 00 00    	je     0x41532f
4151fd:	33 ff                	xor    %edi,%edi
4151ff:	39 7b 0c             	cmp    %edi,0xc(%ebx)
415202:	0f 86 27 01 00 00    	jbe    0x41532f
415208:	57                   	push   %edi
415209:	53                   	push   %ebx
41520a:	ff 15 4c e2 43 00    	call   *0x43e24c
415210:	85 c0                	test   %eax,%eax
415212:	0f 84 0d 01 00 00    	je     0x415325
415218:	be 07 00 00 00       	mov    $0x7,%esi
41521d:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
415224:	33 c9                	xor    %ecx,%ecx
415226:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
41522d:	89 75 dc             	mov    %esi,-0x24(%ebp)
415230:	66 89 4d c8          	mov    %cx,-0x38(%ebp)
415234:	51                   	push   %ecx
415235:	51                   	push   %ecx
415236:	51                   	push   %ecx
415237:	51                   	push   %ecx
415238:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41523b:	8b 40 04             	mov    0x4(%eax),%eax
41523e:	6a 04                	push   $0x4
415240:	50                   	push   %eax
415241:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
415247:	ff 15 34 e0 43 00    	call   *0x43e034
41524d:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
415253:	83 f8 01             	cmp    $0x1,%eax
415256:	0f 86 8f 00 00 00    	jbe    0x4152eb
41525c:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
41525f:	51                   	push   %ecx