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
45f456:	83 f9 23             	cmp    $0x23,%ecx
45f459:	72 e5                	jb     0x45f440
45f45b:	33 c0                	xor    %eax,%eax
45f45d:	33 ff                	xor    %edi,%edi
45f45f:	85 c0                	test   %eax,%eax
45f461:	74 30                	je     0x45f493
45f463:	3b c3                	cmp    %ebx,%eax
45f465:	77 2c                	ja     0x45f493
45f467:	85 ff                	test   %edi,%edi
45f469:	0f 84 bc 00 00 00    	je     0x45f52b
45f46f:	83 e7 07             	and    $0x7,%edi
45f472:	83 ff 05             	cmp    $0x5,%edi
45f475:	77 1c                	ja     0x45f493
45f477:	ff 24 bd 48 f5 45 00 	jmp    *0x45f548(,%edi,4)
45f47e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
45f481:	51                   	push   %ecx
45f482:	50                   	push   %eax
45f483:	e8 f8 16 ff ff       	call   0x450b80
45f488:	83 c4 08             	add    $0x8,%esp
45f48b:	85 c0                	test   %eax,%eax
45f48d:	0f 85 a4 00 00 00    	jne    0x45f537
45f493:	5f                   	pop    %edi
45f494:	5e                   	pop    %esi
45f495:	32 c0                	xor    %al,%al
45f497:	5b                   	pop    %ebx
45f498:	8b e5                	mov    %ebp,%esp
45f49a:	5d                   	pop    %ebp
45f49b:	c3                   	ret
45f49c:	83 c0 08             	add    $0x8,%eax
45f49f:	e9 93 00 00 00       	jmp    0x45f537
45f4a4:	0f b6 38             	movzbl (%eax),%edi
45f4a7:	81 ff 80 00 00 00    	cmp    $0x80,%edi
45f4ad:	73 03                	jae    0x45f4b2
45f4af:	40                   	inc    %eax
45f4b0:	eb 5a                	jmp    0x45f50c
45f4b2:	b9 07 00 00 00       	mov    $0x7,%ecx
45f4b7:	8d 58 01             	lea    0x1(%eax),%ebx
45f4ba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
45f4c0:	0f b6 33             	movzbl (%ebx),%esi
45f4c3:	43                   	inc    %ebx
45f4c4:	8d 56 ff             	lea    -0x1(%esi),%edx
45f4c7:	d3 e2                	shl    %cl,%edx
45f4c9:	03 fa                	add    %edx,%edi
45f4cb:	8b d7                	mov    %edi,%edx
45f4cd:	81 fe 80 00 00 00    	cmp    $0x80,%esi
45f4d3:	72 32                	jb     0x45f507
45f4d5:	83 c1 07             	add    $0x7,%ecx
45f4d8:	83 f9 1c             	cmp    $0x1c,%ecx
45f4db:	72 e3                	jb     0x45f4c0
45f4dd:	0f b6 78 04          	movzbl 0x4(%eax),%edi
45f4e1:	83 ff 08             	cmp    $0x8,%edi
45f4e4:	72 06                	jb     0x45f4ec
45f4e6:	33 c0                	xor    %eax,%eax
45f4e8:	33 ff                	xor    %edi,%edi
45f4ea:	eb 1d                	jmp    0x45f509
45f4ec:	83 c7 0f             	add    $0xf,%edi
45f4ef:	c1 e7 1c             	shl    $0x1c,%edi
45f4f2:	03 fa                	add    %edx,%edi
45f4f4:	81 ff ef ff ff 7f    	cmp    $0x7fffffef,%edi
45f4fa:	76 06                	jbe    0x45f502
45f4fc:	33 c0                	xor    %eax,%eax
45f4fe:	33 ff                	xor    %edi,%edi
45f500:	eb 07                	jmp    0x45f509
45f502:	83 c0 05             	add    $0x5,%eax
45f505:	eb 02                	jmp    0x45f509
45f507:	8b c3                	mov    %ebx,%eax
45f509:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45f50c:	85 c0                	test   %eax,%eax
45f50e:	74 83                	je     0x45f493
45f510:	8b cb                	mov    %ebx,%ecx
45f512:	2b c8                	sub    %eax,%ecx
45f514:	3b f9                	cmp    %ecx,%edi
45f516:	0f 8f 77 ff ff ff    	jg     0x45f493
45f51c:	03 c7                	add    %edi,%eax
45f51e:	eb 17                	jmp    0x45f537
45f520:	ff 45 10             	incl   0x10(%ebp)
45f523:	eb 12                	jmp    0x45f537
45f525:	83 6d 10 01          	subl   $0x1,0x10(%ebp)
45f529:	79 0c                	jns    0x45f537
45f52b:	5f                   	pop    %edi
45f52c:	5e                   	pop    %esi
45f52d:	b0 01                	mov    $0x1,%al
45f52f:	5b                   	pop    %ebx
45f530:	8b e5                	mov    %ebp,%esp
45f532:	5d                   	pop    %ebp
45f533:	c3                   	ret
45f534:	83 c0 04             	add    $0x4,%eax
45f537:	3b c3                	cmp    %ebx,%eax
45f539:	0f 82 d1 fe ff ff    	jb     0x45f410
45f53f:	5f                   	pop    %edi
45f540:	5e                   	pop    %esi
45f541:	32 c0                	xor    %al,%al
45f543:	5b                   	pop    %ebx
45f544:	8b e5                	mov    %ebp,%esp
45f546:	5d                   	pop    %ebp
45f547:	c3                   	ret
45f548:	7e f4                	jle    0x45f53e
45f54a:	45                   	inc    %ebp
45f54b:	00 9c f4 45 00 a4 f4 	add    %bl,-0xb5bffbb(%esp,%esi,8)
45f552:	45                   	inc    %ebp
45f553:	00 20                	add    %ah,(%eax)
45f555:	f5                   	cmc
45f556:	45                   	inc    %ebp
45f557:	00 25 f5 45 00 34    	add    %ah,0x340045f5
45f55d:	f5                   	cmc
45f55e:	45                   	inc    %ebp
45f55f:	00 55 8b             	add    %dl,-0x75(%ebp)
45f562:	ec                   	in     (%dx),%al
45f563:	83 ec 08             	sub    $0x8,%esp
45f566:	8b 45 0c             	mov    0xc(%ebp),%eax
45f569:	53                   	push   %ebx
45f56a:	56                   	push   %esi
45f56b:	8b 75 10             	mov    0x10(%ebp),%esi
45f56e:	8b d9                	mov    %ecx,%ebx
45f570:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f573:	8d 45 fc             	lea    -0x4(%ebp),%eax
45f576:	57                   	push   %edi
45f577:	50                   	push   %eax
45f578:	e8 63 02 00 00       	call   0x45f7e0
45f57d:	8b 55 fc             	mov    -0x4(%ebp),%edx
45f580:	83 c4 04             	add    $0x4,%esp
45f583:	8b f8                	mov    %eax,%edi
45f585:	85 d2                	test   %edx,%edx
45f587:	0f 84 8b 01 00 00    	je     0x45f718
45f58d:	8b 03                	mov    (%ebx),%eax
45f58f:	85 c0                	test   %eax,%eax
45f591:	0f 85 88 00 00 00    	jne    0x45f61f
45f597:	8b 4e 04             	mov    0x4(%esi),%ecx
45f59a:	2b ca                	sub    %edx,%ecx
45f59c:	83 c1 10             	add    $0x10,%ecx
45f59f:	3b f9                	cmp    %ecx,%edi
45f5a1:	7e 5c                	jle    0x45f5ff
45f5a3:	39 46 08             	cmp    %eax,0x8(%esi)
45f5a6:	0f 84 6c 01 00 00    	je     0x45f718
45f5ac:	0f 1f 40 00          	nopl   0x0(%eax)
45f5b0:	2b f9                	sub    %ecx,%edi
45f5b2:	83 7e 10 10          	cmpl   $0x10,0x10(%esi)
45f5b6:	0f 8e 5c 01 00 00    	jle    0x45f718
45f5bc:	6a ff                	push   $0xffffffff
45f5be:	6a 00                	push   $0x0
45f5c0:	8b ce                	mov    %esi,%ecx
45f5c2:	e8 99 fc ff ff       	call   0x45f260
45f5c7:	8b 4e 04             	mov    0x4(%esi),%ecx
45f5ca:	8b d0                	mov    %eax,%edx
45f5cc:	85 d2                	test   %edx,%edx
45f5ce:	74 3b                	je     0x45f60b
45f5d0:	2b c1                	sub    %ecx,%eax
45f5d2:	01 46 10             	add    %eax,0x10(%esi)
45f5d5:	b8 00 00 00 00       	mov    $0x0,%eax
45f5da:	0f 48 46 10          	cmovs  0x10(%esi),%eax
45f5de:	83 c2 10             	add    $0x10,%edx
45f5e1:	03 c1                	add    %ecx,%eax
45f5e3:	2b ca                	sub    %edx,%ecx
45f5e5:	83 c1 10             	add    $0x10,%ecx
45f5e8:	89 06                	mov    %eax,(%esi)
45f5ea:	3b f9                	cmp    %ecx,%edi
45f5ec:	7e 11                	jle    0x45f5ff
45f5ee:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
45f5f2:	75 bc                	jne    0x45f5b0
45f5f4:	5f                   	pop    %edi
45f5f5:	5e                   	pop    %esi
45f5f6:	33 c0                	xor    %eax,%eax
45f5f8:	5b                   	pop    %ebx
45f5f9:	8b e5                	mov    %ebp,%esp
45f5fb:	5d                   	pop    %ebp
45f5fc:	c2 0c 00             	ret    $0xc
45f5ff:	8d 04 3a             	lea    (%edx,%edi,1),%eax
45f602:	5f                   	pop    %edi
45f603:	5e                   	pop    %esi
45f604:	5b                   	pop    %ebx
45f605:	8b e5                	mov    %ebp,%esp
45f607:	5d                   	pop    %ebp
45f608:	c2 0c 00             	ret    $0xc
45f60b:	c7 46 3c 01 00 00 00 	movl   $0x1,0x3c(%esi)
45f612:	33 c0                	xor    %eax,%eax