45f14d:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
45f151:	72 02                	jb     0x45f155
45f153:	8b 02                	mov    (%edx),%eax
45f155:	c6 00 00             	movb   $0x0,(%eax)
45f158:	8b 7e 04             	mov    0x4(%esi),%edi
45f15b:	8b c7                	mov    %edi,%eax
45f15d:	2b c1                	sub    %ecx,%eax
45f15f:	03 46 10             	add    0x10(%esi),%eax
45f162:	3b d8                	cmp    %eax,%ebx
45f164:	7f 20                	jg     0x45f186
45f166:	b9 80 f0 fa 02       	mov    $0x2faf080,%ecx
45f16b:	8b c3                	mov    %ebx,%eax
45f16d:	3b d9                	cmp    %ecx,%ebx
45f16f:	0f 4f c1             	cmovg  %ecx,%eax
45f172:	8b ca                	mov    %edx,%ecx
45f174:	03 42 10             	add    0x10(%edx),%eax
45f177:	50                   	push   %eax
45f178:	e8 63 bb ff ff       	call   0x45ace0
45f17d:	8b 7e 04             	mov    0x4(%esi),%edi
45f180:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45f183:	8b 55 f8             	mov    -0x8(%ebp),%edx
45f186:	2b f9                	sub    %ecx,%edi
45f188:	83 c7 10             	add    $0x10,%edi
45f18b:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
45f18f:	74 70                	je     0x45f201
45f191:	57                   	push   %edi
45f192:	51                   	push   %ecx
45f193:	8b ca                	mov    %edx,%ecx
45f195:	e8 e6 9c ff ff       	call   0x458e80
45f19a:	2b df                	sub    %edi,%ebx
45f19c:	83 7e 10 10          	cmpl   $0x10,0x10(%esi)
45f1a0:	7e 5f                	jle    0x45f201
45f1a2:	6a ff                	push   $0xffffffff
45f1a4:	6a 00                	push   $0x0
45f1a6:	8b ce                	mov    %esi,%ecx
45f1a8:	e8 b3 00 00 00       	call   0x45f260
45f1ad:	8b 7e 04             	mov    0x4(%esi),%edi
45f1b0:	8b c8                	mov    %eax,%ecx
45f1b2:	85 c9                	test   %ecx,%ecx
45f1b4:	74 42                	je     0x45f1f8
45f1b6:	2b c7                	sub    %edi,%eax
45f1b8:	01 46 10             	add    %eax,0x10(%esi)
45f1bb:	b8 00 00 00 00       	mov    $0x0,%eax
45f1c0:	0f 48 46 10          	cmovs  0x10(%esi),%eax
45f1c4:	83 c1 10             	add    $0x10,%ecx
45f1c7:	03 c7                	add    %edi,%eax
45f1c9:	2b f9                	sub    %ecx,%edi
45f1cb:	83 c7 10             	add    $0x10,%edi
45f1ce:	89 06                	mov    %eax,(%esi)
45f1d0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45f1d3:	3b df                	cmp    %edi,%ebx
45f1d5:	7e 0b                	jle    0x45f1e2
45f1d7:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
45f1db:	74 24                	je     0x45f201
45f1dd:	8b 55 f8             	mov    -0x8(%ebp),%edx
45f1e0:	eb af                	jmp    0x45f191
45f1e2:	53                   	push   %ebx
45f1e3:	51                   	push   %ecx
45f1e4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45f1e7:	e8 94 9c ff ff       	call   0x458e80
45f1ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f1ef:	5f                   	pop    %edi
45f1f0:	5e                   	pop    %esi
45f1f1:	03 c3                	add    %ebx,%eax
45f1f3:	5b                   	pop    %ebx
45f1f4:	8b e5                	mov    %ebp,%esp
45f1f6:	5d                   	pop    %ebp
45f1f7:	c3                   	ret
45f1f8:	c7 46 3c 01 00 00 00 	movl   $0x1,0x3c(%esi)
45f1ff:	89 3e                	mov    %edi,(%esi)
45f201:	5f                   	pop    %edi
45f202:	5e                   	pop    %esi
45f203:	33 c0                	xor    %eax,%eax
45f205:	5b                   	pop    %ebx
45f206:	8b e5                	mov    %ebp,%esp
45f208:	5d                   	pop    %ebp
45f209:	c3                   	ret
45f20a:	cc                   	int3
45f20b:	cc                   	int3
45f20c:	cc                   	int3
45f20d:	cc                   	int3
45f20e:	cc                   	int3
45f20f:	cc                   	int3
45f210:	55                   	push   %ebp
45f211:	8b ec                	mov    %esp,%ebp
45f213:	51                   	push   %ecx
45f214:	56                   	push   %esi
45f215:	57                   	push   %edi
45f216:	6a ff                	push   $0xffffffff
45f218:	6a 00                	push   $0x0
45f21a:	8b f1                	mov    %ecx,%esi
45f21c:	e8 3f 00 00 00       	call   0x45f260
45f221:	8b 56 04             	mov    0x4(%esi),%edx
45f224:	8b f8                	mov    %eax,%edi
45f226:	85 ff                	test   %edi,%edi
45f228:	75 0f                	jne    0x45f239
45f22a:	5f                   	pop    %edi
45f22b:	89 16                	mov    %edx,(%esi)
45f22d:	c7 46 3c 01 00 00 00 	movl   $0x1,0x3c(%esi)
45f234:	5e                   	pop    %esi
45f235:	8b e5                	mov    %ebp,%esp
45f237:	5d                   	pop    %ebp
45f238:	c3                   	ret
45f239:	2b c2                	sub    %edx,%eax
45f23b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45f242:	01 46 10             	add    %eax,0x10(%esi)
45f245:	8d 4e 10             	lea    0x10(%esi),%ecx
45f248:	8d 45 fc             	lea    -0x4(%ebp),%eax
45f24b:	0f 48 c1             	cmovs  %ecx,%eax
45f24e:	8b 00                	mov    (%eax),%eax
45f250:	03 c2                	add    %edx,%eax
45f252:	89 06                	mov    %eax,(%esi)
45f254:	8b c7                	mov    %edi,%eax
45f256:	5f                   	pop    %edi
45f257:	5e                   	pop    %esi
45f258:	8b e5                	mov    %ebp,%esp
45f25a:	5d                   	pop    %ebp
45f25b:	c3                   	ret
45f25c:	cc                   	int3
45f25d:	cc                   	int3
45f25e:	cc                   	int3
45f25f:	cc                   	int3
45f260:	55                   	push   %ebp
45f261:	8b ec                	mov    %esp,%ebp
45f263:	51                   	push   %ecx
45f264:	56                   	push   %esi
45f265:	8b f1                	mov    %ecx,%esi
45f267:	8b 4e 08             	mov    0x8(%esi),%ecx
45f26a:	85 c9                	test   %ecx,%ecx
45f26c:	75 09                	jne    0x45f277
45f26e:	33 c0                	xor    %eax,%eax
45f270:	5e                   	pop    %esi
45f271:	8b e5                	mov    %ebp,%esp
45f273:	5d                   	pop    %ebp
45f274:	c2 08 00             	ret    $0x8
45f277:	53                   	push   %ebx
45f278:	8d 5e 18             	lea    0x18(%esi),%ebx
45f27b:	57                   	push   %edi
45f27c:	8d 7e 18             	lea    0x18(%esi),%edi
45f27f:	3b cb                	cmp    %ebx,%ecx
45f281:	74 26                	je     0x45f2a9
45f283:	8b 46 0c             	mov    0xc(%esi),%eax
45f286:	83 c0 f0             	add    $0xfffffff0,%eax
45f289:	89 7e 08             	mov    %edi,0x8(%esi)
45f28c:	03 c1                	add    %ecx,%eax
45f28e:	83 7e 38 01          	cmpl   $0x1,0x38(%esi)
45f292:	89 46 04             	mov    %eax,0x4(%esi)
45f295:	75 07                	jne    0x45f29e
45f297:	c7 46 38 02 00 00 00 	movl   $0x2,0x38(%esi)
45f29e:	5f                   	pop    %edi
45f29f:	5b                   	pop    %ebx
45f2a0:	8b c1                	mov    %ecx,%eax
45f2a2:	5e                   	pop    %esi
45f2a3:	8b e5                	mov    %ebp,%esp
45f2a5:	5d                   	pop    %ebp
45f2a6:	c2 08 00             	ret    $0x8
45f2a9:	6a 10                	push   $0x10
45f2ab:	ff 76 04             	push   0x4(%esi)
45f2ae:	57                   	push   %edi
45f2af:	e8 1c 3b 17 00       	call   0x5d2dd0
45f2b4:	83 c4 0c             	add    $0xc,%esp
45f2b7:	83 7e 40 00          	cmpl   $0x0,0x40(%esi)
45f2bb:	0f 8e 8e 00 00 00    	jle    0x45f34f
45f2c1:	8b 45 0c             	mov    0xc(%ebp),%eax
45f2c4:	85 c0                	test   %eax,%eax
45f2c6:	78 11                	js     0x45f2d9
45f2c8:	50                   	push   %eax
45f2c9:	ff 75 08             	push   0x8(%ebp)
45f2cc:	57                   	push   %edi
45f2cd:	e8 1e 01 00 00       	call   0x45f3f0
45f2d2:	83 c4 0c             	add    $0xc,%esp
45f2d5:	84 c0                	test   %al,%al
45f2d7:	75 76                	jne    0x45f34f
45f2d9:	8b 4e 14             	mov    0x14(%esi),%ecx
45f2dc:	8d 56 0c             	lea    0xc(%esi),%edx
45f2df:	52                   	push   %edx
45f2e0:	8d 55 fc             	lea    -0x4(%ebp),%edx
45f2e3:	52                   	push   %edx
45f2e4:	8b 01                	mov    (%ecx),%eax
45f2e6:	8b 40 04             	mov    0x4(%eax),%eax
45f2e9:	ff d0                	call   *%eax
45f2eb:	84 c0                	test   %al,%al
45f2ed:	74 59                	je     0x45f348
45f2ef:	8b 46 0c             	mov    0xc(%esi),%eax
45f2f2:	29 46 40             	sub    %eax,0x40(%esi)
45f2f5:	83 f8 10             	cmp    $0x10,%eax
45f2f8:	7f 24                	jg     0x45f31e
45f2fa:	85 c0                	test   %eax,%eax
45f2fc:	7e db                	jle    0x45f2d9
45f2fe:	50                   	push   %eax
45f2ff:	ff 75 fc             	push   -0x4(%ebp)
45f302:	8d 46 28             	lea    0x28(%esi),%eax
45f305:	50                   	push   %eax
45f306:	e8 c5 3a 17 00       	call   0x5d2dd0
45f30b:	8b 46 0c             	mov    0xc(%esi),%eax
45f30e:	83 c4 0c             	add    $0xc,%esp
45f311:	83 c0 18             	add    $0x18,%eax
45f314:	89 5e 08             	mov    %ebx,0x8(%esi)
45f317:	03 c6                	add    %esi,%eax
45f319:	89 46 04             	mov    %eax,0x4(%esi)
45f31c:	eb 12                	jmp    0x45f330
45f31e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45f321:	8d 56 28             	lea    0x28(%esi),%edx
45f324:	0f 10 01             	movups (%ecx),%xmm0
45f327:	89 4e 08             	mov    %ecx,0x8(%esi)
45f32a:	89 56 04             	mov    %edx,0x4(%esi)
45f32d:	0f 11 02             	movups %xmm0,(%edx)
45f330:	83 7e 38 02          	cmpl   $0x2,0x38(%esi)
45f334:	72 07                	jb     0x45f33d
45f336:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
45f33d:	5f                   	pop    %edi
45f33e:	8b c3                	mov    %ebx,%eax
45f340:	5b                   	pop    %ebx
45f341:	5e                   	pop    %esi
45f342:	8b e5                	mov    %ebp,%esp
45f344:	5d                   	pop    %ebp
45f345:	c2 08 00             	ret    $0x8
45f348:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
45f34f:	83 7e 38 02          	cmpl   $0x2,0x38(%esi)
45f353:	75 0b                	jne    0x45f360
45f355:	8b 4e 04             	mov    0x4(%esi),%ecx
45f358:	2b ce                	sub    %esi,%ecx
45f35a:	83 e9 18             	sub    $0x18,%ecx
45f35d:	89 4e 38             	mov    %ecx,0x38(%esi)
45f360:	8b c7                	mov    %edi,%eax
45f362:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
45f369:	5f                   	pop    %edi
45f36a:	8d 4e 28             	lea    0x28(%esi),%ecx
45f36d:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
45f374:	5b                   	pop    %ebx
45f375:	89 4e 04             	mov    %ecx,0x4(%esi)
45f378:	5e                   	pop    %esi
45f379:	8b e5                	mov    %ebp,%esp
45f37b:	5d                   	pop    %ebp
45f37c:	c2 08 00             	ret    $0x8
45f37f:	cc                   	int3
45f380:	55                   	push   %ebp
45f381:	8b ec                	mov    %esp,%ebp
45f383:	5d                   	pop    %ebp
45f384:	e9 57 f9 ff ff       	jmp    0x45ece0
45f389:	cc                   	int3
45f38a:	cc                   	int3
45f38b:	cc                   	int3
45f38c:	cc                   	int3
45f38d:	cc                   	int3
45f38e:	cc                   	int3
45f38f:	cc                   	int3
45f390:	55                   	push   %ebp
45f391:	8b ec                	mov    %esp,%ebp
45f393:	5d                   	pop    %ebp
45f394:	e9 97 ef ff ff       	jmp    0x45e330
45f399:	cc                   	int3
45f39a:	cc                   	int3
45f39b:	cc                   	int3
45f39c:	cc                   	int3
45f39d:	cc                   	int3
45f39e:	cc                   	int3
45f39f:	cc                   	int3
45f3a0:	55                   	push   %ebp
45f3a1:	8b ec                	mov    %esp,%ebp
45f3a3:	5d                   	pop    %ebp
45f3a4:	e9 17 f5 ff ff       	jmp    0x45e8c0
45f3a9:	cc                   	int3
45f3aa:	cc                   	int3
45f3ab:	cc                   	int3
45f3ac:	cc                   	int3
45f3ad:	cc                   	int3
45f3ae:	cc                   	int3
45f3af:	cc                   	int3
45f3b0:	55                   	push   %ebp
45f3b1:	8b ec                	mov    %esp,%ebp
45f3b3:	5d                   	pop    %ebp
45f3b4:	e9 37 ee ff ff       	jmp    0x45e1f0
45f3b9:	cc                   	int3
45f3ba:	cc                   	int3
45f3bb:	cc                   	int3
45f3bc:	cc                   	int3
45f3bd:	cc                   	int3
45f3be:	cc                   	int3
45f3bf:	cc                   	int3
45f3c0:	55                   	push   %ebp
45f3c1:	8b ec                	mov    %esp,%ebp
45f3c3:	5d                   	pop    %ebp
45f3c4:	e9 b7 f7 ff ff       	jmp    0x45eb80
45f3c9:	cc                   	int3
45f3ca:	cc                   	int3
45f3cb:	cc                   	int3
45f3cc:	cc                   	int3
45f3cd:	cc                   	int3
45f3ce:	cc                   	int3
45f3cf:	cc                   	int3
45f3d0:	55                   	push   %ebp
45f3d1:	8b ec                	mov    %esp,%ebp
45f3d3:	5d                   	pop    %ebp
45f3d4:	e9 87 f3 ff ff       	jmp    0x45e760
45f3d9:	cc                   	int3
45f3da:	cc                   	int3
45f3db:	cc                   	int3
45f3dc:	cc                   	int3
45f3dd:	cc                   	int3
45f3de:	cc                   	int3
45f3df:	cc                   	int3
45f3e0:	55                   	push   %ebp
45f3e1:	8b ec                	mov    %esp,%ebp
45f3e3:	5d                   	pop    %ebp
45f3e4:	e9 37 f6 ff ff       	jmp    0x45ea20
45f3e9:	cc                   	int3
45f3ea:	cc                   	int3
45f3eb:	cc                   	int3
45f3ec:	cc                   	int3
45f3ed:	cc                   	int3
45f3ee:	cc                   	int3
45f3ef:	cc                   	int3
45f3f0:	55                   	push   %ebp
45f3f1:	8b ec                	mov    %esp,%ebp
45f3f3:	83 ec 0c             	sub    $0xc,%esp
45f3f6:	8b 4d 08             	mov    0x8(%ebp),%ecx
45f3f9:	8b 45 0c             	mov    0xc(%ebp),%eax
45f3fc:	53                   	push   %ebx
45f3fd:	03 c1                	add    %ecx,%eax
45f3ff:	8d 59 10             	lea    0x10(%ecx),%ebx
45f402:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45f405:	56                   	push   %esi
45f406:	57                   	push   %edi
45f407:	3b c3                	cmp    %ebx,%eax
45f409:	0f 83 84 00 00 00    	jae    0x45f493
45f40f:	90                   	nop
45f410:	0f b6 38             	movzbl (%eax),%edi
45f413:	8b d0                	mov    %eax,%edx
45f415:	40                   	inc    %eax
45f416:	81 ff 80 00 00 00    	cmp    $0x80,%edi
45f41c:	72 41                	jb     0x45f45f
45f41e:	0f b6 08             	movzbl (%eax),%ecx
45f421:	8b c1                	mov    %ecx,%eax
45f423:	c1 e0 07             	shl    $0x7,%eax
45f426:	83 c0 80             	add    $0xffffff80,%eax
45f429:	03 f8                	add    %eax,%edi
45f42b:	8d 42 02             	lea    0x2(%edx),%eax
45f42e:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
45f434:	72 29                	jb     0x45f45f
45f436:	b9 0e 00 00 00       	mov    $0xe,%ecx
45f43b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
45f440:	0f b6 30             	movzbl (%eax),%esi
45f443:	40                   	inc    %eax
45f444:	8d 56 ff             	lea    -0x1(%esi),%edx
45f447:	d3 e2                	shl    %cl,%edx
45f449:	03 fa                	add    %edx,%edi
45f44b:	81 fe 80 00 00 00    	cmp    $0x80,%esi
45f451:	72 0c                	jb     0x45f45f
45f453:	83 c1 07             	add    $0x7,%ecx