4464c0:	03 f1                	add    %ecx,%esi
4464c2:	56                   	push   %esi
4464c3:	e8 13 7d fd ff       	call   0x41e1db
4464c8:	8b f8                	mov    %eax,%edi
4464ca:	59                   	pop    %ecx
4464cb:	85 ff                	test   %edi,%edi
4464cd:	0f 84 8e 00 00 00    	je     0x446561
4464d3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4464d6:	03 45 f4             	add    -0xc(%ebp),%eax
4464d9:	50                   	push   %eax
4464da:	ff 75 e8             	push   -0x18(%ebp)
4464dd:	57                   	push   %edi
4464de:	e8 62 92 fd ff       	call   0x41f745
4464e3:	83 c4 0c             	add    $0xc,%esp
4464e6:	66 89 77 02          	mov    %si,0x2(%edi)
4464ea:	eb 7a                	jmp    0x446566
4464ec:	8b 7d ac             	mov    -0x54(%ebp),%edi
4464ef:	bb 0a 10 04 80       	mov    $0x8004100a,%ebx
4464f4:	eb 70                	jmp    0x446566
4464f6:	ff 75 bc             	push   -0x44(%ebp)
4464f9:	ff 15 84 11 45 00    	call   *0x451184
4464ff:	0f b7 35 60 0a 45 00 	movzwl 0x450a60,%esi
446506:	83 e8 04             	sub    $0x4,%eax
446509:	0f b7 0d 34 0a 45 00 	movzwl 0x450a34,%ecx
446510:	0f b7 d0             	movzwl %ax,%edx
446513:	0f b7 05 44 0a 45 00 	movzwl 0x450a44,%eax
44651a:	03 ca                	add    %edx,%ecx
44651c:	03 f0                	add    %eax,%esi
44651e:	0f b7 05 3c 0a 45 00 	movzwl 0x450a3c,%eax
446525:	03 f1                	add    %ecx,%esi
446527:	83 c0 14             	add    $0x14,%eax
44652a:	03 f0                	add    %eax,%esi
44652c:	56                   	push   %esi
44652d:	e8 a9 7c fd ff       	call   0x41e1db
446532:	8b f8                	mov    %eax,%edi
446534:	59                   	pop    %ecx
446535:	85 ff                	test   %edi,%edi
446537:	74 28                	je     0x446561
446539:	6a 02                	push   $0x2
44653b:	56                   	push   %esi
44653c:	57                   	push   %edi
44653d:	ff 15 a8 11 45 00    	call   *0x4511a8
446543:	85 c0                	test   %eax,%eax
446545:	74 13                	je     0x44655a
446547:	6a 02                	push   $0x2
446549:	6a 0c                	push   $0xc
44654b:	8d 45 f0             	lea    -0x10(%ebp),%eax
44654e:	50                   	push   %eax
44654f:	57                   	push   %edi
446550:	ff 15 88 11 45 00    	call   *0x451188
446556:	85 c0                	test   %eax,%eax
446558:	75 0c                	jne    0x446566
44655a:	bb 0a 10 04 80       	mov    $0x8004100a,%ebx
44655f:	eb 05                	jmp    0x446566
446561:	bb 06 10 04 80       	mov    $0x80041006,%ebx
446566:	33 f6                	xor    %esi,%esi
446568:	85 db                	test   %ebx,%ebx
44656a:	0f 88 48 01 00 00    	js     0x4466b8
446570:	ff 75 e0             	push   -0x20(%ebp)
446573:	ff 75 b4             	push   -0x4c(%ebp)
446576:	ff 75 f0             	push   -0x10(%ebp)
446579:	6a 02                	push   $0x2
44657b:	57                   	push   %edi
44657c:	ff 15 bc 11 45 00    	call   *0x4511bc
446582:	85 c0                	test   %eax,%eax
446584:	74 03                	je     0x446589
446586:	46                   	inc    %esi
446587:	eb 05                	jmp    0x44658e
446589:	bb 0a 10 04 80       	mov    $0x8004100a,%ebx
44658e:	85 db                	test   %ebx,%ebx
446590:	0f 88 22 01 00 00    	js     0x4466b8
446596:	66 a1 44 0a 45 00    	mov    0x450a44,%ax
44659c:	66 85 c0             	test   %ax,%ax
44659f:	74 1b                	je     0x4465bc
4465a1:	0f b7 c0             	movzwl %ax,%eax
4465a4:	50                   	push   %eax
4465a5:	ff 35 5c 0a 45 00    	push   0x450a5c
4465ab:	56                   	push   %esi
4465ac:	6a 02                	push   $0x2
4465ae:	57                   	push   %edi
4465af:	ff 15 bc 11 45 00    	call   *0x4511bc
4465b5:	85 c0                	test   %eax,%eax
4465b7:	74 03                	je     0x4465bc
4465b9:	46                   	inc    %esi
4465ba:	eb 05                	jmp    0x4465c1
4465bc:	bb 0a 10 04 80       	mov    $0x8004100a,%ebx
4465c1:	85 db                	test   %ebx,%ebx
4465c3:	0f 88 ef 00 00 00    	js     0x4466b8
4465c9:	66 a1 3c 0a 45 00    	mov    0x450a3c,%ax
4465cf:	66 85 c0             	test   %ax,%ax
4465d2:	74 1b                	je     0x4465ef
4465d4:	0f b7 c0             	movzwl %ax,%eax
4465d7:	50                   	push   %eax
4465d8:	ff 35 58 0a 45 00    	push   0x450a58
4465de:	56                   	push   %esi
4465df:	6a 02                	push   $0x2
4465e1:	57                   	push   %edi
4465e2:	ff 15 bc 11 45 00    	call   *0x4511bc
4465e8:	85 c0                	test   %eax,%eax
4465ea:	74 03                	je     0x4465ef
4465ec:	46                   	inc    %esi
4465ed:	eb 05                	jmp    0x4465f4
4465ef:	bb 0a 10 04 80       	mov    $0x8004100a,%ebx
4465f4:	85 db                	test   %ebx,%ebx
4465f6:	0f 88 bc 00 00 00    	js     0x4466b8
4465fc:	66 a1 34 0a 45 00    	mov    0x450a34,%ax
446602:	66 85 c0             	test   %ax,%ax
446605:	74 1b                	je     0x446622
446607:	0f b7 c0             	movzwl %ax,%eax
44660a:	50                   	push   %eax
44660b:	ff 35 54 0a 45 00    	push   0x450a54
446611:	56                   	push   %esi
446612:	6a 02                	push   $0x2
446614:	57                   	push   %edi
446615:	ff 15 bc 11 45 00    	call   *0x4511bc
44661b:	85 c0                	test   %eax,%eax
44661d:	74 03                	je     0x446622
44661f:	46                   	inc    %esi
446620:	eb 05                	jmp    0x446627
446622:	bb 0a 10 04 80       	mov    $0x8004100a,%ebx
446627:	85 db                	test   %ebx,%ebx
446629:	0f 88 89 00 00 00    	js     0x4466b8
44662f:	66 a1 60 0a 45 00    	mov    0x450a60,%ax
446635:	66 85 c0             	test   %ax,%ax
446638:	74 18                	je     0x446652
44663a:	0f b7 c0             	movzwl %ax,%eax
44663d:	50                   	push   %eax
44663e:	ff 35 50 0a 45 00    	push   0x450a50
446644:	56                   	push   %esi
446645:	6a 02                	push   $0x2
446647:	57                   	push   %edi
446648:	ff 15 bc 11 45 00    	call   *0x4511bc
44664e:	85 c0                	test   %eax,%eax
446650:	75 05                	jne    0x446657
446652:	bb 0a 10 04 80       	mov    $0x8004100a,%ebx
446657:	85 db                	test   %ebx,%ebx
446659:	78 5d                	js     0x4466b8
44665b:	8b 75 ec             	mov    -0x14(%ebp),%esi
44665e:	6a 00                	push   $0x0
446660:	57                   	push   %edi
446661:	6a 01                	push   $0x1
446663:	56                   	push   %esi
446664:	ff 15 cc 11 45 00    	call   *0x4511cc
44666a:	85 c0                	test   %eax,%eax
44666c:	74 45                	je     0x4466b3
44666e:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
446672:	8d 45 ec             	lea    -0x14(%ebp),%eax
446675:	50                   	push   %eax
446676:	8b 45 b8             	mov    -0x48(%ebp),%eax
446679:	ff 30                	push   (%eax)
44667b:	56                   	push   %esi
44667c:	ff 15 c4 11 45 00    	call   *0x4511c4
446682:	85 c0                	test   %eax,%eax
446684:	75 32                	jne    0x4466b8
446686:	ff 15 54 10 45 00    	call   *0x451054
44668c:	83 f8 7a             	cmp    $0x7a,%eax
44668f:	75 27                	jne    0x4466b8
446691:	ff 75 ec             	push   -0x14(%ebp)
446694:	e8 42 7b fd ff       	call   0x41e1db
446699:	59                   	pop    %ecx
44669a:	8b 4d b8             	mov    -0x48(%ebp),%ecx
44669d:	89 01                	mov    %eax,(%ecx)
44669f:	85 c0                	test   %eax,%eax
4466a1:	74 5f                	je     0x446702
4466a3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4466a6:	51                   	push   %ecx
4466a7:	50                   	push   %eax
4466a8:	56                   	push   %esi
4466a9:	ff 15 c4 11 45 00    	call   *0x4511c4
4466af:	85 c0                	test   %eax,%eax
4466b1:	75 05                	jne    0x4466b8
4466b3:	bb 0a 10 04 80       	mov    $0x8004100a,%ebx
4466b8:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
4466bb:	e8 50 99 fc ff       	call   0x410010
4466c0:	8b cf                	mov    %edi,%ecx
4466c2:	e8 49 99 fc ff       	call   0x410010
4466c7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4466ca:	e8 41 99 fc ff       	call   0x410010
4466cf:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4466d2:	e8 39 99 fc ff       	call   0x410010
4466d7:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4466da:	e8 31 99 fc ff       	call   0x410010
4466df:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4466e2:	e8 29 99 fc ff       	call   0x410010
4466e7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4466ea:	e8 21 99 fc ff       	call   0x410010
4466ef:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4466f2:	8b c3                	mov    %ebx,%eax
4466f4:	5f                   	pop    %edi
4466f5:	5e                   	pop    %esi
4466f6:	33 cd                	xor    %ebp,%ecx
4466f8:	5b                   	pop    %ebx
4466f9:	e8 12 8c fd ff       	call   0x41f310
4466fe:	c9                   	leave
4466ff:	c2 0c 00             	ret    $0xc
446702:	bb 06 10 04 80       	mov    $0x80041006,%ebx
446707:	eb af                	jmp    0x4466b8
446709:	8b ff                	mov    %edi,%edi
44670b:	55                   	push   %ebp
44670c:	8b ec                	mov    %esp,%ebp
44670e:	83 ec 10             	sub    $0x10,%esp
446711:	53                   	push   %ebx
446712:	56                   	push   %esi
446713:	57                   	push   %edi
446714:	8b f1                	mov    %ecx,%esi
446716:	89 55 f0             	mov    %edx,-0x10(%ebp)
446719:	56                   	push   %esi
44671a:	33 ff                	xor    %edi,%edi
44671c:	68 84 7a 40 00       	push   $0x407a84
446721:	89 7d f8             	mov    %edi,-0x8(%ebp)
446724:	ff 15 58 30 45 00    	call   *0x453058
44672a:	8b 5d 08             	mov    0x8(%ebp),%ebx
44672d:	85 c0                	test   %eax,%eax
44672f:	78 35                	js     0x446766
446731:	8b 06                	mov    (%esi),%eax
446733:	8d 4d f8             	lea    -0x8(%ebp),%ecx
446736:	51                   	push   %ecx
446737:	68 b4 7a 40 00       	push   $0x407ab4
44673c:	50                   	push   %eax
44673d:	8b 30                	mov    (%eax),%esi
44673f:	8b 0e                	mov    (%esi),%ecx
446741:	ff 15 c4 12 45 00    	call   *0x4512c4
446747:	ff 16                	call   *(%esi)
446749:	85 c0                	test   %eax,%eax
44674b:	78 17                	js     0x446764
44674d:	8b 45 f8             	mov    -0x8(%ebp),%eax
446750:	50                   	push   %eax
446751:	8b 08                	mov    (%eax),%ecx
446753:	8b 71 18             	mov    0x18(%ecx),%esi
446756:	8b ce                	mov    %esi,%ecx
446758:	ff 15 c4 12 45 00    	call   *0x4512c4
44675e:	ff d6                	call   *%esi
446760:	89 03                	mov    %eax,(%ebx)
446762:	eb 02                	jmp    0x446766
446764:	89 3b                	mov    %edi,(%ebx)
446766:	8d 45 fc             	lea    -0x4(%ebp),%eax
446769:	89 7d fc             	mov    %edi,-0x4(%ebp)
44676c:	50                   	push   %eax
44676d:	68 e8 6a 40 00       	push   $0x406ae8
446772:	8d 45 f4             	lea    -0xc(%ebp),%eax
446775:	c7 45 f4 05 00 00 00 	movl   $0x5,-0xc(%ebp)
44677c:	50                   	push   %eax
44677d:	b9 f8 6a 40 00       	mov    $0x406af8,%ecx
446782:	e8 4c 81 fd ff       	call   0x41e8d3
446787:	8b f8                	mov    %eax,%edi
446789:	85 ff                	test   %edi,%edi
44678b:	0f 88 9c 00 00 00    	js     0x44682d
446791:	8b 45 fc             	mov    -0x4(%ebp),%eax
446794:	8d 4d f4             	lea    -0xc(%ebp),%ecx
446797:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
44679b:	51                   	push   %ecx
44679c:	6a 02                	push   $0x2
44679e:	8b 30                	mov    (%eax),%esi
4467a0:	50                   	push   %eax
4467a1:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4467a4:	ff 15 c4 12 45 00    	call   *0x4512c4
4467aa:	ff 56 1c             	call   *0x1c(%esi)
4467ad:	8b f8                	mov    %eax,%edi
4467af:	85 ff                	test   %edi,%edi
4467b1:	78 67                	js     0x44681a
4467b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4467b6:	ff 75 f4             	push   -0xc(%ebp)
4467b9:	50                   	push   %eax
4467ba:	8b 08                	mov    (%eax),%ecx
4467bc:	8b 71 20             	mov    0x20(%ecx),%esi
4467bf:	8b ce                	mov    %esi,%ecx
4467c1:	ff 15 c4 12 45 00    	call   *0x4512c4
4467c7:	ff d6                	call   *%esi
4467c9:	8b f8                	mov    %eax,%edi
4467cb:	85 ff                	test   %edi,%edi
4467cd:	78 38                	js     0x446807
4467cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4467d2:	ff 75 f0             	push   -0x10(%ebp)
4467d5:	68 b4 7a 40 00       	push   $0x407ab4
4467da:	8b 08                	mov    (%eax),%ecx
4467dc:	50                   	push   %eax
4467dd:	8b 31                	mov    (%ecx),%esi
4467df:	8b ce                	mov    %esi,%ecx
4467e1:	ff 15 c4 12 45 00    	call   *0x4512c4
4467e7:	ff d6                	call   *%esi
4467e9:	8b f8                	mov    %eax,%edi
4467eb:	85 ff                	test   %edi,%edi
4467ed:	78 18                	js     0x446807
4467ef:	83 3b 00             	cmpl   $0x0,(%ebx)
4467f2:	74 13                	je     0x446807
4467f4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4467f7:	50                   	push   %eax
4467f8:	8b 08                	mov    (%eax),%ecx
4467fa:	8b 71 14             	mov    0x14(%ecx),%esi
4467fd:	8b ce                	mov    %esi,%ecx
4467ff:	ff 15 c4 12 45 00    	call   *0x4512c4
446805:	ff d6                	call   *%esi
446807:	8b 45 f4             	mov    -0xc(%ebp),%eax
44680a:	50                   	push   %eax
44680b:	8b 08                	mov    (%eax),%ecx
44680d:	8b 71 08             	mov    0x8(%ecx),%esi
446810:	8b ce                	mov    %esi,%ecx
446812:	ff 15 c4 12 45 00    	call   *0x4512c4
446818:	ff d6                	call   *%esi
44681a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44681d:	50                   	push   %eax
44681e:	8b 08                	mov    (%eax),%ecx
446820:	8b 71 08             	mov    0x8(%ecx),%esi
446823:	8b ce                	mov    %esi,%ecx
446825:	ff 15 c4 12 45 00    	call   *0x4512c4
44682b:	ff d6                	call   *%esi
44682d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446830:	85 c9                	test   %ecx,%ecx
446832:	74 10                	je     0x446844
446834:	8b 01                	mov    (%ecx),%eax
446836:	51                   	push   %ecx
446837:	8b 70 08             	mov    0x8(%eax),%esi
44683a:	8b ce                	mov    %esi,%ecx
44683c:	ff 15 c4 12 45 00    	call   *0x4512c4
446842:	ff d6                	call   *%esi
446844:	8b c7                	mov    %edi,%eax
446846:	5f                   	pop    %edi
446847:	5e                   	pop    %esi
446848:	5b                   	pop    %ebx
446849:	c9                   	leave
44684a:	c2 04 00             	ret    $0x4
44684d:	8b ff                	mov    %edi,%edi
44684f:	55                   	push   %ebp
446850:	8b ec                	mov    %esp,%ebp
446852:	83 ec 14             	sub    $0x14,%esp
446855:	53                   	push   %ebx
446856:	8b d9                	mov    %ecx,%ebx
446858:	33 c9                	xor    %ecx,%ecx
44685a:	56                   	push   %esi
44685b:	41                   	inc    %ecx
44685c:	33 f6                	xor    %esi,%esi
44685e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
446861:	57                   	push   %edi
446862:	85 db                	test   %ebx,%ebx
446864:	75 03                	jne    0x446869
446866:	8b 5d 0c             	mov    0xc(%ebp),%ebx
446869:	21 75 fc             	and    %esi,-0x4(%ebp)
44686c:	8d 45 fc             	lea    -0x4(%ebp),%eax
44686f:	50                   	push   %eax
446870:	51                   	push   %ecx
446871:	6a 08                	push   $0x8
446873:	ff 15 f4 10 45 00    	call   *0x4510f4
446879:	50                   	push   %eax
44687a:	ff 15 d4 10 45 00    	call   *0x4510d4
446880:	8b f8                	mov    %eax,%edi
446882:	ff 15 54 10 45 00    	call   *0x451054
446888:	3d 1d 05 00 00       	cmp    $0x51d,%eax
44688d:	0f 84 bb 00 00 00    	je     0x44694e
446893:	3d f0 03 00 00       	cmp    $0x3f0,%eax
446898:	0f 84 b0 00 00 00    	je     0x44694e