45a54e:	74 05                	je     0x45a555
45a550:	01 4e 04             	add    %ecx,0x4(%esi)
45a553:	eb 13                	jmp    0x45a568
45a555:	f7 c7 00 40 00 00    	test   $0x4000,%edi
45a55b:	74 0b                	je     0x45a568
45a55d:	8b 55 ec             	mov    -0x14(%ebp),%edx
45a560:	2b d1                	sub    %ecx,%edx
45a562:	29 4e 0c             	sub    %ecx,0xc(%esi)
45a565:	89 55 e4             	mov    %edx,-0x1c(%ebp)
45a568:	8b 55 e4             	mov    -0x1c(%ebp),%edx
45a56b:	03 ca                	add    %edx,%ecx
45a56d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
45a570:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45a573:	03 c8                	add    %eax,%ecx
45a575:	83 3e 00             	cmpl   $0x0,(%esi)
45a578:	5f                   	pop    %edi
45a579:	89 4d f0             	mov    %ecx,-0x10(%ebp)
45a57c:	5b                   	pop    %ebx
45a57d:	74 10                	je     0x45a58f
45a57f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45a582:	50                   	push   %eax
45a583:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a586:	ff 70 1c             	push   0x1c(%eax)
45a589:	56                   	push   %esi
45a58a:	e8 d1 8f fe ff       	call   0x443560
45a58f:	33 c0                	xor    %eax,%eax
45a591:	5e                   	pop    %esi
45a592:	c9                   	leave
45a593:	c2 08 00             	ret    $0x8
45a596:	55                   	push   %ebp
45a597:	8b ec                	mov    %esp,%ebp
45a599:	83 ec 10             	sub    $0x10,%esp
45a59c:	56                   	push   %esi
45a59d:	8d 45 f0             	lea    -0x10(%ebp),%eax
45a5a0:	8b f1                	mov    %ecx,%esi
45a5a2:	50                   	push   %eax
45a5a3:	ff 76 1c             	push   0x1c(%esi)
45a5a6:	ff 15 8c 08 4b 00    	call   *0x4b088c
45a5ac:	8b 06                	mov    (%esi),%eax
45a5ae:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45a5b1:	51                   	push   %ecx
45a5b2:	ff 75 08             	push   0x8(%ebp)
45a5b5:	8b ce                	mov    %esi,%ecx
45a5b7:	ff 90 44 01 00 00    	call   *0x144(%eax)
45a5bd:	8b 06                	mov    (%esi),%eax
45a5bf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45a5c2:	51                   	push   %ecx
45a5c3:	ff 75 08             	push   0x8(%ebp)
45a5c6:	8b ce                	mov    %esi,%ecx
45a5c8:	ff 90 48 01 00 00    	call   *0x148(%eax)
45a5ce:	5e                   	pop    %esi
45a5cf:	c9                   	leave
45a5d0:	c2 04 00             	ret    $0x4
45a5d3:	55                   	push   %ebp
45a5d4:	8b ec                	mov    %esp,%ebp
45a5d6:	83 ec 3c             	sub    $0x3c,%esp
45a5d9:	8b 51 7c             	mov    0x7c(%ecx),%edx
45a5dc:	f6 c6 0f             	test   $0xf,%dh
45a5df:	89 55 f4             	mov    %edx,-0xc(%ebp)
45a5e2:	0f 84 b9 01 00 00    	je     0x45a7a1
45a5e8:	53                   	push   %ebx
45a5e9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45a5ec:	56                   	push   %esi
45a5ed:	57                   	push   %edi
45a5ee:	8b f3                	mov    %ebx,%esi
45a5f0:	8d 7d d4             	lea    -0x2c(%ebp),%edi
45a5f3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a5f4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a5f5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a5f6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a5f7:	8b f3                	mov    %ebx,%esi
45a5f9:	8d 7d e4             	lea    -0x1c(%ebp),%edi
45a5fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a5fd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a5fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a5ff:	89 55 f8             	mov    %edx,-0x8(%ebp)
45a602:	81 65 f8 80 00 00 00 	andl   $0x80,-0x8(%ebp)
45a609:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a60a:	8b 3d 04 c4 4a 00    	mov    0x4ac404,%edi
45a610:	74 06                	je     0x45a618
45a612:	ff 4d dc             	decl   -0x24(%ebp)
45a615:	ff 4d e0             	decl   -0x20(%ebp)
45a618:	a1 ec c3 4a 00       	mov    0x4ac3ec,%eax
45a61d:	89 55 fc             	mov    %edx,-0x4(%ebp)
45a620:	81 65 fc 00 02 00 00 	andl   $0x200,-0x4(%ebp)
45a627:	74 03                	je     0x45a62c
45a629:	01 45 e8             	add    %eax,-0x18(%ebp)
45a62c:	89 55 0c             	mov    %edx,0xc(%ebp)
45a62f:	81 65 0c 00 08 00 00 	andl   $0x800,0xc(%ebp)
45a636:	74 03                	je     0x45a63b
45a638:	29 45 f0             	sub    %eax,-0x10(%ebp)
45a63b:	68 a4 e9 48 00       	push   $0x48e9a4
45a640:	e8 b9 63 fe ff       	call   0x4409fe
45a645:	85 c0                	test   %eax,%eax
45a647:	8b 75 08             	mov    0x8(%ebp),%esi
45a64a:	74 31                	je     0x45a67d
45a64c:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
45a650:	74 2b                	je     0x45a67d
45a652:	8b 43 08             	mov    0x8(%ebx),%eax
45a655:	ff 76 08             	push   0x8(%esi)
45a658:	83 65 c4 00          	andl   $0x0,-0x3c(%ebp)
45a65c:	89 45 cc             	mov    %eax,-0x34(%ebp)
45a65f:	8b 43 04             	mov    0x4(%ebx),%eax
45a662:	89 45 c8             	mov    %eax,-0x38(%ebp)
45a665:	8b 43 0c             	mov    0xc(%ebx),%eax
45a668:	89 45 d0             	mov    %eax,-0x30(%ebp)
45a66b:	ff 15 60 ff 4a 00    	call   *0x4aff60
45a671:	50                   	push   %eax
45a672:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45a675:	50                   	push   %eax
45a676:	8b ce                	mov    %esi,%ecx
45a678:	e8 81 56 00 00       	call   0x45fcfe
45a67d:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a680:	25 00 01 00 00       	and    $0x100,%eax
45a685:	89 45 08             	mov    %eax,0x8(%ebp)
45a688:	74 16                	je     0x45a6a0
45a68a:	8b 45 f0             	mov    -0x10(%ebp),%eax
45a68d:	2b 45 e8             	sub    -0x18(%ebp),%eax
45a690:	57                   	push   %edi
45a691:	50                   	push   %eax
45a692:	6a 01                	push   $0x1
45a694:	ff 75 e8             	push   -0x18(%ebp)
45a697:	8b ce                	mov    %esi,%ecx
45a699:	6a 00                	push   $0x0
45a69b:	e8 12 5b 00 00       	call   0x4601b2
45a6a0:	33 c0                	xor    %eax,%eax
45a6a2:	39 45 fc             	cmp    %eax,-0x4(%ebp)
45a6a5:	74 0f                	je     0x45a6b6
45a6a7:	57                   	push   %edi
45a6a8:	6a 01                	push   $0x1
45a6aa:	ff 73 08             	push   0x8(%ebx)
45a6ad:	8b ce                	mov    %esi,%ecx
45a6af:	50                   	push   %eax
45a6b0:	50                   	push   %eax
45a6b1:	e8 fc 5a 00 00       	call   0x4601b2
45a6b6:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a6b9:	25 00 04 00 00       	and    $0x400,%eax
45a6be:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a6c1:	74 17                	je     0x45a6da
45a6c3:	8b 45 f0             	mov    -0x10(%ebp),%eax
45a6c6:	2b 45 e8             	sub    -0x18(%ebp),%eax
45a6c9:	57                   	push   %edi
45a6ca:	50                   	push   %eax
45a6cb:	6a ff                	push   $0xffffffff
45a6cd:	ff 75 e8             	push   -0x18(%ebp)
45a6d0:	8b ce                	mov    %esi,%ecx
45a6d2:	ff 75 dc             	push   -0x24(%ebp)
45a6d5:	e8 d8 5a 00 00       	call   0x4601b2
45a6da:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
45a6de:	74 12                	je     0x45a6f2
45a6e0:	57                   	push   %edi
45a6e1:	6a ff                	push   $0xffffffff
45a6e3:	ff 73 08             	push   0x8(%ebx)
45a6e6:	8b ce                	mov    %esi,%ecx
45a6e8:	ff 75 e0             	push   -0x20(%ebp)
45a6eb:	6a 00                	push   $0x0
45a6ed:	e8 c0 5a 00 00       	call   0x4601b2
45a6f2:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
45a6f6:	74 6e                	je     0x45a766
45a6f8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45a6fc:	8b 3d 08 c4 4a 00    	mov    0x4ac408,%edi
45a702:	74 16                	je     0x45a71a
45a704:	8b 45 f0             	mov    -0x10(%ebp),%eax
45a707:	2b 45 e8             	sub    -0x18(%ebp),%eax
45a70a:	57                   	push   %edi
45a70b:	50                   	push   %eax
45a70c:	6a 01                	push   $0x1
45a70e:	ff 75 e8             	push   -0x18(%ebp)
45a711:	8b ce                	mov    %esi,%ecx
45a713:	6a 01                	push   $0x1
45a715:	e8 98 5a 00 00       	call   0x4601b2
45a71a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45a71e:	74 11                	je     0x45a731
45a720:	57                   	push   %edi
45a721:	6a 01                	push   $0x1
45a723:	ff 73 08             	push   0x8(%ebx)
45a726:	8b ce                	mov    %esi,%ecx
45a728:	6a 01                	push   $0x1
45a72a:	6a 00                	push   $0x0
45a72c:	e8 81 5a 00 00       	call   0x4601b2
45a731:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45a735:	74 17                	je     0x45a74e
45a737:	8b 45 f0             	mov    -0x10(%ebp),%eax
45a73a:	2b 45 e8             	sub    -0x18(%ebp),%eax
45a73d:	57                   	push   %edi
45a73e:	50                   	push   %eax
45a73f:	6a ff                	push   $0xffffffff
45a741:	ff 75 e8             	push   -0x18(%ebp)
45a744:	8b ce                	mov    %esi,%ecx
45a746:	ff 73 08             	push   0x8(%ebx)
45a749:	e8 64 5a 00 00       	call   0x4601b2
45a74e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
45a752:	74 12                	je     0x45a766
45a754:	57                   	push   %edi
45a755:	6a ff                	push   $0xffffffff
45a757:	ff 73 08             	push   0x8(%ebx)
45a75a:	8b ce                	mov    %esi,%ecx
45a75c:	ff 73 0c             	push   0xc(%ebx)
45a75f:	6a 00                	push   $0x0
45a761:	e8 4c 5a 00 00       	call   0x4601b2
45a766:	33 c0                	xor    %eax,%eax
45a768:	39 45 08             	cmp    %eax,0x8(%ebp)
45a76b:	74 08                	je     0x45a775
45a76d:	8b 0d e8 c3 4a 00    	mov    0x4ac3e8,%ecx
45a773:	01 0b                	add    %ecx,(%ebx)
45a775:	39 45 fc             	cmp    %eax,-0x4(%ebp)
45a778:	74 09                	je     0x45a783
45a77a:	8b 0d ec c3 4a 00    	mov    0x4ac3ec,%ecx
45a780:	01 4b 04             	add    %ecx,0x4(%ebx)
45a783:	39 45 f4             	cmp    %eax,-0xc(%ebp)
45a786:	74 09                	je     0x45a791
45a788:	8b 0d e8 c3 4a 00    	mov    0x4ac3e8,%ecx
45a78e:	29 4b 08             	sub    %ecx,0x8(%ebx)
45a791:	39 45 0c             	cmp    %eax,0xc(%ebp)
45a794:	74 08                	je     0x45a79e
45a796:	a1 ec c3 4a 00       	mov    0x4ac3ec,%eax
45a79b:	29 43 0c             	sub    %eax,0xc(%ebx)
45a79e:	5f                   	pop    %edi
45a79f:	5e                   	pop    %esi
45a7a0:	5b                   	pop    %ebx
45a7a1:	c9                   	leave
45a7a2:	c2 08 00             	ret    $0x8
45a7a5:	8b 41 7c             	mov    0x7c(%ecx),%eax
45a7a8:	8b d0                	mov    %eax,%edx
45a7aa:	81 e2 01 00 40 00    	and    $0x400001,%edx
45a7b0:	81 fa 00 00 40 00    	cmp    $0x400000,%edx
45a7b6:	75 57                	jne    0x45a80f
45a7b8:	8b 51 60             	mov    0x60(%ecx),%edx
45a7bb:	56                   	push   %esi
45a7bc:	57                   	push   %edi
45a7bd:	ff 35 04 c4 4a 00    	push   0x4ac404
45a7c3:	f6 c4 a0             	test   $0xa0,%ah
45a7c6:	ff 35 08 c4 4a 00    	push   0x4ac408
45a7cc:	8b 44 24 18          	mov    0x18(%esp),%eax
45a7d0:	74 1a                	je     0x45a7ec
45a7d2:	8b 78 0c             	mov    0xc(%eax),%edi
45a7d5:	8b 70 04             	mov    0x4(%eax),%esi
45a7d8:	2b 79 64             	sub    0x64(%ecx),%edi
45a7db:	8b 00                	mov    (%eax),%eax
45a7dd:	2b fe                	sub    %esi,%edi
45a7df:	2b fa                	sub    %edx,%edi
45a7e1:	57                   	push   %edi
45a7e2:	03 f2                	add    %edx,%esi
45a7e4:	6a 03                	push   $0x3
45a7e6:	40                   	inc    %eax
45a7e7:	56                   	push   %esi
45a7e8:	40                   	inc    %eax
45a7e9:	50                   	push   %eax
45a7ea:	eb 18                	jmp    0x45a804
45a7ec:	8b 78 08             	mov    0x8(%eax),%edi
45a7ef:	2b 79 64             	sub    0x64(%ecx),%edi
45a7f2:	8b 30                	mov    (%eax),%esi
45a7f4:	8b 40 04             	mov    0x4(%eax),%eax
45a7f7:	2b fa                	sub    %edx,%edi
45a7f9:	2b fe                	sub    %esi,%edi
45a7fb:	6a 03                	push   $0x3
45a7fd:	40                   	inc    %eax
45a7fe:	57                   	push   %edi
45a7ff:	40                   	inc    %eax
45a800:	50                   	push   %eax
45a801:	03 d6                	add    %esi,%edx
45a803:	52                   	push   %edx
45a804:	8b 4c 24 24          	mov    0x24(%esp),%ecx
45a808:	e8 f1 59 00 00       	call   0x4601fe
45a80d:	5f                   	pop    %edi
45a80e:	5e                   	pop    %esi
45a80f:	c2 08 00             	ret    $0x8
45a812:	56                   	push   %esi
45a813:	57                   	push   %edi
45a814:	8b f1                	mov    %ecx,%esi
45a816:	e8 37 e8 fa ff       	call   0x409052
45a81b:	8b f8                	mov    %eax,%edi
45a81d:	e8 05 31 01 00       	call   0x46d927
45a822:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
45a826:	83 f9 ff             	cmp    $0xffffffff,%ecx
45a829:	75 35                	jne    0x45a860
45a82b:	83 60 7c 00          	andl   $0x0,0x7c(%eax)
45a82f:	f6 46 78 08          	testb  $0x8,0x78(%esi)
45a833:	74 1b                	je     0x45a850
45a835:	6a 00                	push   $0x0
45a837:	68 01 e0 00 00       	push   $0xe001
45a83c:	68 75 03 00 00       	push   $0x375
45a841:	ff 77 1c             	push   0x1c(%edi)
45a844:	ff 15 98 08 4b 00    	call   *0x4b0898
45a84a:	83 66 78 f7          	andl   $0xfffffff7,0x78(%esi)
45a84e:	eb 48                	jmp    0x45a898
45a850:	68 00 e0 00 00       	push   $0xe000
45a855:	ff 76 1c             	push   0x1c(%esi)
45a858:	ff 15 f0 05 4b 00    	call   *0x4b05f0
45a85e:	eb 0b                	jmp    0x45a86b
45a860:	f6 46 78 08          	testb  $0x8,0x78(%esi)
45a864:	74 09                	je     0x45a86f
45a866:	39 48 78             	cmp    %ecx,0x78(%eax)
45a869:	75 04                	jne    0x45a86f
45a86b:	33 c0                	xor    %eax,%eax
45a86d:	eb 2c                	jmp    0x45a89b
45a86f:	6a 00                	push   $0x0
45a871:	51                   	push   %ecx
45a872:	68 62 03 00 00       	push   $0x362
45a877:	89 70 7c             	mov    %esi,0x7c(%eax)
45a87a:	ff 77 1c             	push   0x1c(%edi)
45a87d:	ff 15 98 08 4b 00    	call   *0x4b0898
45a883:	83 4e 78 08          	orl    $0x8,0x78(%esi)
45a887:	68 c8 00 00 00       	push   $0xc8
45a88c:	68 01 e0 00 00       	push   $0xe001
45a891:	8b ce                	mov    %esi,%ecx
45a893:	e8 b9 f6 ff ff       	call   0x459f51
45a898:	33 c0                	xor    %eax,%eax
45a89a:	40                   	inc    %eax
45a89b:	5f                   	pop    %edi
45a89c:	5e                   	pop    %esi
45a89d:	c2 04 00             	ret    $0x4
45a8a0:	55                   	push   %ebp
45a8a1:	8b ec                	mov    %esp,%ebp
45a8a3:	83 ec 48             	sub    $0x48,%esp
45a8a6:	56                   	push   %esi
45a8a7:	57                   	push   %edi
45a8a8:	8b 7d 08             	mov    0x8(%ebp),%edi
45a8ab:	57                   	push   %edi
45a8ac:	8b f1                	mov    %ecx,%esi
45a8ae:	e8 6c 89 fe ff       	call   0x44321f
45a8b3:	85 c0                	test   %eax,%eax
45a8b5:	0f 85 d5 01 00 00    	jne    0x45aa90
45a8bb:	8b 7f 04             	mov    0x4(%edi),%edi
45a8be:	53                   	push   %ebx
45a8bf:	8b ce                	mov    %esi,%ecx
45a8c1:	e8 8c e7 fa ff       	call   0x409052
45a8c6:	f6 46 7c 20          	testb  $0x20,0x7c(%esi)
45a8ca:	89 45 f0             	mov    %eax,-0x10(%ebp)
45a8cd:	bb 01 02 00 00       	mov    $0x201,%ebx
45a8d2:	75 10                	jne    0x45a8e4
45a8d4:	3b fb                	cmp    %ebx,%edi
45a8d6:	74 0c                	je     0x45a8e4
45a8d8:	81 ff 02 02 00 00    	cmp    $0x202,%edi
45a8de:	0f 85 59 01 00 00    	jne    0x45aa3d
45a8e4:	81 ff 00 02 00 00    	cmp    $0x200,%edi
45a8ea:	72 08                	jb     0x45a8f4
45a8ec:	81 ff 09 02 00 00    	cmp    $0x209,%edi
45a8f2:	76 18                	jbe    0x45a90c
45a8f4:	81 ff a0 00 00 00    	cmp    $0xa0,%edi
45a8fa:	0f 82 3d 01 00 00    	jb     0x45aa3d
45a900:	81 ff a9 00 00 00    	cmp    $0xa9,%edi
45a906:	0f 87 31 01 00 00    	ja     0x45aa3d
45a90c:	e8 16 30 01 00       	call   0x46d927
45a911:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a914:	8b 45 08             	mov    0x8(%ebp),%eax
45a917:	8b 48 14             	mov    0x14(%eax),%ecx
45a91a:	8b 40 18             	mov    0x18(%eax),%eax
45a91d:	89 45 ec             	mov    %eax,-0x14(%ebp)
45a920:	8d 45 e8             	lea    -0x18(%ebp),%eax