40b60c:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b611:	74 19                	je     0x40b62c
40b613:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b617:	74 13                	je     0x40b62c
40b619:	ff 70 14             	push   0x14(%eax)
40b61c:	ba f0 21 40 00       	mov    $0x4021f0,%edx
40b621:	ff 70 10             	push   0x10(%eax)
40b624:	6a 0a                	push   $0xa
40b626:	59                   	pop    %ecx
40b627:	e8 84 bd ff ff       	call   0x4073b0
40b62c:	b8 57 00 07 80       	mov    $0x80070057,%eax
40b631:	5d                   	pop    %ebp
40b632:	c2 08 00             	ret    $0x8
40b635:	8b ff                	mov    %edi,%edi
40b637:	55                   	push   %ebp
40b638:	8b ec                	mov    %esp,%ebp
40b63a:	51                   	push   %ecx
40b63b:	53                   	push   %ebx
40b63c:	56                   	push   %esi
40b63d:	57                   	push   %edi
40b63e:	8b f9                	mov    %ecx,%edi
40b640:	8b da                	mov    %edx,%ebx
40b642:	85 ff                	test   %edi,%edi
40b644:	0f 84 31 01 00 00    	je     0x40b77b
40b64a:	85 db                	test   %ebx,%ebx
40b64c:	0f 84 29 01 00 00    	je     0x40b77b
40b652:	8b 75 08             	mov    0x8(%ebp),%esi
40b655:	85 f6                	test   %esi,%esi
40b657:	0f 84 1e 01 00 00    	je     0x40b77b
40b65d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40b661:	0f 84 14 01 00 00    	je     0x40b77b
40b667:	83 23 00             	andl   $0x0,(%ebx)
40b66a:	6a 3d                	push   $0x3d
40b66c:	57                   	push   %edi
40b66d:	ff 15 30 c3 42 00    	call   *0x42c330
40b673:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b676:	59                   	pop    %ecx
40b677:	59                   	pop    %ecx
40b678:	8b ce                	mov    %esi,%ecx
40b67a:	85 c0                	test   %eax,%eax
40b67c:	0f 84 cd 00 00 00    	je     0x40b74f
40b682:	8b d0                	mov    %eax,%edx
40b684:	2b d7                	sub    %edi,%edx
40b686:	d1 fa                	sar    $1,%edx
40b688:	52                   	push   %edx
40b689:	57                   	push   %edi
40b68a:	e8 5a 09 00 00       	call   0x40bfe9
40b68f:	8b f0                	mov    %eax,%esi
40b691:	85 f6                	test   %esi,%esi
40b693:	79 28                	jns    0x40b6bd
40b695:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b69a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b69f:	74 7d                	je     0x40b71e
40b6a1:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b6a5:	74 77                	je     0x40b71e
40b6a7:	57                   	push   %edi
40b6a8:	ff 70 14             	push   0x14(%eax)
40b6ab:	ff 70 10             	push   0x10(%eax)
40b6ae:	6a 0c                	push   $0xc
40b6b0:	ba f0 21 40 00       	mov    $0x4021f0,%edx
40b6b5:	59                   	pop    %ecx
40b6b6:	e8 9d c2 ff ff       	call   0x407958
40b6bb:	eb 61                	jmp    0x40b71e
40b6bd:	8b 7d fc             	mov    -0x4(%ebp),%edi
40b6c0:	83 c7 02             	add    $0x2,%edi
40b6c3:	6a 26                	push   $0x26
40b6c5:	57                   	push   %edi
40b6c6:	ff 15 30 c3 42 00    	call   *0x42c330
40b6cc:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b6cf:	59                   	pop    %ecx
40b6d0:	59                   	pop    %ecx
40b6d1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b6d4:	85 c0                	test   %eax,%eax
40b6d6:	74 4d                	je     0x40b725
40b6d8:	8b d0                	mov    %eax,%edx
40b6da:	2b d7                	sub    %edi,%edx
40b6dc:	d1 fa                	sar    $1,%edx
40b6de:	52                   	push   %edx
40b6df:	57                   	push   %edi
40b6e0:	e8 04 09 00 00       	call   0x40bfe9
40b6e5:	8b f0                	mov    %eax,%esi
40b6e7:	85 f6                	test   %esi,%esi
40b6e9:	79 29                	jns    0x40b714
40b6eb:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b6f0:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b6f5:	74 27                	je     0x40b71e
40b6f7:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b6fb:	74 21                	je     0x40b71e
40b6fd:	56                   	push   %esi
40b6fe:	57                   	push   %edi
40b6ff:	ff 70 14             	push   0x14(%eax)
40b702:	ff 70 10             	push   0x10(%eax)
40b705:	6a 0d                	push   $0xd
40b707:	ba f0 21 40 00       	mov    $0x4021f0,%edx
40b70c:	59                   	pop    %ecx
40b70d:	e8 a4 c2 ff ff       	call   0x4079b6
40b712:	eb 0a                	jmp    0x40b71e
40b714:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b717:	83 c0 02             	add    $0x2,%eax
40b71a:	89 03                	mov    %eax,(%ebx)
40b71c:	33 f6                	xor    %esi,%esi
40b71e:	8b c6                	mov    %esi,%eax
40b720:	e9 80 00 00 00       	jmp    0x40b7a5
40b725:	57                   	push   %edi
40b726:	e8 8d 09 00 00       	call   0x40c0b8
40b72b:	8b f0                	mov    %eax,%esi
40b72d:	85 f6                	test   %esi,%esi
40b72f:	79 eb                	jns    0x40b71c
40b731:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b736:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b73b:	74 e1                	je     0x40b71e
40b73d:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b741:	74 db                	je     0x40b71e
40b743:	56                   	push   %esi
40b744:	57                   	push   %edi
40b745:	ff 70 14             	push   0x14(%eax)
40b748:	ff 70 10             	push   0x10(%eax)
40b74b:	6a 0e                	push   $0xe
40b74d:	eb b8                	jmp    0x40b707
40b74f:	57                   	push   %edi
40b750:	e8 63 09 00 00       	call   0x40c0b8
40b755:	8b f0                	mov    %eax,%esi
40b757:	85 f6                	test   %esi,%esi
40b759:	79 c1                	jns    0x40b71c
40b75b:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b760:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b765:	74 b7                	je     0x40b71e
40b767:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b76b:	74 b1                	je     0x40b71e
40b76d:	57                   	push   %edi
40b76e:	ff 70 14             	push   0x14(%eax)
40b771:	ff 70 10             	push   0x10(%eax)
40b774:	6a 0f                	push   $0xf
40b776:	e9 35 ff ff ff       	jmp    0x40b6b0
40b77b:	a1 00 b0 42 00       	mov    0x42b000,%eax
40b780:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40b785:	74 19                	je     0x40b7a0
40b787:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40b78b:	74 13                	je     0x40b7a0
40b78d:	ff 70 14             	push   0x14(%eax)
40b790:	ba f0 21 40 00       	mov    $0x4021f0,%edx
40b795:	ff 70 10             	push   0x10(%eax)
40b798:	6a 0b                	push   $0xb
40b79a:	59                   	pop    %ecx
40b79b:	e8 10 bc ff ff       	call   0x4073b0
40b7a0:	b8 57 00 07 80       	mov    $0x80070057,%eax
40b7a5:	5f                   	pop    %edi
40b7a6:	5e                   	pop    %esi
40b7a7:	5b                   	pop    %ebx
40b7a8:	c9                   	leave
40b7a9:	c2 08 00             	ret    $0x8
40b7ac:	8b ff                	mov    %edi,%edi
40b7ae:	55                   	push   %ebp
40b7af:	8b ec                	mov    %esp,%ebp
40b7b1:	51                   	push   %ecx
40b7b2:	53                   	push   %ebx
40b7b3:	56                   	push   %esi
40b7b4:	57                   	push   %edi
40b7b5:	8b 7d 10             	mov    0x10(%ebp),%edi
40b7b8:	33 c0                	xor    %eax,%eax
40b7ba:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b7bd:	8b da                	mov    %edx,%ebx
40b7bf:	85 ff                	test   %edi,%edi
40b7c1:	74 20                	je     0x40b7e3
40b7c3:	8b f7                	mov    %edi,%esi
40b7c5:	8d 56 02             	lea    0x2(%esi),%edx
40b7c8:	66 8b 06             	mov    (%esi),%ax
40b7cb:	83 c6 02             	add    $0x2,%esi
40b7ce:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
40b7d2:	75 f4                	jne    0x40b7c8
40b7d4:	2b f2                	sub    %edx,%esi
40b7d6:	d1 fe                	sar    $1,%esi
40b7d8:	33 c0                	xor    %eax,%eax
40b7da:	8d 34 75 02 00 00 00 	lea    0x2(,%esi,2),%esi
40b7e1:	eb 03                	jmp    0x40b7e6
40b7e3:	6a 0a                	push   $0xa
40b7e5:	5e                   	pop    %esi
40b7e6:	85 ff                	test   %edi,%edi
40b7e8:	75 05                	jne    0x40b7ef
40b7ea:	bf 18 1c 40 00       	mov    $0x401c18,%edi
40b7ef:	50                   	push   %eax
40b7f0:	6a 04                	push   $0x4
40b7f2:	8d 45 18             	lea    0x18(%ebp),%eax
40b7f5:	50                   	push   %eax
40b7f6:	6a 04                	push   $0x4
40b7f8:	8d 45 14             	lea    0x14(%ebp),%eax
40b7fb:	50                   	push   %eax
40b7fc:	56                   	push   %esi
40b7fd:	57                   	push   %edi
40b7fe:	51                   	push   %ecx
40b7ff:	53                   	push   %ebx
40b800:	6a 2b                	push   $0x2b
40b802:	ff 75 0c             	push   0xc(%ebp)
40b805:	ff 75 08             	push   0x8(%ebp)
40b808:	ff 15 68 c4 42 00    	call   *0x42c468
40b80e:	83 c4 30             	add    $0x30,%esp
40b811:	5f                   	pop    %edi
40b812:	5e                   	pop    %esi
40b813:	5b                   	pop    %ebx
40b814:	c9                   	leave
40b815:	c2 14 00             	ret    $0x14
40b818:	8b ff                	mov    %edi,%edi
40b81a:	55                   	push   %ebp
40b81b:	8b ec                	mov    %esp,%ebp
40b81d:	53                   	push   %ebx
40b81e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40b821:	57                   	push   %edi
40b822:	8b f9                	mov    %ecx,%edi
40b824:	85 db                	test   %ebx,%ebx
40b826:	75 0a                	jne    0x40b832
40b828:	b8 57 00 07 80       	mov    $0x80070057,%eax
40b82d:	e9 84 00 00 00       	jmp    0x40b8b6
40b832:	56                   	push   %esi
40b833:	8b 75 08             	mov    0x8(%ebp),%esi
40b836:	33 d2                	xor    %edx,%edx
40b838:	89 16                	mov    %edx,(%esi)
40b83a:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
40b840:	f6 87 84 01 00 00 03 	testb  $0x3,0x184(%edi)
40b847:	74 35                	je     0x40b87e
40b849:	81 0e 00 00 00 80    	orl    $0x80000000,(%esi)
40b84f:	8b 8f 84 01 00 00    	mov    0x184(%edi),%ecx
40b855:	8b c1                	mov    %ecx,%eax
40b857:	83 e0 03             	and    $0x3,%eax
40b85a:	3c 03                	cmp    $0x3,%al
40b85c:	74 1a                	je     0x40b878
40b85e:	f6 c1 01             	test   $0x1,%cl
40b861:	74 1b                	je     0x40b87e
40b863:	f6 87 80 01 00 00 08 	testb  $0x8,0x180(%edi)
40b86a:	75 12                	jne    0x40b87e
40b86c:	52                   	push   %edx
40b86d:	52                   	push   %edx
40b86e:	ff 15 c0 c4 42 00    	call   *0x42c4c0
40b874:	85 c0                	test   %eax,%eax
40b876:	75 06                	jne    0x40b87e
40b878:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
40b87e:	8b 87 80 01 00 00    	mov    0x180(%edi),%eax
40b884:	a8 0c                	test   $0xc,%al
40b886:	74 0c                	je     0x40b894
40b888:	81 0e 04 08 00 00    	orl    $0x804,(%esi)
40b88e:	8b 87 80 01 00 00    	mov    0x180(%edi),%eax
40b894:	a8 10                	test   $0x10,%al
40b896:	74 0c                	je     0x40b8a4
40b898:	8b 06                	mov    (%esi),%eax
40b89a:	83 e0 fb             	and    $0xfffffffb,%eax
40b89d:	0d 80 00 00 00       	or     $0x80,%eax
40b8a2:	89 06                	mov    %eax,(%esi)
40b8a4:	83 bf 88 01 00 00 02 	cmpl   $0x2,0x188(%edi)
40b8ab:	75 06                	jne    0x40b8b3
40b8ad:	81 0e 00 08 00 00    	orl    $0x800,(%esi)
40b8b3:	33 c0                	xor    %eax,%eax
40b8b5:	5e                   	pop    %esi
40b8b6:	5f                   	pop    %edi
40b8b7:	5b                   	pop    %ebx
40b8b8:	5d                   	pop    %ebp
40b8b9:	c2 08 00             	ret    $0x8
40b8bc:	6a 10                	push   $0x10
40b8be:	b8 67 85 42 00       	mov    $0x428567,%eax
40b8c3:	e8 a0 c7 01 00       	call   0x428068
40b8c8:	8b d9                	mov    %ecx,%ebx
40b8ca:	33 c0                	xor    %eax,%eax
40b8cc:	89 45 e8             	mov    %eax,-0x18(%ebp)
40b8cf:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b8d2:	89 45 ec             	mov    %eax,-0x14(%ebp)
40b8d5:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b8d8:	8d bb cc 00 00 00    	lea    0xcc(%ebx),%edi
40b8de:	8b f0                	mov    %eax,%esi
40b8e0:	8b cf                	mov    %edi,%ecx
40b8e2:	e8 a3 10 00 00       	call   0x40c98a
40b8e7:	85 c0                	test   %eax,%eax
40b8e9:	74 42                	je     0x40b92d
40b8eb:	ff 37                	push   (%edi)
40b8ed:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40b8f0:	e8 c3 07 00 00       	call   0x40c0b8
40b8f5:	85 c0                	test   %eax,%eax
40b8f7:	78 34                	js     0x40b92d
40b8f9:	83 fe 03             	cmp    $0x3,%esi
40b8fc:	74 05                	je     0x40b903
40b8fe:	83 fe 04             	cmp    $0x4,%esi
40b901:	75 1d                	jne    0x40b920
40b903:	8b cb                	mov    %ebx,%ecx
40b905:	e8 80 10 00 00       	call   0x40c98a
40b90a:	85 c0                	test   %eax,%eax
40b90c:	74 12                	je     0x40b920
40b90e:	51                   	push   %ecx
40b90f:	6a 00                	push   $0x0
40b911:	ff 33                	push   (%ebx)
40b913:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40b916:	68 00 22 40 00       	push   $0x402200
40b91b:	e8 32 0f 00 00       	call   0x40c852
40b920:	ff 75 e8             	push   -0x18(%ebp)
40b923:	56                   	push   %esi
40b924:	ff 75 08             	push   0x8(%ebp)
40b927:	ff 15 c4 c4 42 00    	call   *0x42c4c4
40b92d:	46                   	inc    %esi
40b92e:	83 c7 0c             	add    $0xc,%edi
40b931:	83 fe 0b             	cmp    $0xb,%esi
40b934:	72 aa                	jb     0x40b8e0
40b936:	6a 01                	push   $0x1
40b938:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40b93b:	e8 e5 12 00 00       	call   0x40cc25
40b940:	33 c0                	xor    %eax,%eax
40b942:	e8 ef c6 01 00       	call   0x428036
40b947:	c2 04 00             	ret    $0x4
40b94a:	8b ff                	mov    %edi,%edi
40b94c:	55                   	push   %ebp
40b94d:	8b ec                	mov    %esp,%ebp
40b94f:	51                   	push   %ecx
40b950:	53                   	push   %ebx
40b951:	56                   	push   %esi
40b952:	8b f1                	mov    %ecx,%esi
40b954:	8d 4e 18             	lea    0x18(%esi),%ecx
40b957:	e8 2e 10 00 00       	call   0x40c98a
40b95c:	33 db                	xor    %ebx,%ebx
40b95e:	43                   	inc    %ebx
40b95f:	85 c0                	test   %eax,%eax
40b961:	74 4d                	je     0x40b9b0
40b963:	8b 86 80 01 00 00    	mov    0x180(%esi),%eax
40b969:	8b c8                	mov    %eax,%ecx
40b96b:	c1 e9 09             	shr    $0x9,%ecx
40b96e:	83 e1 02             	and    $0x2,%ecx
40b971:	84 c3                	test   %al,%bl
40b973:	74 02                	je     0x40b977
40b975:	0b cb                	or     %ebx,%ecx
40b977:	51                   	push   %ecx
40b978:	6a 05                	push   $0x5
40b97a:	ff 76 18             	push   0x18(%esi)
40b97d:	ff 75 08             	push   0x8(%ebp)
40b980:	e8 92 01 00 00       	call   0x40bb17
40b985:	85 c0                	test   %eax,%eax
40b987:	79 27                	jns    0x40b9b0
40b989:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40b98f:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
40b995:	74 19                	je     0x40b9b0
40b997:	84 59 1c             	test   %bl,0x1c(%ecx)
40b99a:	74 14                	je     0x40b9b0
40b99c:	50                   	push   %eax
40b99d:	ff 71 14             	push   0x14(%ecx)
40b9a0:	ba 30 22 40 00       	mov    $0x402230,%edx
40b9a5:	ff 71 10             	push   0x10(%ecx)
40b9a8:	6a 0a                	push   $0xa
40b9aa:	59                   	pop    %ecx
40b9ab:	e8 1e ba ff ff       	call   0x4073ce
40b9b0:	8d 4e 24             	lea    0x24(%esi),%ecx
40b9b3:	e8 d2 0f 00 00       	call   0x40c98a
40b9b8:	85 c0                	test   %eax,%eax
40b9ba:	74 44                	je     0x40ba00
40b9bc:	8b 86 80 01 00 00    	mov    0x180(%esi),%eax
40b9c2:	c1 e8 09             	shr    $0x9,%eax
40b9c5:	83 e0 02             	and    $0x2,%eax
40b9c8:	50                   	push   %eax