40b5c9:	c3                   	ret
40b5ca:	55                   	push   %ebp
40b5cb:	8b ec                	mov    %esp,%ebp
40b5cd:	ff 35 50 27 42 00    	push   0x422750
40b5d3:	ff 15 5c 90 41 00    	call   *0x41905c
40b5d9:	85 c0                	test   %eax,%eax
40b5db:	74 03                	je     0x40b5e0
40b5dd:	5d                   	pop    %ebp
40b5de:	ff e0                	jmp    *%eax
40b5e0:	ff 75 18             	push   0x18(%ebp)
40b5e3:	ff 75 14             	push   0x14(%ebp)
40b5e6:	ff 75 10             	push   0x10(%ebp)
40b5e9:	ff 75 0c             	push   0xc(%ebp)
40b5ec:	ff 75 08             	push   0x8(%ebp)
40b5ef:	e8 11 00 00 00       	call   0x40b605
40b5f4:	cc                   	int3
40b5f5:	33 c0                	xor    %eax,%eax
40b5f7:	50                   	push   %eax
40b5f8:	50                   	push   %eax
40b5f9:	50                   	push   %eax
40b5fa:	50                   	push   %eax
40b5fb:	50                   	push   %eax
40b5fc:	e8 c9 ff ff ff       	call   0x40b5ca
40b601:	83 c4 14             	add    $0x14,%esp
40b604:	c3                   	ret
40b605:	6a 17                	push   $0x17
40b607:	e8 6c c4 00 00       	call   0x417a78
40b60c:	85 c0                	test   %eax,%eax
40b60e:	74 05                	je     0x40b615
40b610:	6a 05                	push   $0x5
40b612:	59                   	pop    %ecx
40b613:	cd 29                	int    $0x29
40b615:	56                   	push   %esi
40b616:	6a 01                	push   $0x1
40b618:	be 17 04 00 c0       	mov    $0xc0000417,%esi
40b61d:	56                   	push   %esi
40b61e:	6a 02                	push   $0x2
40b620:	e8 75 fe ff ff       	call   0x40b49a
40b625:	56                   	push   %esi
40b626:	e8 44 44 00 00       	call   0x40fa6f
40b62b:	83 c4 10             	add    $0x10,%esp
40b62e:	5e                   	pop    %esi
40b62f:	c3                   	ret
40b630:	55                   	push   %ebp
40b631:	8b ec                	mov    %esp,%ebp
40b633:	51                   	push   %ecx
40b634:	e8 b9 1f 00 00       	call   0x40d5f2
40b639:	85 c0                	test   %eax,%eax
40b63b:	79 05                	jns    0x40b642
40b63d:	83 c8 ff             	or     $0xffffffff,%eax
40b640:	c9                   	leave
40b641:	c3                   	ret
40b642:	56                   	push   %esi
40b643:	8b 75 0c             	mov    0xc(%ebp),%esi
40b646:	57                   	push   %edi
40b647:	56                   	push   %esi
40b648:	e8 ec 28 00 00       	call   0x40df39
40b64d:	59                   	pop    %ecx
40b64e:	8b 4e 0c             	mov    0xc(%esi),%ecx
40b651:	8b f8                	mov    %eax,%edi
40b653:	f6 c1 82             	test   $0x82,%cl
40b656:	75 0d                	jne    0x40b665
40b658:	e8 20 cb ff ff       	call   0x40817d
40b65d:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40b663:	eb 10                	jmp    0x40b675
40b665:	f6 c1 40             	test   $0x40,%cl
40b668:	74 17                	je     0x40b681
40b66a:	e8 0e cb ff ff       	call   0x40817d
40b66f:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
40b675:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
40b679:	83 c8 ff             	or     $0xffffffff,%eax
40b67c:	e9 07 01 00 00       	jmp    0x40b788
40b681:	53                   	push   %ebx
40b682:	33 db                	xor    %ebx,%ebx
40b684:	f6 c1 01             	test   $0x1,%cl
40b687:	74 13                	je     0x40b69c
40b689:	89 5e 04             	mov    %ebx,0x4(%esi)
40b68c:	f6 c1 10             	test   $0x10,%cl
40b68f:	74 7d                	je     0x40b70e
40b691:	8b 46 08             	mov    0x8(%esi),%eax
40b694:	83 e1 fe             	and    $0xfffffffe,%ecx
40b697:	89 06                	mov    %eax,(%esi)
40b699:	89 4e 0c             	mov    %ecx,0xc(%esi)
40b69c:	8b 46 0c             	mov    0xc(%esi),%eax
40b69f:	83 e0 ef             	and    $0xffffffef,%eax
40b6a2:	83 c8 02             	or     $0x2,%eax
40b6a5:	89 46 0c             	mov    %eax,0xc(%esi)
40b6a8:	89 5e 04             	mov    %ebx,0x4(%esi)
40b6ab:	a9 0c 01 00 00       	test   $0x10c,%eax
40b6b0:	75 2a                	jne    0x40b6dc
40b6b2:	e8 5e ac ff ff       	call   0x406315
40b6b7:	83 c0 20             	add    $0x20,%eax
40b6ba:	3b f0                	cmp    %eax,%esi
40b6bc:	74 0c                	je     0x40b6ca
40b6be:	e8 52 ac ff ff       	call   0x406315
40b6c3:	83 c0 40             	add    $0x40,%eax
40b6c6:	3b f0                	cmp    %eax,%esi
40b6c8:	75 0b                	jne    0x40b6d5
40b6ca:	57                   	push   %edi
40b6cb:	e8 e5 67 00 00       	call   0x411eb5
40b6d0:	59                   	pop    %ecx
40b6d1:	85 c0                	test   %eax,%eax
40b6d3:	75 07                	jne    0x40b6dc
40b6d5:	56                   	push   %esi
40b6d6:	e8 31 3b 00 00       	call   0x40f20c
40b6db:	59                   	pop    %ecx
40b6dc:	f7 46 0c 08 01 00 00 	testl  $0x108,0xc(%esi)
40b6e3:	74 7a                	je     0x40b75f
40b6e5:	8b 56 08             	mov    0x8(%esi),%edx
40b6e8:	8b 0e                	mov    (%esi),%ecx
40b6ea:	8d 42 01             	lea    0x1(%edx),%eax
40b6ed:	89 06                	mov    %eax,(%esi)
40b6ef:	8b 46 18             	mov    0x18(%esi),%eax
40b6f2:	2b ca                	sub    %edx,%ecx
40b6f4:	48                   	dec    %eax
40b6f5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40b6f8:	89 46 04             	mov    %eax,0x4(%esi)
40b6fb:	85 c9                	test   %ecx,%ecx
40b6fd:	7e 17                	jle    0x40b716
40b6ff:	51                   	push   %ecx
40b700:	52                   	push   %edx
40b701:	57                   	push   %edi
40b702:	e8 fc 2a 00 00       	call   0x40e203
40b707:	83 c4 0c             	add    $0xc,%esp
40b70a:	8b d8                	mov    %eax,%ebx
40b70c:	eb 47                	jmp    0x40b755
40b70e:	83 c9 20             	or     $0x20,%ecx
40b711:	89 4e 0c             	mov    %ecx,0xc(%esi)
40b714:	eb 68                	jmp    0x40b77e
40b716:	83 ff ff             	cmp    $0xffffffff,%edi
40b719:	74 1b                	je     0x40b736
40b71b:	83 ff fe             	cmp    $0xfffffffe,%edi
40b71e:	74 16                	je     0x40b736
40b720:	8b cf                	mov    %edi,%ecx
40b722:	8b c7                	mov    %edi,%eax
40b724:	83 e1 1f             	and    $0x1f,%ecx
40b727:	c1 f8 05             	sar    $0x5,%eax
40b72a:	c1 e1 06             	shl    $0x6,%ecx
40b72d:	03 0c 85 20 2a 42 00 	add    0x422a20(,%eax,4),%ecx
40b734:	eb 05                	jmp    0x40b73b
40b736:	b9 18 10 42 00       	mov    $0x421018,%ecx
40b73b:	f6 41 04 20          	testb  $0x20,0x4(%ecx)
40b73f:	74 14                	je     0x40b755
40b741:	6a 02                	push   $0x2
40b743:	53                   	push   %ebx
40b744:	53                   	push   %ebx
40b745:	57                   	push   %edi
40b746:	e8 47 39 00 00       	call   0x40f092
40b74b:	23 c2                	and    %edx,%eax
40b74d:	83 c4 10             	add    $0x10,%esp
40b750:	83 f8 ff             	cmp    $0xffffffff,%eax
40b753:	74 25                	je     0x40b77a
40b755:	8b 4e 08             	mov    0x8(%esi),%ecx
40b758:	8a 45 08             	mov    0x8(%ebp),%al
40b75b:	88 01                	mov    %al,(%ecx)
40b75d:	eb 16                	jmp    0x40b775
40b75f:	33 c0                	xor    %eax,%eax
40b761:	40                   	inc    %eax
40b762:	50                   	push   %eax
40b763:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b766:	8d 45 08             	lea    0x8(%ebp),%eax
40b769:	50                   	push   %eax
40b76a:	57                   	push   %edi
40b76b:	e8 93 2a 00 00       	call   0x40e203
40b770:	83 c4 0c             	add    $0xc,%esp
40b773:	8b d8                	mov    %eax,%ebx
40b775:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
40b778:	74 09                	je     0x40b783
40b77a:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
40b77e:	83 c8 ff             	or     $0xffffffff,%eax
40b781:	eb 04                	jmp    0x40b787
40b783:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
40b787:	5b                   	pop    %ebx
40b788:	5f                   	pop    %edi
40b789:	5e                   	pop    %esi
40b78a:	c9                   	leave
40b78b:	c3                   	ret
40b78c:	ff 15 b8 90 41 00    	call   *0x4190b8
40b792:	33 c9                	xor    %ecx,%ecx
40b794:	85 c0                	test   %eax,%eax
40b796:	0f 95 c1             	setne  %cl
40b799:	a3 54 27 42 00       	mov    %eax,0x422754
40b79e:	8b c1                	mov    %ecx,%eax
40b7a0:	c3                   	ret
40b7a1:	55                   	push   %ebp
40b7a2:	8b ec                	mov    %esp,%ebp
40b7a4:	53                   	push   %ebx
40b7a5:	56                   	push   %esi
40b7a6:	8b 35 50 90 41 00    	mov    0x419050,%esi
40b7ac:	57                   	push   %edi
40b7ad:	8b 7d 08             	mov    0x8(%ebp),%edi
40b7b0:	57                   	push   %edi
40b7b1:	ff d6                	call   *%esi
40b7b3:	83 7f 78 00          	cmpl   $0x0,0x78(%edi)
40b7b7:	74 05                	je     0x40b7be
40b7b9:	ff 77 78             	push   0x78(%edi)
40b7bc:	ff d6                	call   *%esi
40b7be:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
40b7c4:	85 c0                	test   %eax,%eax
40b7c6:	74 03                	je     0x40b7cb
40b7c8:	50                   	push   %eax
40b7c9:	ff d6                	call   *%esi
40b7cb:	83 7f 7c 00          	cmpl   $0x0,0x7c(%edi)
40b7cf:	74 05                	je     0x40b7d6
40b7d1:	ff 77 7c             	push   0x7c(%edi)
40b7d4:	ff d6                	call   *%esi
40b7d6:	8b 87 88 00 00 00    	mov    0x88(%edi),%eax
40b7dc:	85 c0                	test   %eax,%eax
40b7de:	74 03                	je     0x40b7e3
40b7e0:	50                   	push   %eax
40b7e1:	ff d6                	call   *%esi
40b7e3:	6a 06                	push   $0x6
40b7e5:	58                   	pop    %eax
40b7e6:	8d 5f 1c             	lea    0x1c(%edi),%ebx
40b7e9:	89 45 08             	mov    %eax,0x8(%ebp)
40b7ec:	81 7b f8 dc 0d 42 00 	cmpl   $0x420ddc,-0x8(%ebx)
40b7f3:	74 0c                	je     0x40b801
40b7f5:	83 3b 00             	cmpl   $0x0,(%ebx)
40b7f8:	74 07                	je     0x40b801
40b7fa:	ff 33                	push   (%ebx)
40b7fc:	ff d6                	call   *%esi
40b7fe:	8b 45 08             	mov    0x8(%ebp),%eax
40b801:	83 7b f4 00          	cmpl   $0x0,-0xc(%ebx)
40b805:	74 0e                	je     0x40b815
40b807:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
40b80b:	74 08                	je     0x40b815
40b80d:	ff 73 fc             	push   -0x4(%ebx)
40b810:	ff d6                	call   *%esi
40b812:	8b 45 08             	mov    0x8(%ebp),%eax
40b815:	83 c3 10             	add    $0x10,%ebx
40b818:	48                   	dec    %eax
40b819:	89 45 08             	mov    %eax,0x8(%ebp)
40b81c:	75 ce                	jne    0x40b7ec
40b81e:	8b 87 9c 00 00 00    	mov    0x9c(%edi),%eax
40b824:	05 b0 00 00 00       	add    $0xb0,%eax
40b829:	50                   	push   %eax
40b82a:	ff d6                	call   *%esi
40b82c:	5f                   	pop    %edi
40b82d:	5e                   	pop    %esi
40b82e:	5b                   	pop    %ebx
40b82f:	5d                   	pop    %ebp
40b830:	c3                   	ret
40b831:	55                   	push   %ebp
40b832:	8b ec                	mov    %esp,%ebp
40b834:	53                   	push   %ebx
40b835:	56                   	push   %esi
40b836:	8b 75 08             	mov    0x8(%ebp),%esi
40b839:	33 db                	xor    %ebx,%ebx
40b83b:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
40b841:	57                   	push   %edi
40b842:	85 c0                	test   %eax,%eax
40b844:	74 66                	je     0x40b8ac
40b846:	3d f8 02 42 00       	cmp    $0x4202f8,%eax
40b84b:	74 5f                	je     0x40b8ac
40b84d:	8b 46 78             	mov    0x78(%esi),%eax
40b850:	85 c0                	test   %eax,%eax
40b852:	74 58                	je     0x40b8ac
40b854:	39 18                	cmp    %ebx,(%eax)
40b856:	75 54                	jne    0x40b8ac
40b858:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
40b85e:	85 c0                	test   %eax,%eax
40b860:	74 17                	je     0x40b879
40b862:	39 18                	cmp    %ebx,(%eax)
40b864:	75 13                	jne    0x40b879
40b866:	50                   	push   %eax
40b867:	e8 ac 98 ff ff       	call   0x405118
40b86c:	ff b6 84 00 00 00    	push   0x84(%esi)
40b872:	e8 a2 66 00 00       	call   0x411f19
40b877:	59                   	pop    %ecx
40b878:	59                   	pop    %ecx
40b879:	8b 46 7c             	mov    0x7c(%esi),%eax
40b87c:	85 c0                	test   %eax,%eax
40b87e:	74 17                	je     0x40b897
40b880:	39 18                	cmp    %ebx,(%eax)
40b882:	75 13                	jne    0x40b897
40b884:	50                   	push   %eax
40b885:	e8 8e 98 ff ff       	call   0x405118
40b88a:	ff b6 84 00 00 00    	push   0x84(%esi)
40b890:	e8 22 6b 00 00       	call   0x4123b7
40b895:	59                   	pop    %ecx
40b896:	59                   	pop    %ecx
40b897:	ff 76 78             	push   0x78(%esi)
40b89a:	e8 79 98 ff ff       	call   0x405118
40b89f:	ff b6 84 00 00 00    	push   0x84(%esi)
40b8a5:	e8 6e 98 ff ff       	call   0x405118
40b8aa:	59                   	pop    %ecx
40b8ab:	59                   	pop    %ecx
40b8ac:	8b 86 88 00 00 00    	mov    0x88(%esi),%eax
40b8b2:	85 c0                	test   %eax,%eax
40b8b4:	74 44                	je     0x40b8fa
40b8b6:	39 18                	cmp    %ebx,(%eax)
40b8b8:	75 40                	jne    0x40b8fa
40b8ba:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
40b8c0:	2d fe 00 00 00       	sub    $0xfe,%eax
40b8c5:	50                   	push   %eax
40b8c6:	e8 4d 98 ff ff       	call   0x405118
40b8cb:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
40b8d1:	bf 80 00 00 00       	mov    $0x80,%edi
40b8d6:	2b c7                	sub    %edi,%eax
40b8d8:	50                   	push   %eax
40b8d9:	e8 3a 98 ff ff       	call   0x405118
40b8de:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
40b8e4:	2b c7                	sub    %edi,%eax
40b8e6:	50                   	push   %eax
40b8e7:	e8 2c 98 ff ff       	call   0x405118
40b8ec:	ff b6 88 00 00 00    	push   0x88(%esi)
40b8f2:	e8 21 98 ff ff       	call   0x405118
40b8f7:	83 c4 10             	add    $0x10,%esp
40b8fa:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
40b900:	3d e0 0d 42 00       	cmp    $0x420de0,%eax
40b905:	74 1b                	je     0x40b922
40b907:	39 98 b0 00 00 00    	cmp    %ebx,0xb0(%eax)
40b90d:	75 13                	jne    0x40b922
40b90f:	50                   	push   %eax
40b910:	e8 11 6d 00 00       	call   0x412626
40b915:	ff b6 9c 00 00 00    	push   0x9c(%esi)
40b91b:	e8 f8 97 ff ff       	call   0x405118
40b920:	59                   	pop    %ecx
40b921:	59                   	pop    %ecx
40b922:	6a 06                	push   $0x6
40b924:	58                   	pop    %eax
40b925:	8d 9e a0 00 00 00    	lea    0xa0(%esi),%ebx
40b92b:	8d 7e 1c             	lea    0x1c(%esi),%edi
40b92e:	89 45 08             	mov    %eax,0x8(%ebp)
40b931:	81 7f f8 dc 0d 42 00 	cmpl   $0x420ddc,-0x8(%edi)
40b938:	74 1d                	je     0x40b957
40b93a:	8b 07                	mov    (%edi),%eax
40b93c:	85 c0                	test   %eax,%eax
40b93e:	74 14                	je     0x40b954
40b940:	83 38 00             	cmpl   $0x0,(%eax)
40b943:	75 0f                	jne    0x40b954
40b945:	50                   	push   %eax
40b946:	e8 cd 97 ff ff       	call   0x405118
40b94b:	ff 33                	push   (%ebx)
40b94d:	e8 c6 97 ff ff       	call   0x405118
40b952:	59                   	pop    %ecx
40b953:	59                   	pop    %ecx
40b954:	8b 45 08             	mov    0x8(%ebp),%eax
40b957:	83 7f f4 00          	cmpl   $0x0,-0xc(%edi)
40b95b:	74 16                	je     0x40b973
40b95d:	8b 47 fc             	mov    -0x4(%edi),%eax
40b960:	85 c0                	test   %eax,%eax
40b962:	74 0c                	je     0x40b970
40b964:	83 38 00             	cmpl   $0x0,(%eax)
40b967:	75 07                	jne    0x40b970
40b969:	50                   	push   %eax
40b96a:	e8 a9 97 ff ff       	call   0x405118
40b96f:	59                   	pop    %ecx
40b970:	8b 45 08             	mov    0x8(%ebp),%eax
40b973:	83 c3 04             	add    $0x4,%ebx