45f3b7:	83 c0 06             	add    $0x6,%eax
45f3ba:	50                   	push   %eax
45f3bb:	8d 4e 14             	lea    0x14(%esi),%ecx
45f3be:	89 46 28             	mov    %eax,0x28(%esi)
45f3c1:	e8 9a 15 ff ff       	call   0x450960
45f3c6:	8b c6                	mov    %esi,%eax
45f3c8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45f3cb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45f3d2:	59                   	pop    %ecx
45f3d3:	5f                   	pop    %edi
45f3d4:	5e                   	pop    %esi
45f3d5:	8b e5                	mov    %ebp,%esp
45f3d7:	5d                   	pop    %ebp
45f3d8:	c2 0c 00             	ret    $0xc
45f3db:	cc                   	int3
45f3dc:	cc                   	int3
45f3dd:	cc                   	int3
45f3de:	cc                   	int3
45f3df:	cc                   	int3
45f3e0:	51                   	push   %ecx
45f3e1:	53                   	push   %ebx
45f3e2:	55                   	push   %ebp
45f3e3:	56                   	push   %esi
45f3e4:	57                   	push   %edi
45f3e5:	8b f9                	mov    %ecx,%edi
45f3e7:	8b 6f 08             	mov    0x8(%edi),%ebp
45f3ea:	8b d5                	mov    %ebp,%edx
45f3ec:	85 d2                	test   %edx,%edx
45f3ee:	74 1d                	je     0x45f40d
45f3f0:	8b 47 0c             	mov    0xc(%edi),%eax
45f3f3:	8d 04 90             	lea    (%eax,%edx,4),%eax
45f3f6:	83 c0 fc             	add    $0xfffffffc,%eax
45f3f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45f400:	83 38 00             	cmpl   $0x0,(%eax)
45f403:	75 08                	jne    0x45f40d
45f405:	83 e8 04             	sub    $0x4,%eax
45f408:	83 ea 01             	sub    $0x1,%edx
45f40b:	75 f3                	jne    0x45f400
45f40d:	c1 e2 05             	shl    $0x5,%edx
45f410:	80 7f 36 00          	cmpb   $0x0,0x36(%edi)
45f414:	74 04                	je     0x45f41a
45f416:	33 f6                	xor    %esi,%esi
45f418:	eb 03                	jmp    0x45f41d
45f41a:	8b 77 28             	mov    0x28(%edi),%esi
45f41d:	c6 47 36 00          	movb   $0x0,0x36(%edi)
45f421:	8b de                	mov    %esi,%ebx
45f423:	c1 eb 05             	shr    $0x5,%ebx
45f426:	3b dd                	cmp    %ebp,%ebx
45f428:	73 11                	jae    0x45f43b
45f42a:	8b 47 0c             	mov    0xc(%edi),%eax
45f42d:	8b ce                	mov    %esi,%ecx
45f42f:	83 e1 1f             	and    $0x1f,%ecx
45f432:	8b 04 98             	mov    (%eax,%ebx,4),%eax
45f435:	d3 e8                	shr    %cl,%eax
45f437:	a8 01                	test   $0x1,%al
45f439:	75 07                	jne    0x45f442
45f43b:	3b f2                	cmp    %edx,%esi
45f43d:	73 73                	jae    0x45f4b2
45f43f:	46                   	inc    %esi
45f440:	eb df                	jmp    0x45f421
45f442:	56                   	push   %esi
45f443:	8b cf                	mov    %edi,%ecx
45f445:	e8 06 16 ff ff       	call   0x450a50
45f44a:	01 77 2c             	add    %esi,0x2c(%edi)
45f44d:	be 01 00 00 00       	mov    $0x1,%esi
45f452:	8b 4f 28             	mov    0x28(%edi),%ecx
45f455:	8b c6                	mov    %esi,%eax
45f457:	d3 e0                	shl    %cl,%eax
45f459:	8b cf                	mov    %edi,%ecx
45f45b:	50                   	push   %eax
45f45c:	e8 cf 1e ff ff       	call   0x451330
45f461:	80 7f 34 00          	cmpb   $0x0,0x34(%edi)
45f465:	8b e8                	mov    %eax,%ebp
45f467:	89 6f 30             	mov    %ebp,0x30(%edi)
45f46a:	74 3c                	je     0x45f4a8
45f46c:	8b 5f 28             	mov    0x28(%edi),%ebx
45f46f:	8b d3                	mov    %ebx,%edx
45f471:	c1 ea 05             	shr    $0x5,%edx
45f474:	3b 57 08             	cmp    0x8(%edi),%edx
45f477:	73 2f                	jae    0x45f4a8
45f479:	8b 47 0c             	mov    0xc(%edi),%eax
45f47c:	8b cb                	mov    %ebx,%ecx
45f47e:	83 e1 1f             	and    $0x1f,%ecx
45f481:	8b 04 90             	mov    (%eax,%edx,4),%eax
45f484:	d3 e8                	shr    %cl,%eax
45f486:	a8 01                	test   $0x1,%al
45f488:	74 1e                	je     0x45f4a8
45f48a:	8b cb                	mov    %ebx,%ecx
45f48c:	c6 47 35 01          	movb   $0x1,0x35(%edi)
45f490:	d3 e6                	shl    %cl,%esi
45f492:	8d 47 14             	lea    0x14(%edi),%eax
45f495:	2b f5                	sub    %ebp,%esi
45f497:	8b cf                	mov    %edi,%ecx
45f499:	50                   	push   %eax
45f49a:	89 77 30             	mov    %esi,0x30(%edi)
45f49d:	e8 7e 13 ff ff       	call   0x450820
45f4a2:	5f                   	pop    %edi
45f4a3:	5e                   	pop    %esi
45f4a4:	5d                   	pop    %ebp
45f4a5:	5b                   	pop    %ebx
45f4a6:	59                   	pop    %ecx
45f4a7:	c3                   	ret
45f4a8:	c6 47 35 00          	movb   $0x0,0x35(%edi)
45f4ac:	5f                   	pop    %edi
45f4ad:	5e                   	pop    %esi
45f4ae:	5d                   	pop    %ebp
45f4af:	5b                   	pop    %ebx
45f4b0:	59                   	pop    %ecx
45f4b1:	c3                   	ret
45f4b2:	c6 47 37 01          	movb   $0x1,0x37(%edi)
45f4b6:	5f                   	pop    %edi
45f4b7:	5e                   	pop    %esi
45f4b8:	5d                   	pop    %ebp
45f4b9:	5b                   	pop    %ebx
45f4ba:	59                   	pop    %ecx
45f4bb:	c3                   	ret
45f4bc:	cc                   	int3
45f4bd:	cc                   	int3
45f4be:	cc                   	int3
45f4bf:	cc                   	int3
45f4c0:	e9 0b 00 00 00       	jmp    0x45f4d0
45f4c5:	cc                   	int3
45f4c6:	cc                   	int3
45f4c7:	cc                   	int3
45f4c8:	cc                   	int3
45f4c9:	cc                   	int3
45f4ca:	cc                   	int3
45f4cb:	cc                   	int3
45f4cc:	cc                   	int3
45f4cd:	cc                   	int3
45f4ce:	cc                   	int3
45f4cf:	cc                   	int3
45f4d0:	53                   	push   %ebx
45f4d1:	8b d9                	mov    %ecx,%ebx
45f4d3:	56                   	push   %esi
45f4d4:	8b 33                	mov    (%ebx),%esi
45f4d6:	85 f6                	test   %esi,%esi
45f4d8:	74 7a                	je     0x45f554
45f4da:	55                   	push   %ebp
45f4db:	8b 6b 04             	mov    0x4(%ebx),%ebp
45f4de:	3b f5                	cmp    %ebp,%esi
45f4e0:	74 1b                	je     0x45f4fd
45f4e2:	57                   	push   %edi
45f4e3:	8b 06                	mov    (%esi),%eax
45f4e5:	6a 00                	push   $0x0
45f4e7:	8b 38                	mov    (%eax),%edi
45f4e9:	8b cf                	mov    %edi,%ecx
45f4eb:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45f4f1:	8b ce                	mov    %esi,%ecx
45f4f3:	ff d7                	call   *%edi
45f4f5:	83 c6 14             	add    $0x14,%esi
45f4f8:	3b f5                	cmp    %ebp,%esi
45f4fa:	75 e7                	jne    0x45f4e3
45f4fc:	5f                   	pop    %edi
45f4fd:	8b 4b 08             	mov    0x8(%ebx),%ecx
45f500:	b8 67 66 66 66       	mov    $0x66666667,%eax
45f505:	8b 33                	mov    (%ebx),%esi
45f507:	2b ce                	sub    %esi,%ecx
45f509:	f7 e9                	imul   %ecx
45f50b:	5d                   	pop    %ebp
45f50c:	c1 fa 03             	sar    $0x3,%edx
45f50f:	8b c2                	mov    %edx,%eax
45f511:	c1 e8 1f             	shr    $0x1f,%eax
45f514:	03 c2                	add    %edx,%eax
45f516:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
45f519:	c1 e1 02             	shl    $0x2,%ecx
45f51c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45f522:	72 12                	jb     0x45f536
45f524:	8b 56 fc             	mov    -0x4(%esi),%edx
45f527:	83 c1 23             	add    $0x23,%ecx
45f52a:	2b f2                	sub    %edx,%esi
45f52c:	8d 46 fc             	lea    -0x4(%esi),%eax
45f52f:	83 f8 1f             	cmp    $0x1f,%eax
45f532:	77 23                	ja     0x45f557
45f534:	8b f2                	mov    %edx,%esi
45f536:	51                   	push   %ecx
45f537:	56                   	push   %esi
45f538:	e8 cb a4 00 00       	call   0x469a08
45f53d:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45f543:	83 c4 08             	add    $0x8,%esp
45f546:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
45f54d:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
45f554:	5e                   	pop    %esi
45f555:	5b                   	pop    %ebx
45f556:	c3                   	ret
45f557:	e8 d5 a0 01 00       	call   0x479631
45f55c:	cc                   	int3
45f55d:	cc                   	int3
45f55e:	cc                   	int3
45f55f:	cc                   	int3
45f560:	8b 44 24 08          	mov    0x8(%esp),%eax
45f564:	8b 4c 24 04          	mov    0x4(%esp),%ecx
45f568:	56                   	push   %esi
45f569:	8d 14 80             	lea    (%eax,%eax,4),%edx
45f56c:	c1 e2 02             	shl    $0x2,%edx
45f56f:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
45f575:	72 12                	jb     0x45f589
45f577:	8b 71 fc             	mov    -0x4(%ecx),%esi
45f57a:	83 c2 23             	add    $0x23,%edx
45f57d:	2b ce                	sub    %esi,%ecx
45f57f:	8d 41 fc             	lea    -0x4(%ecx),%eax
45f582:	83 f8 1f             	cmp    $0x1f,%eax
45f585:	77 10                	ja     0x45f597
45f587:	8b ce                	mov    %esi,%ecx
45f589:	52                   	push   %edx
45f58a:	51                   	push   %ecx
45f58b:	e8 78 a4 00 00       	call   0x469a08
45f590:	83 c4 08             	add    $0x8,%esp
45f593:	5e                   	pop    %esi
45f594:	c2 08 00             	ret    $0x8
45f597:	e8 95 a0 01 00       	call   0x479631
45f59c:	cc                   	int3
45f59d:	cc                   	int3
45f59e:	cc                   	int3
45f59f:	cc                   	int3
45f5a0:	55                   	push   %ebp
45f5a1:	8b ec                	mov    %esp,%ebp
45f5a3:	6a ff                	push   $0xffffffff
45f5a5:	68 6e b3 49 00       	push   $0x49b36e
45f5aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45f5b0:	50                   	push   %eax
45f5b1:	51                   	push   %ecx
45f5b2:	53                   	push   %ebx
45f5b3:	56                   	push   %esi
45f5b4:	57                   	push   %edi
45f5b5:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45f5ba:	33 c5                	xor    %ebp,%eax
45f5bc:	50                   	push   %eax
45f5bd:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f5c0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45f5c6:	8b d9                	mov    %ecx,%ebx
45f5c8:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45f5cf:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
45f5d6:	8b 7d 08             	mov    0x8(%ebp),%edi
45f5d9:	8d 4f 04             	lea    0x4(%edi),%ecx
45f5dc:	e8 af eb fe ff       	call   0x44e190
45f5e1:	51                   	push   %ecx
45f5e2:	c7 07 dc 6b 4b 00    	movl   $0x4b6bdc,(%edi)
45f5e8:	6a 02                	push   $0x2
45f5ea:	c7 47 08 02 00 00 00 	movl   $0x2,0x8(%edi)
45f5f1:	e8 8a 41 ff ff       	call   0x453780
45f5f6:	89 47 0c             	mov    %eax,0xc(%edi)
45f5f9:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
45f600:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45f607:	8b 47 0c             	mov    0xc(%edi),%eax
45f60a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
45f610:	6a 01                	push   $0x1
45f612:	ff 75 10             	push   0x10(%ebp)
45f615:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45f61c:	8b 33                	mov    (%ebx),%esi
45f61e:	ff 75 0c             	push   0xc(%ebp)
45f621:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
45f628:	57                   	push   %edi
45f629:	8b 76 30             	mov    0x30(%esi),%esi
45f62c:	8b ce                	mov    %esi,%ecx
45f62e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45f634:	8b cb                	mov    %ebx,%ecx
45f636:	ff d6                	call   *%esi
45f638:	8b c7                	mov    %edi,%eax
45f63a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45f63d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45f644:	59                   	pop    %ecx
45f645:	5f                   	pop    %edi
45f646:	5e                   	pop    %esi
45f647:	5b                   	pop    %ebx
45f648:	8b e5                	mov    %ebp,%esp
45f64a:	5d                   	pop    %ebp
45f64b:	c2 0c 00             	ret    $0xc
45f64e:	cc                   	int3
45f64f:	cc                   	int3
45f650:	55                   	push   %ebp
45f651:	8b ec                	mov    %esp,%ebp
45f653:	6a ff                	push   $0xffffffff
45f655:	68 0d c5 49 00       	push   $0x49c50d
45f65a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45f660:	50                   	push   %eax
45f661:	83 ec 64             	sub    $0x64,%esp
45f664:	53                   	push   %ebx
45f665:	56                   	push   %esi
45f666:	57                   	push   %edi
45f667:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45f66c:	33 c5                	xor    %ebp,%eax
45f66e:	50                   	push   %eax
45f66f:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f672:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45f678:	8b d9                	mov    %ecx,%ebx
45f67a:	8b 4d 18             	mov    0x18(%ebp),%ecx
45f67d:	e8 4e f1 fe ff       	call   0x44e7d0
45f682:	8b 4d 10             	mov    0x10(%ebp),%ecx
45f685:	8b f0                	mov    %eax,%esi
45f687:	e8 44 f1 fe ff       	call   0x44e7d0
45f68c:	3b c6                	cmp    %esi,%eax
45f68e:	0f 42 c6             	cmovb  %esi,%eax
45f691:	89 45 b4             	mov    %eax,-0x4c(%ebp)
45f694:	85 c0                	test   %eax,%eax
45f696:	75 31                	jne    0x45f6c9
45f698:	8b 03                	mov    (%ebx),%eax
45f69a:	8b 70 08             	mov    0x8(%eax),%esi
45f69d:	8b ce                	mov    %esi,%ecx
45f69f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45f6a5:	8b cb                	mov    %ebx,%ecx
45f6a7:	ff d6                	call   *%esi
45f6a9:	8b 4d 08             	mov    0x8(%ebp),%ecx
45f6ac:	50                   	push   %eax
45f6ad:	e8 8e ed fe ff       	call   0x44e440
45f6b2:	8b 45 08             	mov    0x8(%ebp),%eax
45f6b5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45f6b8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45f6bf:	59                   	pop    %ecx
45f6c0:	5f                   	pop    %edi
45f6c1:	5e                   	pop    %esi
45f6c2:	5b                   	pop    %ebx
45f6c3:	8b e5                	mov    %ebp,%esp
45f6c5:	5d                   	pop    %ebp
45f6c6:	c2 14 00             	ret    $0x14
45f6c9:	83 f8 2e             	cmp    $0x2e,%eax
45f6cc:	77 1f                	ja     0x45f6ed
45f6ce:	be 02 00 00 00       	mov    $0x2,%esi
45f6d3:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
45f6da:	c7 45 e8 04 00 00 00 	movl   $0x4,-0x18(%ebp)
45f6e1:	c7 45 dc 04 00 00 00 	movl   $0x4,-0x24(%ebp)
45f6e8:	8d 7e 02             	lea    0x2(%esi),%edi
45f6eb:	eb 24                	jmp    0x45f711
45f6ed:	b9 04 01 00 00       	mov    $0x104,%ecx
45f6f2:	be 01 00 00 00       	mov    $0x1,%esi
45f6f7:	3b c8                	cmp    %eax,%ecx
45f6f9:	1b c9                	sbb    %ecx,%ecx
45f6fb:	f7 d9                	neg    %ecx
45f6fd:	83 c1 02             	add    $0x2,%ecx
45f700:	d3 e6                	shl    %cl,%esi
45f702:	8b c6                	mov    %esi,%eax
45f704:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45f707:	d3 e0                	shl    %cl,%eax
45f709:	89 45 e8             	mov    %eax,-0x18(%ebp)
45f70c:	8b f8                	mov    %eax,%edi
45f70e:	89 45 dc             	mov    %eax,-0x24(%ebp)
45f711:	57                   	push   %edi
45f712:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45f715:	89 75 e0             	mov    %esi,-0x20(%ebp)
45f718:	89 75 ec             	mov    %esi,-0x14(%ebp)
45f71b:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
45f722:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
45f729:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
45f730:	e8 5b 10 00 00       	call   0x460790
45f735:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45f738:	89 45 b8             	mov    %eax,-0x48(%ebp)
45f73b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45f742:	8b d7                	mov    %edi,%edx
45f744:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
45f747:	50                   	push   %eax