41a4f8:	57                   	push   %edi
41a4f9:	8b ce                	mov    %esi,%ecx
41a4fb:	e8 d8 31 00 00       	call   0x41d6d8
41a500:	a9 00 00 00 40       	test   $0x40000000,%eax
41a505:	75 41                	jne    0x41a548
41a507:	8b ce                	mov    %esi,%ecx
41a509:	e8 c9 13 00 00       	call   0x41b8d7
41a50e:	8b 7d 10             	mov    0x10(%ebp),%edi
41a511:	8b d8                	mov    %eax,%ebx
41a513:	8b cf                	mov    %edi,%ecx
41a515:	e8 bd 13 00 00       	call   0x41b8d7
41a51a:	3b d8                	cmp    %eax,%ebx
41a51c:	74 2a                	je     0x41a548
41a51e:	8b 46 1c             	mov    0x1c(%esi),%eax
41a521:	85 ff                	test   %edi,%edi
41a523:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a526:	75 05                	jne    0x41a52d
41a528:	21 7d fc             	and    %edi,-0x4(%ebp)
41a52b:	eb 06                	jmp    0x41a533
41a52d:	8b 47 1c             	mov    0x1c(%edi),%eax
41a530:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a533:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a536:	50                   	push   %eax
41a537:	ff 75 0c             	push   0xc(%ebp)
41a53a:	68 6e 03 00 00       	push   $0x36e
41a53f:	ff 73 1c             	push   0x1c(%ebx)
41a542:	ff 15 88 99 43 00    	call   *0x439988
41a548:	5f                   	pop    %edi
41a549:	5e                   	pop    %esi
41a54a:	5b                   	pop    %ebx
41a54b:	c9                   	leave
41a54c:	c2 0c 00             	ret    $0xc
41a54f:	55                   	push   %ebp
41a550:	8b ec                	mov    %esp,%ebp
41a552:	83 7d 0c fe          	cmpl   $0xfffffffe,0xc(%ebp)
41a556:	56                   	push   %esi
41a557:	75 67                	jne    0x41a5c0
41a559:	81 7d 10 01 02 00 00 	cmpl   $0x201,0x10(%ebp)
41a560:	74 12                	je     0x41a574
41a562:	81 7d 10 07 02 00 00 	cmpl   $0x207,0x10(%ebp)
41a569:	74 09                	je     0x41a574
41a56b:	81 7d 10 04 02 00 00 	cmpl   $0x204,0x10(%ebp)
41a572:	75 4c                	jne    0x41a5c0
41a574:	8b 4d 08             	mov    0x8(%ebp),%ecx
41a577:	e8 5b 13 00 00       	call   0x41b8d7
41a57c:	8b f0                	mov    %eax,%esi
41a57e:	85 f6                	test   %esi,%esi
41a580:	74 3e                	je     0x41a5c0
41a582:	ff 76 1c             	push   0x1c(%esi)
41a585:	ff 15 fc 98 43 00    	call   *0x4398fc
41a58b:	50                   	push   %eax
41a58c:	e8 2f fd ff ff       	call   0x41a2c0
41a591:	8b f0                	mov    %eax,%esi
41a593:	85 f6                	test   %esi,%esi
41a595:	74 29                	je     0x41a5c0
41a597:	ff 15 00 99 43 00    	call   *0x439900
41a59d:	50                   	push   %eax
41a59e:	e8 1d fd ff ff       	call   0x41a2c0
41a5a3:	3b f0                	cmp    %eax,%esi
41a5a5:	74 19                	je     0x41a5c0
41a5a7:	8b ce                	mov    %esi,%ecx
41a5a9:	e8 63 32 00 00       	call   0x41d811
41a5ae:	85 c0                	test   %eax,%eax
41a5b0:	74 0e                	je     0x41a5c0
41a5b2:	ff 76 1c             	push   0x1c(%esi)
41a5b5:	ff 15 04 99 43 00    	call   *0x439904
41a5bb:	6a 01                	push   $0x1
41a5bd:	58                   	pop    %eax
41a5be:	eb 02                	jmp    0x41a5c2
41a5c0:	33 c0                	xor    %eax,%eax
41a5c2:	5e                   	pop    %esi
41a5c3:	5d                   	pop    %ebp
41a5c4:	c2 0c 00             	ret    $0xc
41a5c7:	55                   	push   %ebp
41a5c8:	8b ec                	mov    %esp,%ebp
41a5ca:	56                   	push   %esi
41a5cb:	57                   	push   %edi
41a5cc:	68 9d b1 40 00       	push   $0x40b19d
41a5d1:	b9 f4 6b 43 00       	mov    $0x436bf4,%ecx
41a5d6:	e8 75 ab 00 00       	call   0x425150
41a5db:	8b 7d 0c             	mov    0xc(%ebp),%edi
41a5de:	8b f0                	mov    %eax,%esi
41a5e0:	8b 46 04             	mov    0x4(%esi),%eax
41a5e3:	85 c0                	test   %eax,%eax
41a5e5:	74 47                	je     0x41a62e
41a5e7:	81 ff 35 01 00 00    	cmp    $0x135,%edi
41a5ed:	74 20                	je     0x41a60f
41a5ef:	81 ff 36 01 00 00    	cmp    $0x136,%edi
41a5f5:	74 18                	je     0x41a60f
41a5f7:	81 ff 38 01 00 00    	cmp    $0x138,%edi
41a5fd:	74 10                	je     0x41a60f
41a5ff:	81 ff 37 01 00 00    	cmp    $0x137,%edi
41a605:	74 08                	je     0x41a60f
41a607:	81 ff 34 01 00 00    	cmp    $0x134,%edi
41a60d:	75 1f                	jne    0x41a62e
41a60f:	ff 76 08             	push   0x8(%esi)
41a612:	50                   	push   %eax
41a613:	8d 87 ce fe ff ff    	lea    -0x132(%edi),%eax
41a619:	50                   	push   %eax
41a61a:	ff 75 14             	push   0x14(%ebp)
41a61d:	ff 75 10             	push   0x10(%ebp)
41a620:	e8 6b 1e 00 00       	call   0x41c490
41a625:	85 c0                	test   %eax,%eax
41a627:	74 05                	je     0x41a62e
41a629:	8b 46 04             	mov    0x4(%esi),%eax
41a62c:	eb 0f                	jmp    0x41a63d
41a62e:	ff 75 14             	push   0x14(%ebp)
41a631:	ff 75 10             	push   0x10(%ebp)
41a634:	57                   	push   %edi
41a635:	ff 75 08             	push   0x8(%ebp)
41a638:	e8 64 fd ff ff       	call   0x41a3a1
41a63d:	5f                   	pop    %edi
41a63e:	5e                   	pop    %esi
41a63f:	5d                   	pop    %ebp
41a640:	c2 10 00             	ret    $0x10
41a643:	55                   	push   %ebp
41a644:	8b ec                	mov    %esp,%ebp
41a646:	51                   	push   %ecx
41a647:	51                   	push   %ecx
41a648:	57                   	push   %edi
41a649:	68 ce b1 40 00       	push   $0x40b1ce
41a64e:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41a653:	e8 36 aa 00 00       	call   0x42508e
41a658:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
41a65c:	8b f8                	mov    %eax,%edi
41a65e:	89 7d fc             	mov    %edi,-0x4(%ebp)
41a661:	74 17                	je     0x41a67a
41a663:	ff 75 10             	push   0x10(%ebp)
41a666:	ff 75 0c             	push   0xc(%ebp)
41a669:	ff 75 08             	push   0x8(%ebp)
41a66c:	ff 77 2c             	push   0x2c(%edi)
41a66f:	ff 15 f0 98 43 00    	call   *0x4398f0
41a675:	e9 52 01 00 00       	jmp    0x41a7cc
41a67a:	8b 45 10             	mov    0x10(%ebp),%eax
41a67d:	56                   	push   %esi
41a67e:	8b 77 14             	mov    0x14(%edi),%esi
41a681:	53                   	push   %ebx
41a682:	8b 00                	mov    (%eax),%eax
41a684:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41a687:	85 f6                	test   %esi,%esi
41a689:	75 19                	jne    0x41a6a4
41a68b:	f6 40 23 40          	testb  $0x40,0x23(%eax)
41a68f:	0f 85 0a 01 00 00    	jne    0x41a79f
41a695:	e8 ad a0 00 00       	call   0x424747
41a69a:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41a69e:	0f 85 fb 00 00 00    	jne    0x41a79f
41a6a4:	85 f6                	test   %esi,%esi
41a6a6:	0f 84 ae 00 00 00    	je     0x41a75a
41a6ac:	53                   	push   %ebx
41a6ad:	8b ce                	mov    %esi,%ecx
41a6af:	e8 50 fc ff ff       	call   0x41a304
41a6b4:	8b 3e                	mov    (%esi),%edi
41a6b6:	8b ce                	mov    %esi,%ecx
41a6b8:	ff 57 58             	call   *0x58(%edi)
41a6bb:	8b ce                	mov    %esi,%ecx
41a6bd:	ff 97 88 00 00 00    	call   *0x88(%edi)
41a6c3:	83 3d dc 6d 43 00 00 	cmpl   $0x0,0x436ddc
41a6ca:	89 45 0c             	mov    %eax,0xc(%ebp)
41a6cd:	75 66                	jne    0x41a735
41a6cf:	e8 73 a0 00 00       	call   0x424747
41a6d4:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41a6d8:	75 5b                	jne    0x41a735
41a6da:	8b 3d 78 6d 43 00    	mov    0x436d78,%edi
41a6e0:	85 ff                	test   %edi,%edi
41a6e2:	74 51                	je     0x41a735
41a6e4:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
41a6e8:	74 4b                	je     0x41a735
41a6ea:	6a 00                	push   $0x0
41a6ec:	6a 00                	push   $0x0
41a6ee:	68 6f 03 00 00       	push   $0x36f
41a6f3:	53                   	push   %ebx
41a6f4:	56                   	push   %esi
41a6f5:	e8 5a f9 ff ff       	call   0x41a054
41a6fa:	85 c0                	test   %eax,%eax
41a6fc:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a6ff:	74 34                	je     0x41a735
41a701:	e8 95 fc ff ff       	call   0x41a39b
41a706:	6a fc                	push   $0xfffffffc
41a708:	53                   	push   %ebx
41a709:	89 45 08             	mov    %eax,0x8(%ebp)
41a70c:	ff 15 20 99 43 00    	call   *0x439920
41a712:	ff 75 f8             	push   -0x8(%ebp)
41a715:	8b f0                	mov    %eax,%esi
41a717:	2b 75 08             	sub    0x8(%ebp),%esi
41a71a:	53                   	push   %ebx
41a71b:	f7 de                	neg    %esi
41a71d:	1b f6                	sbb    %esi,%esi
41a71f:	46                   	inc    %esi
41a720:	ff 57 20             	call   *0x20(%edi)
41a723:	85 f6                	test   %esi,%esi
41a725:	75 28                	jne    0x41a74f
41a727:	ff 75 08             	push   0x8(%ebp)
41a72a:	6a fc                	push   $0xfffffffc
41a72c:	53                   	push   %ebx
41a72d:	ff 15 28 99 43 00    	call   *0x439928
41a733:	eb 15                	jmp    0x41a74a
41a735:	e8 61 fc ff ff       	call   0x41a39b
41a73a:	8b f0                	mov    %eax,%esi
41a73c:	56                   	push   %esi
41a73d:	6a fc                	push   $0xfffffffc
41a73f:	53                   	push   %ebx
41a740:	ff 15 28 99 43 00    	call   *0x439928
41a746:	3b c6                	cmp    %esi,%eax
41a748:	74 05                	je     0x41a74f
41a74a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41a74d:	89 01                	mov    %eax,(%ecx)
41a74f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a752:	8b f8                	mov    %eax,%edi
41a754:	83 60 14 00          	andl   $0x0,0x14(%eax)
41a758:	eb 45                	jmp    0x41a79f
41a75a:	6a fc                	push   $0xfffffffc
41a75c:	53                   	push   %ebx
41a75d:	ff 15 20 99 43 00    	call   *0x439920
41a763:	85 c0                	test   %eax,%eax
41a765:	89 45 08             	mov    %eax,0x8(%ebp)
41a768:	74 35                	je     0x41a79f
41a76a:	be 68 9a 42 00       	mov    $0x429a68,%esi
41a76f:	50                   	push   %eax
41a770:	56                   	push   %esi
41a771:	53                   	push   %ebx
41a772:	ff 15 f4 98 43 00    	call   *0x4398f4
41a778:	56                   	push   %esi
41a779:	53                   	push   %ebx
41a77a:	ff 15 08 99 43 00    	call   *0x439908
41a780:	3b 45 08             	cmp    0x8(%ebp),%eax
41a783:	75 1a                	jne    0x41a79f
41a785:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
41a789:	b8 c7 a5 41 00       	mov    $0x41a5c7,%eax
41a78e:	75 05                	jne    0x41a795
41a790:	b8 a1 a3 41 00       	mov    $0x41a3a1,%eax
41a795:	50                   	push   %eax
41a796:	6a fc                	push   $0xfffffffc
41a798:	53                   	push   %ebx
41a799:	ff 15 28 99 43 00    	call   *0x439928
41a79f:	ff 75 10             	push   0x10(%ebp)
41a7a2:	53                   	push   %ebx
41a7a3:	6a 03                	push   $0x3
41a7a5:	ff 77 2c             	push   0x2c(%edi)
41a7a8:	ff 15 f0 98 43 00    	call   *0x4398f0
41a7ae:	8b f0                	mov    %eax,%esi
41a7b0:	e8 92 9f 00 00       	call   0x424747
41a7b5:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41a7b9:	74 0d                	je     0x41a7c8
41a7bb:	ff 77 2c             	push   0x2c(%edi)
41a7be:	ff 15 f8 98 43 00    	call   *0x4398f8
41a7c4:	83 67 2c 00          	andl   $0x0,0x2c(%edi)
41a7c8:	8b c6                	mov    %esi,%eax
41a7ca:	5b                   	pop    %ebx
41a7cb:	5e                   	pop    %esi
41a7cc:	5f                   	pop    %edi
41a7cd:	c9                   	leave
41a7ce:	c2 0c 00             	ret    $0xc
41a7d1:	56                   	push   %esi
41a7d2:	57                   	push   %edi
41a7d3:	68 ce b1 40 00       	push   $0x40b1ce
41a7d8:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41a7dd:	e8 ac a8 00 00       	call   0x42508e
41a7e2:	8b f0                	mov    %eax,%esi
41a7e4:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41a7e8:	39 7e 14             	cmp    %edi,0x14(%esi)
41a7eb:	74 2b                	je     0x41a818
41a7ed:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
41a7f1:	75 22                	jne    0x41a815
41a7f3:	ff 15 4c 97 43 00    	call   *0x43974c
41a7f9:	50                   	push   %eax
41a7fa:	6a 00                	push   $0x0
41a7fc:	68 43 a6 41 00       	push   $0x41a643
41a801:	6a 05                	push   $0x5
41a803:	ff 15 ec 98 43 00    	call   *0x4398ec
41a809:	85 c0                	test   %eax,%eax
41a80b:	89 46 2c             	mov    %eax,0x2c(%esi)
41a80e:	75 05                	jne    0x41a815
41a810:	e8 60 ee ff ff       	call   0x419675
41a815:	89 7e 14             	mov    %edi,0x14(%esi)
41a818:	5f                   	pop    %edi
41a819:	5e                   	pop    %esi
41a81a:	c2 04 00             	ret    $0x4
41a81d:	56                   	push   %esi
41a81e:	68 ce b1 40 00       	push   $0x40b1ce
41a823:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41a828:	e8 61 a8 00 00       	call   0x42508e
41a82d:	8b f0                	mov    %eax,%esi
41a82f:	e8 13 9f 00 00       	call   0x424747
41a834:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41a838:	74 12                	je     0x41a84c
41a83a:	8b 46 2c             	mov    0x2c(%esi),%eax
41a83d:	85 c0                	test   %eax,%eax
41a83f:	74 0b                	je     0x41a84c
41a841:	50                   	push   %eax
41a842:	ff 15 f8 98 43 00    	call   *0x4398f8
41a848:	83 66 2c 00          	andl   $0x0,0x2c(%esi)
41a84c:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
41a850:	74 08                	je     0x41a85a
41a852:	83 66 14 00          	andl   $0x0,0x14(%esi)
41a856:	33 c0                	xor    %eax,%eax
41a858:	5e                   	pop    %esi
41a859:	c3                   	ret
41a85a:	6a 01                	push   $0x1
41a85c:	58                   	pop    %eax
41a85d:	5e                   	pop    %esi
41a85e:	c3                   	ret
41a85f:	55                   	push   %ebp
41a860:	8b ec                	mov    %esp,%ebp
41a862:	83 ec 30             	sub    $0x30,%esp
41a865:	8b 45 08             	mov    0x8(%ebp),%eax
41a868:	56                   	push   %esi
41a869:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a86c:	8b 45 0c             	mov    0xc(%ebp),%eax
41a86f:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a872:	8b 45 10             	mov    0x10(%ebp),%eax
41a875:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a878:	8b 45 14             	mov    0x14(%ebp),%eax
41a87b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a87e:	8b 45 18             	mov    0x18(%ebp),%eax
41a881:	89 45 ec             	mov    %eax,-0x14(%ebp)
41a884:	8b 45 1c             	mov    0x1c(%ebp),%eax
41a887:	89 45 e8             	mov    %eax,-0x18(%ebp)
41a88a:	8b 45 20             	mov    0x20(%ebp),%eax
41a88d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41a890:	8b 45 24             	mov    0x24(%ebp),%eax
41a893:	89 45 e0             	mov    %eax,-0x20(%ebp)
41a896:	8b 45 28             	mov    0x28(%ebp),%eax
41a899:	89 45 dc             	mov    %eax,-0x24(%ebp)
41a89c:	8b 45 2c             	mov    0x2c(%ebp),%eax
41a89f:	57                   	push   %edi
41a8a0:	8b f9                	mov    %ecx,%edi
41a8a2:	89 45 d8             	mov    %eax,-0x28(%ebp)
41a8a5:	e8 9d 9e 00 00       	call   0x424747
41a8aa:	8b 40 08             	mov    0x8(%eax),%eax
41a8ad:	8b 37                	mov    (%edi),%esi
41a8af:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41a8b2:	8b 45 30             	mov    0x30(%ebp),%eax
41a8b5:	89 45 d0             	mov    %eax,-0x30(%ebp)
41a8b8:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a8bb:	50                   	push   %eax
41a8bc:	8b cf                	mov    %edi,%ecx
41a8be:	ff 56 64             	call   *0x64(%esi)
41a8c1:	85 c0                	test   %eax,%eax
41a8c3:	75 0c                	jne    0x41a8d1
41a8c5:	8b cf                	mov    %edi,%ecx
41a8c7:	ff 96 ac 00 00 00    	call   *0xac(%esi)
41a8cd:	33 c0                	xor    %eax,%eax
41a8cf:	eb 4c                	jmp    0x41a91d
41a8d1:	53                   	push   %ebx
41a8d2:	57                   	push   %edi
41a8d3:	e8 f9 fe ff ff       	call   0x41a7d1
41a8d8:	ff 75 d0             	push   -0x30(%ebp)
41a8db:	ff 75 d4             	push   -0x2c(%ebp)
41a8de:	ff 75 d8             	push   -0x28(%ebp)
41a8e1:	ff 75 dc             	push   -0x24(%ebp)