44649f:	8b 45 f0             	mov    -0x10(%ebp),%eax
4464a2:	85 c0                	test   %eax,%eax
4464a4:	74 0e                	je     0x4464b4
4464a6:	33 c9                	xor    %ecx,%ecx
4464a8:	66 39 08             	cmp    %cx,(%eax)
4464ab:	74 07                	je     0x4464b4
4464ad:	50                   	push   %eax
4464ae:	ff 15 70 b1 44 00    	call   *0x44b170
4464b4:	83 7d f4 ff          	cmpl   $0xffffffff,-0xc(%ebp)
4464b8:	74 09                	je     0x4464c3
4464ba:	ff 75 f4             	push   -0xc(%ebp)
4464bd:	ff 15 d4 b0 44 00    	call   *0x44b0d4
4464c3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4464c6:	85 c0                	test   %eax,%eax
4464c8:	74 06                	je     0x4464d0
4464ca:	50                   	push   %eax
4464cb:	e8 1f f0 ff ff       	call   0x4454ef
4464d0:	85 ff                	test   %edi,%edi
4464d2:	74 07                	je     0x4464db
4464d4:	57                   	push   %edi
4464d5:	ff 15 6c a9 46 00    	call   *0x46a96c
4464db:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4464df:	74 08                	je     0x4464e9
4464e1:	ff 75 f8             	push   -0x8(%ebp)
4464e4:	e8 06 f0 ff ff       	call   0x4454ef
4464e9:	5f                   	pop    %edi
4464ea:	8b c6                	mov    %esi,%eax
4464ec:	5e                   	pop    %esi
4464ed:	5b                   	pop    %ebx
4464ee:	8b e5                	mov    %ebp,%esp
4464f0:	5d                   	pop    %ebp
4464f1:	c2 18 00             	ret    $0x18
4464f4:	55                   	push   %ebp
4464f5:	8b ec                	mov    %esp,%ebp
4464f7:	51                   	push   %ecx
4464f8:	51                   	push   %ecx
4464f9:	56                   	push   %esi
4464fa:	57                   	push   %edi
4464fb:	8d 45 f8             	lea    -0x8(%ebp),%eax
4464fe:	33 ff                	xor    %edi,%edi
446500:	50                   	push   %eax
446501:	ff 75 0c             	push   0xc(%ebp)
446504:	89 7d f8             	mov    %edi,-0x8(%ebp)
446507:	ff 75 08             	push   0x8(%ebp)
44650a:	89 7d fc             	mov    %edi,-0x4(%ebp)
44650d:	e8 f1 d2 ff ff       	call   0x443803
446512:	8b f0                	mov    %eax,%esi
446514:	85 f6                	test   %esi,%esi
446516:	78 5d                	js     0x446575
446518:	75 51                	jne    0x44656b
44651a:	8b 45 f8             	mov    -0x8(%ebp),%eax
44651d:	8d 55 fc             	lea    -0x4(%ebp),%edx
446520:	52                   	push   %edx
446521:	50                   	push   %eax
446522:	8b 08                	mov    (%eax),%ecx
446524:	ff 51 20             	call   *0x20(%ecx)
446527:	8b f0                	mov    %eax,%esi
446529:	85 f6                	test   %esi,%esi
44652b:	78 48                	js     0x446575
44652d:	8b 45 fc             	mov    -0x4(%ebp),%eax
446530:	85 c0                	test   %eax,%eax
446532:	74 41                	je     0x446575
446534:	6b c0 0c             	imul   $0xc,%eax,%eax
446537:	6a 01                	push   $0x1
446539:	50                   	push   %eax
44653a:	e8 95 d3 fb ff       	call   0x4038d4
44653f:	8b d0                	mov    %eax,%edx
446541:	85 d2                	test   %edx,%edx
446543:	75 17                	jne    0x44655c
446545:	be 0e 00 07 80       	mov    $0x8007000e,%esi
44654a:	56                   	push   %esi
44654b:	68 d2 01 00 00       	push   $0x1d2
446550:	68 7c 69 46 00       	push   $0x46697c
446555:	e8 79 d2 fb ff       	call   0x4037d3
44655a:	eb 19                	jmp    0x446575
44655c:	8b 4d 14             	mov    0x14(%ebp),%ecx
44655f:	8b 45 fc             	mov    -0x4(%ebp),%eax
446562:	89 01                	mov    %eax,(%ecx)
446564:	8b 45 10             	mov    0x10(%ebp),%eax
446567:	89 10                	mov    %edx,(%eax)
446569:	eb 0a                	jmp    0x446575
44656b:	8b 45 10             	mov    0x10(%ebp),%eax
44656e:	89 38                	mov    %edi,(%eax)
446570:	8b 45 14             	mov    0x14(%ebp),%eax
446573:	89 38                	mov    %edi,(%eax)
446575:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446578:	85 c9                	test   %ecx,%ecx
44657a:	74 06                	je     0x446582
44657c:	8b 01                	mov    (%ecx),%eax
44657e:	51                   	push   %ecx
44657f:	ff 50 08             	call   *0x8(%eax)
446582:	5f                   	pop    %edi
446583:	8b c6                	mov    %esi,%eax
446585:	5e                   	pop    %esi
446586:	8b e5                	mov    %ebp,%esp
446588:	5d                   	pop    %ebp
446589:	c2 10 00             	ret    $0x10
44658c:	55                   	push   %ebp
44658d:	8b ec                	mov    %esp,%ebp
44658f:	51                   	push   %ecx
446590:	51                   	push   %ecx
446591:	56                   	push   %esi
446592:	57                   	push   %edi
446593:	8d 45 f8             	lea    -0x8(%ebp),%eax
446596:	33 ff                	xor    %edi,%edi
446598:	50                   	push   %eax
446599:	ff 75 0c             	push   0xc(%ebp)
44659c:	89 7d f8             	mov    %edi,-0x8(%ebp)
44659f:	ff 75 08             	push   0x8(%ebp)
4465a2:	89 7d fc             	mov    %edi,-0x4(%ebp)
4465a5:	e8 59 d2 ff ff       	call   0x443803
4465aa:	8b f0                	mov    %eax,%esi
4465ac:	85 f6                	test   %esi,%esi
4465ae:	78 5d                	js     0x44660d
4465b0:	75 51                	jne    0x446603
4465b2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4465b5:	8d 55 fc             	lea    -0x4(%ebp),%edx
4465b8:	52                   	push   %edx
4465b9:	50                   	push   %eax
4465ba:	8b 08                	mov    (%eax),%ecx
4465bc:	ff 51 20             	call   *0x20(%ecx)
4465bf:	8b f0                	mov    %eax,%esi
4465c1:	85 f6                	test   %esi,%esi
4465c3:	78 48                	js     0x44660d
4465c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4465c8:	85 c0                	test   %eax,%eax
4465ca:	74 41                	je     0x44660d
4465cc:	6a 01                	push   $0x1
4465ce:	c1 e0 04             	shl    $0x4,%eax
4465d1:	50                   	push   %eax
4465d2:	e8 fd d2 fb ff       	call   0x4038d4
4465d7:	8b d0                	mov    %eax,%edx
4465d9:	85 d2                	test   %edx,%edx
4465db:	75 17                	jne    0x4465f4
4465dd:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4465e2:	56                   	push   %esi
4465e3:	68 d2 01 00 00       	push   $0x1d2
4465e8:	68 7c 69 46 00       	push   $0x46697c
4465ed:	e8 e1 d1 fb ff       	call   0x4037d3
4465f2:	eb 19                	jmp    0x44660d
4465f4:	8b 4d 14             	mov    0x14(%ebp),%ecx
4465f7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4465fa:	89 01                	mov    %eax,(%ecx)
4465fc:	8b 45 10             	mov    0x10(%ebp),%eax
4465ff:	89 10                	mov    %edx,(%eax)
446601:	eb 0a                	jmp    0x44660d
446603:	8b 45 10             	mov    0x10(%ebp),%eax
446606:	89 38                	mov    %edi,(%eax)
446608:	8b 45 14             	mov    0x14(%ebp),%eax
44660b:	89 38                	mov    %edi,(%eax)
44660d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446610:	85 c9                	test   %ecx,%ecx
446612:	74 06                	je     0x44661a
446614:	8b 01                	mov    (%ecx),%eax
446616:	51                   	push   %ecx
446617:	ff 50 08             	call   *0x8(%eax)
44661a:	5f                   	pop    %edi
44661b:	8b c6                	mov    %esi,%eax
44661d:	5e                   	pop    %esi
44661e:	8b e5                	mov    %ebp,%esp
446620:	5d                   	pop    %ebp
446621:	c2 10 00             	ret    $0x10
446624:	55                   	push   %ebp
446625:	8b ec                	mov    %esp,%ebp
446627:	51                   	push   %ecx
446628:	51                   	push   %ecx
446629:	56                   	push   %esi
44662a:	57                   	push   %edi
44662b:	8d 45 f8             	lea    -0x8(%ebp),%eax
44662e:	33 ff                	xor    %edi,%edi
446630:	50                   	push   %eax
446631:	ff 75 0c             	push   0xc(%ebp)
446634:	89 7d f8             	mov    %edi,-0x8(%ebp)
446637:	ff 75 08             	push   0x8(%ebp)
44663a:	89 7d fc             	mov    %edi,-0x4(%ebp)
44663d:	e8 c1 d1 ff ff       	call   0x443803
446642:	8b f0                	mov    %eax,%esi
446644:	85 f6                	test   %esi,%esi
446646:	78 5d                	js     0x4466a5
446648:	75 51                	jne    0x44669b
44664a:	8b 45 f8             	mov    -0x8(%ebp),%eax
44664d:	8d 55 fc             	lea    -0x4(%ebp),%edx
446650:	52                   	push   %edx
446651:	50                   	push   %eax
446652:	8b 08                	mov    (%eax),%ecx
446654:	ff 51 20             	call   *0x20(%ecx)
446657:	8b f0                	mov    %eax,%esi
446659:	85 f6                	test   %esi,%esi
44665b:	78 48                	js     0x4466a5
44665d:	8b 45 fc             	mov    -0x4(%ebp),%eax
446660:	85 c0                	test   %eax,%eax
446662:	74 41                	je     0x4466a5
446664:	6a 01                	push   $0x1
446666:	c1 e0 06             	shl    $0x6,%eax
446669:	50                   	push   %eax
44666a:	e8 65 d2 fb ff       	call   0x4038d4
44666f:	8b d0                	mov    %eax,%edx
446671:	85 d2                	test   %edx,%edx
446673:	75 17                	jne    0x44668c
446675:	be 0e 00 07 80       	mov    $0x8007000e,%esi
44667a:	56                   	push   %esi
44667b:	68 d2 01 00 00       	push   $0x1d2
446680:	68 7c 69 46 00       	push   $0x46697c
446685:	e8 49 d1 fb ff       	call   0x4037d3
44668a:	eb 19                	jmp    0x4466a5
44668c:	8b 4d 14             	mov    0x14(%ebp),%ecx
44668f:	8b 45 fc             	mov    -0x4(%ebp),%eax
446692:	89 01                	mov    %eax,(%ecx)
446694:	8b 45 10             	mov    0x10(%ebp),%eax
446697:	89 10                	mov    %edx,(%eax)
446699:	eb 0a                	jmp    0x4466a5
44669b:	8b 45 10             	mov    0x10(%ebp),%eax
44669e:	89 38                	mov    %edi,(%eax)
4466a0:	8b 45 14             	mov    0x14(%ebp),%eax
4466a3:	89 38                	mov    %edi,(%eax)
4466a5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4466a8:	85 c9                	test   %ecx,%ecx
4466aa:	74 06                	je     0x4466b2
4466ac:	8b 01                	mov    (%ecx),%eax
4466ae:	51                   	push   %ecx
4466af:	ff 50 08             	call   *0x8(%eax)
4466b2:	5f                   	pop    %edi
4466b3:	8b c6                	mov    %esi,%eax
4466b5:	5e                   	pop    %esi
4466b6:	8b e5                	mov    %ebp,%esp
4466b8:	5d                   	pop    %ebp
4466b9:	c2 10 00             	ret    $0x10
4466bc:	55                   	push   %ebp
4466bd:	8b ec                	mov    %esp,%ebp
4466bf:	51                   	push   %ecx
4466c0:	51                   	push   %ecx
4466c1:	56                   	push   %esi
4466c2:	57                   	push   %edi
4466c3:	8d 45 f8             	lea    -0x8(%ebp),%eax
4466c6:	33 ff                	xor    %edi,%edi
4466c8:	50                   	push   %eax
4466c9:	ff 75 0c             	push   0xc(%ebp)
4466cc:	89 7d f8             	mov    %edi,-0x8(%ebp)
4466cf:	ff 75 08             	push   0x8(%ebp)
4466d2:	89 7d fc             	mov    %edi,-0x4(%ebp)
4466d5:	e8 29 d1 ff ff       	call   0x443803
4466da:	8b f0                	mov    %eax,%esi
4466dc:	85 f6                	test   %esi,%esi
4466de:	78 5d                	js     0x44673d
4466e0:	75 51                	jne    0x446733
4466e2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4466e5:	8d 55 fc             	lea    -0x4(%ebp),%edx
4466e8:	52                   	push   %edx
4466e9:	50                   	push   %eax
4466ea:	8b 08                	mov    (%eax),%ecx
4466ec:	ff 51 20             	call   *0x20(%ecx)
4466ef:	8b f0                	mov    %eax,%esi
4466f1:	85 f6                	test   %esi,%esi
4466f3:	78 48                	js     0x44673d
4466f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4466f8:	85 c0                	test   %eax,%eax
4466fa:	74 41                	je     0x44673d
4466fc:	6b c0 28             	imul   $0x28,%eax,%eax
4466ff:	6a 01                	push   $0x1
446701:	50                   	push   %eax
446702:	e8 cd d1 fb ff       	call   0x4038d4
446707:	8b d0                	mov    %eax,%edx
446709:	85 d2                	test   %edx,%edx
44670b:	75 17                	jne    0x446724
44670d:	be 0e 00 07 80       	mov    $0x8007000e,%esi
446712:	56                   	push   %esi
446713:	68 d2 01 00 00       	push   $0x1d2
446718:	68 7c 69 46 00       	push   $0x46697c
44671d:	e8 b1 d0 fb ff       	call   0x4037d3
446722:	eb 19                	jmp    0x44673d
446724:	8b 4d 14             	mov    0x14(%ebp),%ecx
446727:	8b 45 fc             	mov    -0x4(%ebp),%eax
44672a:	89 01                	mov    %eax,(%ecx)
44672c:	8b 45 10             	mov    0x10(%ebp),%eax
44672f:	89 10                	mov    %edx,(%eax)
446731:	eb 0a                	jmp    0x44673d
446733:	8b 45 10             	mov    0x10(%ebp),%eax
446736:	89 38                	mov    %edi,(%eax)
446738:	8b 45 14             	mov    0x14(%ebp),%eax
44673b:	89 38                	mov    %edi,(%eax)
44673d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446740:	85 c9                	test   %ecx,%ecx
446742:	74 06                	je     0x44674a
446744:	8b 01                	mov    (%ecx),%eax
446746:	51                   	push   %ecx
446747:	ff 50 08             	call   *0x8(%eax)
44674a:	5f                   	pop    %edi
44674b:	8b c6                	mov    %esi,%eax
44674d:	5e                   	pop    %esi
44674e:	8b e5                	mov    %ebp,%esp
446750:	5d                   	pop    %ebp
446751:	c2 10 00             	ret    $0x10
446754:	55                   	push   %ebp
446755:	8b ec                	mov    %esp,%ebp
446757:	51                   	push   %ecx
446758:	53                   	push   %ebx
446759:	56                   	push   %esi
44675a:	57                   	push   %edi
44675b:	8b 7d 08             	mov    0x8(%ebp),%edi
44675e:	33 db                	xor    %ebx,%ebx
446760:	89 5d fc             	mov    %ebx,-0x4(%ebp)
446763:	39 5f 04             	cmp    %ebx,0x4(%edi)
446766:	75 2e                	jne    0x446796
446768:	39 1f                	cmp    %ebx,(%edi)
44676a:	75 2a                	jne    0x446796
44676c:	8d 45 fc             	lea    -0x4(%ebp),%eax
44676f:	50                   	push   %eax
446770:	ff 75 0c             	push   0xc(%ebp)
446773:	e8 50 cc ff ff       	call   0x4433c8
446778:	8b f0                	mov    %eax,%esi
44677a:	85 f6                	test   %esi,%esi
44677c:	78 2d                	js     0x4467ab
44677e:	75 0d                	jne    0x44678d
446780:	57                   	push   %edi
446781:	ff 75 fc             	push   -0x4(%ebp)
446784:	e8 42 1e 00 00       	call   0x4485cb
446789:	8b f0                	mov    %eax,%esi
44678b:	eb 1e                	jmp    0x4467ab
44678d:	89 1f                	mov    %ebx,(%edi)
44678f:	8b f3                	mov    %ebx,%esi
446791:	89 5f 04             	mov    %ebx,0x4(%edi)
446794:	eb 15                	jmp    0x4467ab
446796:	be 0d 00 07 80       	mov    $0x8007000d,%esi
44679b:	56                   	push   %esi
44679c:	68 27 04 00 00       	push   $0x427
4467a1:	68 7c 69 46 00       	push   $0x46697c
4467a6:	e8 28 d0 fb ff       	call   0x4037d3
4467ab:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
4467ae:	74 09                	je     0x4467b9
4467b0:	ff 75 fc             	push   -0x4(%ebp)
4467b3:	ff 15 20 b3 44 00    	call   *0x44b320
4467b9:	5f                   	pop    %edi
4467ba:	8b c6                	mov    %esi,%eax
4467bc:	5e                   	pop    %esi
4467bd:	5b                   	pop    %ebx
4467be:	8b e5                	mov    %ebp,%esp
4467c0:	5d                   	pop    %ebp
4467c1:	c2 08 00             	ret    $0x8
4467c4:	55                   	push   %ebp
4467c5:	8b ec                	mov    %esp,%ebp
4467c7:	51                   	push   %ecx
4467c8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4467cc:	56                   	push   %esi
4467cd:	57                   	push   %edi
4467ce:	8b 7d 08             	mov    0x8(%ebp),%edi
4467d1:	85 ff                	test   %edi,%edi
4467d3:	74 1c                	je     0x4467f1
4467d5:	83 3f 00             	cmpl   $0x0,(%edi)
4467d8:	74 17                	je     0x4467f1
4467da:	be 0d 00 07 80       	mov    $0x8007000d,%esi