40b673:	c2 04 00             	ret    $0x4
40b676:	e8 09 00 00 00       	call   0x40b684
40b67b:	85 c0                	test   %eax,%eax
40b67d:	0f 84 f3 99 00 00    	je     0x415076
40b683:	c3                   	ret
40b684:	83 3d 50 ba 43 00 ff 	cmpl   $0xffffffff,0x43ba50
40b68b:	75 03                	jne    0x40b690
40b68d:	33 c0                	xor    %eax,%eax
40b68f:	c3                   	ret
40b690:	53                   	push   %ebx
40b691:	57                   	push   %edi
40b692:	ff 15 c4 71 42 00    	call   *0x4271c4
40b698:	ff 35 50 ba 43 00    	push   0x43ba50
40b69e:	8b f8                	mov    %eax,%edi
40b6a0:	e8 33 fe ff ff       	call   0x40b4d8
40b6a5:	8b d8                	mov    %eax,%ebx
40b6a7:	59                   	pop    %ecx
40b6a8:	83 fb ff             	cmp    $0xffffffff,%ebx
40b6ab:	74 17                	je     0x40b6c4
40b6ad:	85 db                	test   %ebx,%ebx
40b6af:	75 59                	jne    0x40b70a
40b6b1:	6a ff                	push   $0xffffffff
40b6b3:	ff 35 50 ba 43 00    	push   0x43ba50
40b6b9:	e8 54 fe ff ff       	call   0x40b512
40b6be:	59                   	pop    %ecx
40b6bf:	59                   	pop    %ecx
40b6c0:	85 c0                	test   %eax,%eax
40b6c2:	75 04                	jne    0x40b6c8
40b6c4:	33 db                	xor    %ebx,%ebx
40b6c6:	eb 42                	jmp    0x40b70a
40b6c8:	56                   	push   %esi
40b6c9:	6a 28                	push   $0x28
40b6cb:	6a 01                	push   $0x1
40b6cd:	e8 5d 8d 00 00       	call   0x41442f
40b6d2:	8b f0                	mov    %eax,%esi
40b6d4:	59                   	pop    %ecx
40b6d5:	59                   	pop    %ecx
40b6d6:	85 f6                	test   %esi,%esi
40b6d8:	74 12                	je     0x40b6ec
40b6da:	56                   	push   %esi
40b6db:	ff 35 50 ba 43 00    	push   0x43ba50
40b6e1:	e8 2c fe ff ff       	call   0x40b512
40b6e6:	59                   	pop    %ecx
40b6e7:	59                   	pop    %ecx
40b6e8:	85 c0                	test   %eax,%eax
40b6ea:	75 12                	jne    0x40b6fe
40b6ec:	33 db                	xor    %ebx,%ebx
40b6ee:	53                   	push   %ebx
40b6ef:	ff 35 50 ba 43 00    	push   0x43ba50
40b6f5:	e8 18 fe ff ff       	call   0x40b512
40b6fa:	59                   	pop    %ecx
40b6fb:	59                   	pop    %ecx
40b6fc:	eb 04                	jmp    0x40b702
40b6fe:	8b de                	mov    %esi,%ebx
40b700:	33 f6                	xor    %esi,%esi
40b702:	56                   	push   %esi
40b703:	e8 08 96 00 00       	call   0x414d10
40b708:	59                   	pop    %ecx
40b709:	5e                   	pop    %esi
40b70a:	57                   	push   %edi
40b70b:	ff 15 4c 71 42 00    	call   *0x42714c
40b711:	5f                   	pop    %edi
40b712:	8b c3                	mov    %ebx,%eax
40b714:	5b                   	pop    %ebx
40b715:	c3                   	ret
40b716:	68 5a b6 40 00       	push   $0x40b65a
40b71b:	e8 44 fd ff ff       	call   0x40b464
40b720:	a3 50 ba 43 00       	mov    %eax,0x43ba50
40b725:	59                   	pop    %ecx
40b726:	83 f8 ff             	cmp    $0xffffffff,%eax
40b729:	75 03                	jne    0x40b72e
40b72b:	32 c0                	xor    %al,%al
40b72d:	c3                   	ret
40b72e:	68 b8 99 83 02       	push   $0x28399b8
40b733:	50                   	push   %eax
40b734:	e8 d9 fd ff ff       	call   0x40b512
40b739:	59                   	pop    %ecx
40b73a:	59                   	pop    %ecx
40b73b:	85 c0                	test   %eax,%eax
40b73d:	75 07                	jne    0x40b746
40b73f:	e8 05 00 00 00       	call   0x40b749
40b744:	eb e5                	jmp    0x40b72b
40b746:	b0 01                	mov    $0x1,%al
40b748:	c3                   	ret
40b749:	a1 50 ba 43 00       	mov    0x43ba50,%eax
40b74e:	83 f8 ff             	cmp    $0xffffffff,%eax
40b751:	74 0e                	je     0x40b761
40b753:	50                   	push   %eax
40b754:	e8 45 fd ff ff       	call   0x40b49e
40b759:	83 0d 50 ba 43 00 ff 	orl    $0xffffffff,0x43ba50
40b760:	59                   	pop    %ecx
40b761:	b0 01                	mov    $0x1,%al
40b763:	c3                   	ret
40b764:	cc                   	int3
40b765:	cc                   	int3
40b766:	cc                   	int3
40b767:	cc                   	int3
40b768:	cc                   	int3
40b769:	cc                   	int3
40b76a:	cc                   	int3
40b76b:	cc                   	int3
40b76c:	cc                   	int3
40b76d:	cc                   	int3
40b76e:	cc                   	int3
40b76f:	cc                   	int3
40b770:	55                   	push   %ebp
40b771:	8b ec                	mov    %esp,%ebp
40b773:	83 ec 04             	sub    $0x4,%esp
40b776:	53                   	push   %ebx
40b777:	51                   	push   %ecx
40b778:	8b 45 0c             	mov    0xc(%ebp),%eax
40b77b:	83 c0 0c             	add    $0xc,%eax
40b77e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b781:	8b 45 08             	mov    0x8(%ebp),%eax
40b784:	55                   	push   %ebp
40b785:	ff 75 10             	push   0x10(%ebp)
40b788:	8b 4d 10             	mov    0x10(%ebp),%ecx
40b78b:	8b 6d fc             	mov    -0x4(%ebp),%ebp
40b78e:	e8 29 03 00 00       	call   0x40babc
40b793:	56                   	push   %esi
40b794:	57                   	push   %edi
40b795:	ff d0                	call   *%eax
40b797:	5f                   	pop    %edi
40b798:	5e                   	pop    %esi
40b799:	8b dd                	mov    %ebp,%ebx
40b79b:	5d                   	pop    %ebp
40b79c:	8b 4d 10             	mov    0x10(%ebp),%ecx
40b79f:	55                   	push   %ebp
40b7a0:	8b eb                	mov    %ebx,%ebp
40b7a2:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
40b7a8:	75 05                	jne    0x40b7af
40b7aa:	b9 02 00 00 00       	mov    $0x2,%ecx
40b7af:	51                   	push   %ecx
40b7b0:	e8 07 03 00 00       	call   0x40babc
40b7b5:	5d                   	pop    %ebp
40b7b6:	59                   	pop    %ecx
40b7b7:	5b                   	pop    %ebx
40b7b8:	c9                   	leave
40b7b9:	c2 0c 00             	ret    $0xc
40b7bc:	c3                   	ret
40b7bd:	c3                   	ret
40b7be:	56                   	push   %esi
40b7bf:	e8 b2 fe ff ff       	call   0x40b676
40b7c4:	8b 70 04             	mov    0x4(%eax),%esi
40b7c7:	85 f6                	test   %esi,%esi
40b7c9:	74 09                	je     0x40b7d4
40b7cb:	8b ce                	mov    %esi,%ecx
40b7cd:	e8 9f b8 ff ff       	call   0x407071
40b7d2:	ff d6                	call   *%esi
40b7d4:	e8 f1 c2 00 00       	call   0x417aca
40b7d9:	cc                   	int3
40b7da:	56                   	push   %esi
40b7db:	57                   	push   %edi
40b7dc:	bf e0 99 83 02       	mov    $0x28399e0,%edi
40b7e1:	33 f6                	xor    %esi,%esi
40b7e3:	6a 00                	push   $0x0
40b7e5:	68 a0 0f 00 00       	push   $0xfa0
40b7ea:	57                   	push   %edi
40b7eb:	e8 5f fd ff ff       	call   0x40b54f
40b7f0:	83 c4 0c             	add    $0xc,%esp
40b7f3:	85 c0                	test   %eax,%eax
40b7f5:	74 15                	je     0x40b80c
40b7f7:	ff 05 f8 99 83 02    	incl   0x28399f8
40b7fd:	83 c6 18             	add    $0x18,%esi
40b800:	83 c7 18             	add    $0x18,%edi
40b803:	83 fe 18             	cmp    $0x18,%esi
40b806:	72 db                	jb     0x40b7e3
40b808:	b0 01                	mov    $0x1,%al
40b80a:	eb 07                	jmp    0x40b813
40b80c:	e8 05 00 00 00       	call   0x40b816
40b811:	32 c0                	xor    %al,%al
40b813:	5f                   	pop    %edi
40b814:	5e                   	pop    %esi
40b815:	c3                   	ret
40b816:	56                   	push   %esi
40b817:	8b 35 f8 99 83 02    	mov    0x28399f8,%esi
40b81d:	85 f6                	test   %esi,%esi
40b81f:	74 20                	je     0x40b841
40b821:	6b c6 18             	imul   $0x18,%esi,%eax
40b824:	57                   	push   %edi
40b825:	8d b8 c8 99 83 02    	lea    0x28399c8(%eax),%edi
40b82b:	57                   	push   %edi
40b82c:	ff 15 40 71 42 00    	call   *0x427140
40b832:	ff 0d f8 99 83 02    	decl   0x28399f8
40b838:	83 ef 18             	sub    $0x18,%edi
40b83b:	83 ee 01             	sub    $0x1,%esi
40b83e:	75 eb                	jne    0x40b82b
40b840:	5f                   	pop    %edi
40b841:	b0 01                	mov    $0x1,%al
40b843:	5e                   	pop    %esi
40b844:	c3                   	ret
40b845:	cc                   	int3
40b846:	cc                   	int3
40b847:	cc                   	int3
40b848:	cc                   	int3
40b849:	cc                   	int3
40b84a:	cc                   	int3
40b84b:	cc                   	int3
40b84c:	cc                   	int3
40b84d:	cc                   	int3
40b84e:	cc                   	int3
40b84f:	cc                   	int3
40b850:	53                   	push   %ebx
40b851:	56                   	push   %esi
40b852:	57                   	push   %edi
40b853:	8b 54 24 10          	mov    0x10(%esp),%edx
40b857:	8b 44 24 14          	mov    0x14(%esp),%eax
40b85b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40b85f:	55                   	push   %ebp
40b860:	52                   	push   %edx
40b861:	50                   	push   %eax
40b862:	51                   	push   %ecx
40b863:	51                   	push   %ecx
40b864:	68 e0 b8 40 00       	push   $0x40b8e0
40b869:	64 ff 35 00 00 00 00 	push   %fs:0x0
40b870:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40b875:	33 c4                	xor    %esp,%eax
40b877:	89 44 24 08          	mov    %eax,0x8(%esp)
40b87b:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b882:	8b 44 24 30          	mov    0x30(%esp),%eax
40b886:	8b 58 08             	mov    0x8(%eax),%ebx
40b889:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40b88d:	33 19                	xor    (%ecx),%ebx
40b88f:	8b 70 0c             	mov    0xc(%eax),%esi
40b892:	83 fe fe             	cmp    $0xfffffffe,%esi
40b895:	74 3b                	je     0x40b8d2
40b897:	8b 54 24 34          	mov    0x34(%esp),%edx
40b89b:	83 fa fe             	cmp    $0xfffffffe,%edx
40b89e:	74 04                	je     0x40b8a4
40b8a0:	3b f2                	cmp    %edx,%esi
40b8a2:	76 2e                	jbe    0x40b8d2
40b8a4:	8d 34 76             	lea    (%esi,%esi,2),%esi
40b8a7:	8d 5c b3 10          	lea    0x10(%ebx,%esi,4),%ebx
40b8ab:	8b 0b                	mov    (%ebx),%ecx
40b8ad:	89 48 0c             	mov    %ecx,0xc(%eax)
40b8b0:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
40b8b4:	75 cc                	jne    0x40b882
40b8b6:	68 01 01 00 00       	push   $0x101
40b8bb:	8b 43 08             	mov    0x8(%ebx),%eax
40b8be:	e8 02 02 00 00       	call   0x40bac5
40b8c3:	b9 01 00 00 00       	mov    $0x1,%ecx
40b8c8:	8b 43 08             	mov    0x8(%ebx),%eax
40b8cb:	e8 14 02 00 00       	call   0x40bae4
40b8d0:	eb b0                	jmp    0x40b882
40b8d2:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40b8d9:	83 c4 18             	add    $0x18,%esp
40b8dc:	5f                   	pop    %edi
40b8dd:	5e                   	pop    %esi
40b8de:	5b                   	pop    %ebx
40b8df:	c3                   	ret
40b8e0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40b8e4:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
40b8eb:	b8 01 00 00 00       	mov    $0x1,%eax
40b8f0:	74 33                	je     0x40b925
40b8f2:	8b 44 24 08          	mov    0x8(%esp),%eax
40b8f6:	8b 48 08             	mov    0x8(%eax),%ecx
40b8f9:	33 c8                	xor    %eax,%ecx
40b8fb:	e8 60 b7 ff ff       	call   0x407060
40b900:	55                   	push   %ebp
40b901:	8b 68 18             	mov    0x18(%eax),%ebp
40b904:	ff 70 0c             	push   0xc(%eax)
40b907:	ff 70 10             	push   0x10(%eax)
40b90a:	ff 70 14             	push   0x14(%eax)
40b90d:	e8 3e ff ff ff       	call   0x40b850
40b912:	83 c4 0c             	add    $0xc,%esp
40b915:	5d                   	pop    %ebp
40b916:	8b 44 24 08          	mov    0x8(%esp),%eax
40b91a:	8b 54 24 10          	mov    0x10(%esp),%edx
40b91e:	89 02                	mov    %eax,(%edx)
40b920:	b8 03 00 00 00       	mov    $0x3,%eax
40b925:	c3                   	ret
40b926:	55                   	push   %ebp
40b927:	ff 74 24 08          	push   0x8(%esp)
40b92b:	e8 8d fe ff ff       	call   0x40b7bd
40b930:	83 c4 04             	add    $0x4,%esp
40b933:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40b937:	8b 29                	mov    (%ecx),%ebp
40b939:	ff 71 1c             	push   0x1c(%ecx)
40b93c:	ff 71 18             	push   0x18(%ecx)
40b93f:	ff 71 28             	push   0x28(%ecx)
40b942:	e8 09 ff ff ff       	call   0x40b850
40b947:	83 c4 0c             	add    $0xc,%esp
40b94a:	5d                   	pop    %ebp
40b94b:	c2 04 00             	ret    $0x4
40b94e:	55                   	push   %ebp
40b94f:	56                   	push   %esi
40b950:	57                   	push   %edi
40b951:	53                   	push   %ebx
40b952:	8b ea                	mov    %edx,%ebp
40b954:	33 c0                	xor    %eax,%eax
40b956:	33 db                	xor    %ebx,%ebx
40b958:	33 d2                	xor    %edx,%edx
40b95a:	33 f6                	xor    %esi,%esi
40b95c:	33 ff                	xor    %edi,%edi
40b95e:	ff d1                	call   *%ecx
40b960:	5b                   	pop    %ebx
40b961:	5f                   	pop    %edi
40b962:	5e                   	pop    %esi
40b963:	5d                   	pop    %ebp
40b964:	c3                   	ret
40b965:	8b ea                	mov    %edx,%ebp
40b967:	8b f1                	mov    %ecx,%esi
40b969:	8b c1                	mov    %ecx,%eax
40b96b:	6a 01                	push   $0x1
40b96d:	e8 53 01 00 00       	call   0x40bac5
40b972:	33 c0                	xor    %eax,%eax
40b974:	33 db                	xor    %ebx,%ebx
40b976:	33 c9                	xor    %ecx,%ecx
40b978:	33 d2                	xor    %edx,%edx
40b97a:	33 ff                	xor    %edi,%edi
40b97c:	ff e6                	jmp    *%esi
40b97e:	55                   	push   %ebp
40b97f:	8b ec                	mov    %esp,%ebp
40b981:	53                   	push   %ebx
40b982:	56                   	push   %esi
40b983:	57                   	push   %edi
40b984:	6a 00                	push   $0x0
40b986:	52                   	push   %edx
40b987:	68 92 b9 40 00       	push   $0x40b992
40b98c:	51                   	push   %ecx
40b98d:	e8 46 a8 01 00       	call   0x4261d8
40b992:	5f                   	pop    %edi
40b993:	5e                   	pop    %esi
40b994:	5b                   	pop    %ebx
40b995:	5d                   	pop    %ebp
40b996:	c3                   	ret
40b997:	55                   	push   %ebp
40b998:	8b 6c 24 08          	mov    0x8(%esp),%ebp
40b99c:	52                   	push   %edx
40b99d:	51                   	push   %ecx
40b99e:	ff 74 24 14          	push   0x14(%esp)
40b9a2:	e8 a9 fe ff ff       	call   0x40b850
40b9a7:	83 c4 0c             	add    $0xc,%esp
40b9aa:	5d                   	pop    %ebp
40b9ab:	c2 08 00             	ret    $0x8
40b9ae:	cc                   	int3
40b9af:	cc                   	int3
40b9b0:	55                   	push   %ebp
40b9b1:	8b ec                	mov    %esp,%ebp
40b9b3:	53                   	push   %ebx
40b9b4:	56                   	push   %esi
40b9b5:	57                   	push   %edi
40b9b6:	55                   	push   %ebp
40b9b7:	6a 00                	push   $0x0
40b9b9:	6a 00                	push   $0x0
40b9bb:	68 c8 b9 40 00       	push   $0x40b9c8
40b9c0:	ff 75 08             	push   0x8(%ebp)
40b9c3:	e8 10 a8 01 00       	call   0x4261d8
40b9c8:	5d                   	pop    %ebp
40b9c9:	5f                   	pop    %edi