45aff6:	39 7d 98             	cmp    %edi,-0x68(%ebp)
45aff9:	75 04                	jne    0x45afff
45affb:	b0 01                	mov    $0x1,%al
45affd:	eb 02                	jmp    0x45b001
45afff:	32 c0                	xor    %al,%al
45b001:	8b 7d a4             	mov    -0x5c(%ebp),%edi
45b004:	88 03                	mov    %al,(%ebx)
45b006:	8b 07                	mov    (%edi),%eax
45b008:	8b 70 34             	mov    0x34(%eax),%esi
45b00b:	8b ce                	mov    %esi,%ecx
45b00d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b013:	8b cf                	mov    %edi,%ecx
45b015:	ff d6                	call   *%esi
45b017:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
45b01a:	8b f8                	mov    %eax,%edi
45b01c:	8b 45 90             	mov    -0x70(%ebp),%eax
45b01f:	6a 01                	push   $0x1
45b021:	51                   	push   %ecx
45b022:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
45b028:	8b 37                	mov    (%edi),%esi
45b02a:	2b c1                	sub    %ecx,%eax
45b02c:	2b 45 94             	sub    -0x6c(%ebp),%eax
45b02f:	50                   	push   %eax
45b030:	ff 75 a0             	push   -0x60(%ebp)
45b033:	8b 76 04             	mov    0x4(%esi),%esi
45b036:	8b ce                	mov    %esi,%ecx
45b038:	ff 75 8c             	push   -0x74(%ebp)
45b03b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b041:	8b cf                	mov    %edi,%ecx
45b043:	ff d6                	call   *%esi
45b045:	8b 4d 20             	mov    0x20(%ebp),%ecx
45b048:	8b 7d a0             	mov    -0x60(%ebp),%edi
45b04b:	83 e1 07             	and    $0x7,%ecx
45b04e:	89 4d 98             	mov    %ecx,-0x68(%ebp)
45b051:	74 08                	je     0x45b05b
45b053:	b2 01                	mov    $0x1,%dl
45b055:	d2 e2                	shl    %cl,%dl
45b057:	fe ca                	dec    %dl
45b059:	20 17                	and    %dl,(%edi)
45b05b:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
45b05e:	8b c7                	mov    %edi,%eax
45b060:	2b 85 7c ff ff ff    	sub    -0x84(%ebp),%eax
45b066:	8b f7                	mov    %edi,%esi
45b068:	2b c1                	sub    %ecx,%eax
45b06a:	2b 45 94             	sub    -0x6c(%ebp),%eax
45b06d:	03 45 90             	add    -0x70(%ebp),%eax
45b070:	89 45 84             	mov    %eax,-0x7c(%ebp)
45b073:	8d 50 ff             	lea    -0x1(%eax),%edx
45b076:	3b fa                	cmp    %edx,%edi
45b078:	74 10                	je     0x45b08a
45b07a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
45b080:	80 3e 00             	cmpb   $0x0,(%esi)
45b083:	75 05                	jne    0x45b08a
45b085:	46                   	inc    %esi
45b086:	3b f2                	cmp    %edx,%esi
45b088:	75 f6                	jne    0x45b080
45b08a:	2b c6                	sub    %esi,%eax
45b08c:	48                   	dec    %eax
45b08d:	89 43 04             	mov    %eax,0x4(%ebx)
45b090:	80 3e 01             	cmpb   $0x1,(%esi)
45b093:	75 65                	jne    0x45b0fa
45b095:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45b098:	51                   	push   %ecx
45b099:	8b 00                	mov    (%eax),%eax
45b09b:	8b 78 30             	mov    0x30(%eax),%edi
45b09e:	8b cf                	mov    %edi,%ecx
45b0a0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b0a6:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
45b0a9:	ff d7                	call   *%edi
45b0ab:	33 d2                	xor    %edx,%edx
45b0ad:	8b ce                	mov    %esi,%ecx
45b0af:	39 55 98             	cmp    %edx,-0x68(%ebp)
45b0b2:	0f 95 c2             	setne  %dl
45b0b5:	2b ca                	sub    %edx,%ecx
45b0b7:	2b 4d a0             	sub    -0x60(%ebp),%ecx
45b0ba:	3b c8                	cmp    %eax,%ecx
45b0bc:	72 3c                	jb     0x45b0fa
45b0be:	8b 43 04             	mov    0x4(%ebx),%eax
45b0c1:	ff 75 9c             	push   -0x64(%ebp)
45b0c4:	8b 4d 20             	mov    0x20(%ebp),%ecx
45b0c7:	ff 75 14             	push   0x14(%ebp)
45b0ca:	89 45 98             	mov    %eax,-0x68(%ebp)
45b0cd:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45b0d0:	51                   	push   %ecx
45b0d1:	8b 00                	mov    (%eax),%eax
45b0d3:	8b 78 08             	mov    0x8(%eax),%edi
45b0d6:	8b cf                	mov    %edi,%ecx
45b0d8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b0de:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
45b0e1:	ff d7                	call   *%edi
45b0e3:	8b 4d 98             	mov    -0x68(%ebp),%ecx
45b0e6:	3b c8                	cmp    %eax,%ecx
45b0e8:	77 10                	ja     0x45b0fa
45b0ea:	51                   	push   %ecx
45b0eb:	46                   	inc    %esi
45b0ec:	56                   	push   %esi
45b0ed:	ff 75 80             	push   -0x80(%ebp)
45b0f0:	e8 2b 05 01 00       	call   0x46b620
45b0f5:	83 c4 0c             	add    $0xc,%esp
45b0f8:	eb 0a                	jmp    0x45b104
45b0fa:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
45b101:	c6 03 00             	movb   $0x0,(%ebx)
45b104:	8b 4b 04             	mov    0x4(%ebx),%ecx
45b107:	8b c1                	mov    %ecx,%eax
45b109:	8b 7d 8c             	mov    -0x74(%ebp),%edi
45b10c:	c1 e8 1d             	shr    $0x1d,%eax
45b10f:	0f c8                	bswap  %eax
45b111:	89 45 e8             	mov    %eax,-0x18(%ebp)
45b114:	8d 04 cd 00 00 00 00 	lea    0x0(,%ecx,8),%eax
45b11b:	0f c8                	bswap  %eax
45b11d:	89 45 ec             	mov    %eax,-0x14(%ebp)
45b120:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45b123:	8b 07                	mov    (%edi),%eax
45b125:	6a 08                	push   $0x8
45b127:	51                   	push   %ecx
45b128:	8b 70 0c             	mov    0xc(%eax),%esi
45b12b:	8b ce                	mov    %esi,%ecx
45b12d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b133:	8b cf                	mov    %edi,%ecx
45b135:	ff d6                	call   *%esi
45b137:	8b 07                	mov    (%edi),%eax
45b139:	ff 73 04             	push   0x4(%ebx)
45b13c:	ff 75 80             	push   -0x80(%ebp)
45b13f:	8b 70 0c             	mov    0xc(%eax),%esi
45b142:	8b ce                	mov    %esi,%ecx
45b144:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b14a:	8b cf                	mov    %edi,%ecx
45b14c:	ff d6                	call   *%esi
45b14e:	8b 07                	mov    (%edi),%eax
45b150:	ff 75 9c             	push   -0x64(%ebp)
45b153:	ff 75 88             	push   -0x78(%ebp)
45b156:	8b 70 0c             	mov    0xc(%eax),%esi
45b159:	8b ce                	mov    %esi,%ecx
45b15b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b161:	8b cf                	mov    %edi,%ecx
45b163:	ff d6                	call   *%esi
45b165:	8b 07                	mov    (%edi),%eax
45b167:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
45b16d:	ff 75 84             	push   -0x7c(%ebp)
45b170:	8b 70 0c             	mov    0xc(%eax),%esi
45b173:	8b ce                	mov    %esi,%ecx
45b175:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b17b:	8b cf                	mov    %edi,%ecx
45b17d:	ff d6                	call   *%esi
45b17f:	8b 07                	mov    (%edi),%eax
45b181:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
45b187:	8b 70 30             	mov    0x30(%eax),%esi
45b18a:	8b ce                	mov    %esi,%ecx
45b18c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b192:	8b cf                	mov    %edi,%ecx
45b194:	ff d6                	call   *%esi
45b196:	84 c0                	test   %al,%al
45b198:	74 09                	je     0x45b1a3
45b19a:	80 3b 00             	cmpb   $0x0,(%ebx)
45b19d:	74 04                	je     0x45b1a3
45b19f:	b0 01                	mov    $0x1,%al
45b1a1:	eb 02                	jmp    0x45b1a5
45b1a3:	32 c0                	xor    %al,%al
45b1a5:	8b 7d a4             	mov    -0x5c(%ebp),%edi
45b1a8:	88 03                	mov    %al,(%ebx)
45b1aa:	8b 07                	mov    (%edi),%eax
45b1ac:	8b 70 28             	mov    0x28(%eax),%esi
45b1af:	8b ce                	mov    %esi,%ecx
45b1b1:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45b1b7:	8b cf                	mov    %edi,%ecx
45b1b9:	ff d6                	call   *%esi
45b1bb:	84 c0                	test   %al,%al
45b1bd:	75 0a                	jne    0x45b1c9
45b1bf:	38 03                	cmp    %al,(%ebx)
45b1c1:	74 06                	je     0x45b1c9
45b1c3:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
45b1c7:	75 35                	jne    0x45b1fe
45b1c9:	8b 55 88             	mov    -0x78(%ebp),%edx
45b1cc:	32 c0                	xor    %al,%al
45b1ce:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
45b1d1:	8b fa                	mov    %edx,%edi
45b1d3:	f3 aa                	rep stos %al,%es:(%edi)
45b1d5:	52                   	push   %edx
45b1d6:	e8 a7 e4 01 00       	call   0x479682
45b1db:	83 c4 04             	add    $0x4,%esp
45b1de:	8b c3                	mov    %ebx,%eax
45b1e0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45b1e3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45b1ea:	59                   	pop    %ecx
45b1eb:	5f                   	pop    %edi
45b1ec:	5e                   	pop    %esi
45b1ed:	5b                   	pop    %ebx
45b1ee:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45b1f1:	33 cd                	xor    %ebp,%ecx
45b1f3:	e8 d2 e7 00 00       	call   0x4699ca
45b1f8:	8b e5                	mov    %ebp,%esp
45b1fa:	5d                   	pop    %ebp
45b1fb:	c2 20 00             	ret    $0x20
45b1fe:	68 08 6f 4b 00       	push   $0x4b6f08
45b203:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45b206:	e8 35 fe fa ff       	call   0x40b040
45b20b:	8d 45 d0             	lea    -0x30(%ebp),%eax
45b20e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45b212:	50                   	push   %eax
45b213:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45b216:	e8 f5 0c fb ff       	call   0x40bf10
45b21b:	68 50 1d 4c 00       	push   $0x4c1d50
45b220:	8d 45 a8             	lea    -0x58(%ebp),%eax
45b223:	50                   	push   %eax
45b224:	e8 85 03 01 00       	call   0x46b5ae
45b229:	cc                   	int3
45b22a:	cc                   	int3
45b22b:	cc                   	int3
45b22c:	cc                   	int3
45b22d:	cc                   	int3
45b22e:	cc                   	int3
45b22f:	cc                   	int3
45b230:	53                   	push   %ebx
45b231:	8b dc                	mov    %esp,%ebx
45b233:	83 ec 08             	sub    $0x8,%esp
45b236:	83 e4 f8             	and    $0xfffffff8,%esp
45b239:	83 c4 04             	add    $0x4,%esp
45b23c:	55                   	push   %ebp
45b23d:	8b 6b 04             	mov    0x4(%ebx),%ebp
45b240:	89 6c 24 04          	mov    %ebp,0x4(%esp)
45b244:	8b ec                	mov    %esp,%ebp
45b246:	6a ff                	push   $0xffffffff
45b248:	68 7b c0 49 00       	push   $0x49c07b
45b24d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45b253:	50                   	push   %eax
45b254:	53                   	push   %ebx
45b255:	81 ec 88 00 00 00    	sub    $0x88,%esp
45b25b:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45b260:	33 c5                	xor    %ebp,%eax
45b262:	89 45 ec             	mov    %eax,-0x14(%ebp)
45b265:	56                   	push   %esi
45b266:	57                   	push   %edi
45b267:	50                   	push   %eax
45b268:	8d 45 f4             	lea    -0xc(%ebp),%eax
45b26b:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45b271:	8b f9                	mov    %ecx,%edi
45b273:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
45b279:	8b 73 08             	mov    0x8(%ebx),%esi
45b27c:	6a 10                	push   $0x10
45b27e:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
45b284:	ff 15 30 e1 49 00    	call   *0x49e130
45b28a:	8b d0                	mov    %eax,%edx
45b28c:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
45b292:	e8 e9 04 00 00       	call   0x45b780
45b297:	83 c4 04             	add    $0x4,%esp
45b29a:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
45b2a0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45b2a7:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45b2ac:	8b 4e 10             	mov    0x10(%esi),%ecx
45b2af:	2b c1                	sub    %ecx,%eax
45b2b1:	83 f8 08             	cmp    $0x8,%eax
45b2b4:	0f 82 ae 02 00 00    	jb     0x45b568
45b2ba:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45b2be:	72 02                	jb     0x45b2c2
45b2c0:	8b 36                	mov    (%esi),%esi
45b2c2:	51                   	push   %ecx
45b2c3:	56                   	push   %esi
45b2c4:	6a 08                	push   $0x8
45b2c6:	68 2c 6f 4b 00       	push   $0x4b6f2c
45b2cb:	51                   	push   %ecx
45b2cc:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
45b2d2:	8d 4d bc             	lea    -0x44(%ebp),%ecx
45b2d5:	e8 66 6e fb ff       	call   0x412140
45b2da:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45b2de:	8b 55 d0             	mov    -0x30(%ebp),%edx
45b2e1:	8b c2                	mov    %edx,%eax
45b2e3:	8b 4d cc             	mov    -0x34(%ebp),%ecx
45b2e6:	2b c1                	sub    %ecx,%eax
45b2e8:	6a 1d                	push   $0x1d
45b2ea:	68 38 6f 4b 00       	push   $0x4b6f38
45b2ef:	83 f8 1d             	cmp    $0x1d,%eax
45b2f2:	72 24                	jb     0x45b318
45b2f4:	83 fa 10             	cmp    $0x10,%edx
45b2f7:	8d 75 bc             	lea    -0x44(%ebp),%esi
45b2fa:	8d 41 1d             	lea    0x1d(%ecx),%eax
45b2fd:	0f 43 75 bc          	cmovae -0x44(%ebp),%esi
45b301:	03 f1                	add    %ecx,%esi
45b303:	89 45 cc             	mov    %eax,-0x34(%ebp)
45b306:	56                   	push   %esi
45b307:	e8 14 03 01 00       	call   0x46b620
45b30c:	83 c4 0c             	add    $0xc,%esp
45b30f:	c6 46 1d 00          	movb   $0x0,0x1d(%esi)
45b313:	8d 45 bc             	lea    -0x44(%ebp),%eax
45b316:	eb 17                	jmp    0x45b32f
45b318:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
45b31f:	8d 4d bc             	lea    -0x44(%ebp),%ecx
45b322:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
45b328:	6a 1d                	push   $0x1d
45b32a:	e8 d1 6a fb ff       	call   0x411e00
45b32f:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
45b336:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
45b33d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
45b344:	0f 10 00             	movups (%eax),%xmm0
45b347:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
45b34b:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
45b350:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
45b355:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
45b35c:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
45b363:	c6 00 00             	movb   $0x0,(%eax)
45b366:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45b36a:	8b 55 e8             	mov    -0x18(%ebp),%edx
45b36d:	8b c2                	mov    %edx,%eax
45b36f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45b372:	2b c1                	sub    %ecx,%eax
45b374:	83 f8 02             	cmp    $0x2,%eax
45b377:	72 23                	jb     0x45b39c
45b379:	8d 41 02             	lea    0x2(%ecx),%eax
45b37c:	83 fa 10             	cmp    $0x10,%edx
45b37f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45b382:	ba 30 78 00 00       	mov    $0x7830,%edx
45b387:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45b38a:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
45b38e:	66 89 14 08          	mov    %dx,(%eax,%ecx,1)
45b392:	c6 44 08 02 00       	movb   $0x0,0x2(%eax,%ecx,1)
45b397:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45b39a:	eb 1e                	jmp    0x45b3ba
45b39c:	6a 02                	push   $0x2
45b39e:	68 54 32 4b 00       	push   $0x4b3254
45b3a3:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
45b3aa:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45b3ad:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
45b3b3:	6a 02                	push   $0x2
45b3b5:	e8 46 6a fb ff       	call   0x411e00
45b3ba:	0f 10 00             	movups (%eax),%xmm0
45b3bd:	0f 11 45 a4          	movups %xmm0,-0x5c(%ebp)
45b3c1:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
45b3c6:	66 0f d6 45 b4       	movq   %xmm0,-0x4c(%ebp)
45b3cb:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
45b3d2:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
45b3d9:	c6 00 00             	movb   $0x0,(%eax)
45b3dc:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
45b3e2:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45b3e5:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
45b3e9:	50                   	push   %eax
45b3ea:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
45b3f0:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
45b3f3:	e8 68 6b fb ff       	call   0x411f60
45b3f8:	0f 57 c0             	xorps  %xmm0,%xmm0
45b3fb:	66 0f d6 47 04       	movq   %xmm0,0x4(%edi)
45b400:	8d 45 8c             	lea    -0x74(%ebp),%eax
45b403:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
45b407:	50                   	push   %eax
45b408:	8d 4f 10             	lea    0x10(%edi),%ecx
45b40b:	c7 07 b4 1b 4b 00    	movl   $0x4b1bb4,(%edi)
45b411:	c7 47 0c 06 00 00 00 	movl   $0x6,0xc(%edi)
45b418:	e8 03 83 fa ff       	call   0x403720
45b41d:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45b420:	83 f9 10             	cmp    $0x10,%ecx
45b423:	72 2c                	jb     0x45b451
45b425:	8b 55 8c             	mov    -0x74(%ebp),%edx