438656:	85 f6                	test   %esi,%esi
438658:	74 20                	je     0x43867a
43865a:	6b c6 18             	imul   $0x18,%esi,%eax
43865d:	57                   	push   %edi
43865e:	8d b8 80 b3 46 00    	lea    0x46b380(%eax),%edi
438664:	57                   	push   %edi
438665:	ff 15 8c b1 44 00    	call   *0x44b18c
43866b:	ff 0d d0 b4 46 00    	decl   0x46b4d0
438671:	83 ef 18             	sub    $0x18,%edi
438674:	83 ee 01             	sub    $0x1,%esi
438677:	75 eb                	jne    0x438664
438679:	5f                   	pop    %edi
43867a:	b0 01                	mov    $0x1,%al
43867c:	5e                   	pop    %esi
43867d:	c3                   	ret
43867e:	8b ff                	mov    %edi,%edi
438680:	55                   	push   %ebp
438681:	8b ec                	mov    %esp,%ebp
438683:	6b 45 08 18          	imul   $0x18,0x8(%ebp),%eax
438687:	05 98 b3 46 00       	add    $0x46b398,%eax
43868c:	50                   	push   %eax
43868d:	ff 15 b8 b1 44 00    	call   *0x44b1b8
438693:	5d                   	pop    %ebp
438694:	c3                   	ret
438695:	8b ff                	mov    %edi,%edi
438697:	55                   	push   %ebp
438698:	8b ec                	mov    %esp,%ebp
43869a:	8b 45 08             	mov    0x8(%ebp),%eax
43869d:	53                   	push   %ebx
43869e:	56                   	push   %esi
43869f:	57                   	push   %edi
4386a0:	8d 1c 85 28 b5 46 00 	lea    0x46b528(,%eax,4),%ebx
4386a7:	8b 03                	mov    (%ebx),%eax
4386a9:	8b 15 08 a0 46 00    	mov    0x46a008,%edx
4386af:	83 cf ff             	or     $0xffffffff,%edi
4386b2:	8b ca                	mov    %edx,%ecx
4386b4:	8b f2                	mov    %edx,%esi
4386b6:	83 e1 1f             	and    $0x1f,%ecx
4386b9:	33 f0                	xor    %eax,%esi
4386bb:	d3 ce                	ror    %cl,%esi
4386bd:	3b f7                	cmp    %edi,%esi
4386bf:	74 69                	je     0x43872a
4386c1:	85 f6                	test   %esi,%esi
4386c3:	74 04                	je     0x4386c9
4386c5:	8b c6                	mov    %esi,%eax
4386c7:	eb 63                	jmp    0x43872c
4386c9:	8b 75 10             	mov    0x10(%ebp),%esi
4386cc:	3b 75 14             	cmp    0x14(%ebp),%esi
4386cf:	74 1a                	je     0x4386eb
4386d1:	ff 36                	push   (%esi)
4386d3:	e8 59 00 00 00       	call   0x438731
4386d8:	59                   	pop    %ecx
4386d9:	85 c0                	test   %eax,%eax
4386db:	75 2f                	jne    0x43870c
4386dd:	83 c6 04             	add    $0x4,%esi
4386e0:	3b 75 14             	cmp    0x14(%ebp),%esi
4386e3:	75 ec                	jne    0x4386d1
4386e5:	8b 15 08 a0 46 00    	mov    0x46a008,%edx
4386eb:	33 c0                	xor    %eax,%eax
4386ed:	85 c0                	test   %eax,%eax
4386ef:	74 29                	je     0x43871a
4386f1:	ff 75 0c             	push   0xc(%ebp)
4386f4:	50                   	push   %eax
4386f5:	ff 15 dc b0 44 00    	call   *0x44b0dc
4386fb:	8b f0                	mov    %eax,%esi
4386fd:	85 f6                	test   %esi,%esi
4386ff:	74 13                	je     0x438714
438701:	56                   	push   %esi
438702:	e8 ac 8e ff ff       	call   0x4315b3
438707:	59                   	pop    %ecx
438708:	87 03                	xchg   %eax,(%ebx)
43870a:	eb b9                	jmp    0x4386c5
43870c:	8b 15 08 a0 46 00    	mov    0x46a008,%edx
438712:	eb d9                	jmp    0x4386ed
438714:	8b 15 08 a0 46 00    	mov    0x46a008,%edx
43871a:	8b c2                	mov    %edx,%eax
43871c:	6a 20                	push   $0x20
43871e:	83 e0 1f             	and    $0x1f,%eax
438721:	59                   	pop    %ecx
438722:	2b c8                	sub    %eax,%ecx
438724:	d3 cf                	ror    %cl,%edi
438726:	33 fa                	xor    %edx,%edi
438728:	87 3b                	xchg   %edi,(%ebx)
43872a:	33 c0                	xor    %eax,%eax
43872c:	5f                   	pop    %edi
43872d:	5e                   	pop    %esi
43872e:	5b                   	pop    %ebx
43872f:	5d                   	pop    %ebp
438730:	c3                   	ret
438731:	8b ff                	mov    %edi,%edi
438733:	55                   	push   %ebp
438734:	8b ec                	mov    %esp,%ebp
438736:	8b 45 08             	mov    0x8(%ebp),%eax
438739:	57                   	push   %edi
43873a:	8d 3c 85 d8 b4 46 00 	lea    0x46b4d8(,%eax,4),%edi
438741:	8b 0f                	mov    (%edi),%ecx
438743:	85 c9                	test   %ecx,%ecx
438745:	74 0b                	je     0x438752
438747:	8d 41 01             	lea    0x1(%ecx),%eax
43874a:	f7 d8                	neg    %eax
43874c:	1b c0                	sbb    %eax,%eax
43874e:	23 c1                	and    %ecx,%eax
438750:	eb 57                	jmp    0x4387a9
438752:	53                   	push   %ebx
438753:	8b 1c 85 50 1d 46 00 	mov    0x461d50(,%eax,4),%ebx
43875a:	56                   	push   %esi
43875b:	68 00 08 00 00       	push   $0x800
438760:	6a 00                	push   $0x0
438762:	53                   	push   %ebx
438763:	ff 15 e0 b2 44 00    	call   *0x44b2e0
438769:	8b f0                	mov    %eax,%esi
43876b:	85 f6                	test   %esi,%esi
43876d:	75 27                	jne    0x438796
43876f:	ff 15 e8 b0 44 00    	call   *0x44b0e8
438775:	83 f8 57             	cmp    $0x57,%eax
438778:	75 0d                	jne    0x438787
43877a:	56                   	push   %esi
43877b:	56                   	push   %esi
43877c:	53                   	push   %ebx
43877d:	ff 15 e0 b2 44 00    	call   *0x44b2e0
438783:	8b f0                	mov    %eax,%esi
438785:	eb 02                	jmp    0x438789
438787:	33 f6                	xor    %esi,%esi
438789:	85 f6                	test   %esi,%esi
43878b:	75 09                	jne    0x438796
43878d:	83 c8 ff             	or     $0xffffffff,%eax
438790:	87 07                	xchg   %eax,(%edi)
438792:	33 c0                	xor    %eax,%eax
438794:	eb 11                	jmp    0x4387a7
438796:	8b c6                	mov    %esi,%eax
438798:	87 07                	xchg   %eax,(%edi)
43879a:	85 c0                	test   %eax,%eax
43879c:	74 07                	je     0x4387a5
43879e:	56                   	push   %esi
43879f:	ff 15 b0 b1 44 00    	call   *0x44b1b0
4387a5:	8b c6                	mov    %esi,%eax
4387a7:	5e                   	pop    %esi
4387a8:	5b                   	pop    %ebx
4387a9:	5f                   	pop    %edi
4387aa:	5d                   	pop    %ebp
4387ab:	c3                   	ret
4387ac:	8b ff                	mov    %edi,%edi
4387ae:	55                   	push   %ebp
4387af:	8b ec                	mov    %esp,%ebp
4387b1:	51                   	push   %ecx
4387b2:	a1 08 a0 46 00       	mov    0x46a008,%eax
4387b7:	33 c5                	xor    %ebp,%eax
4387b9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4387bc:	56                   	push   %esi
4387bd:	68 f8 21 46 00       	push   $0x4621f8
4387c2:	68 f0 21 46 00       	push   $0x4621f0
4387c7:	68 20 0d 46 00       	push   $0x460d20
4387cc:	6a 03                	push   $0x3
4387ce:	e8 c2 fe ff ff       	call   0x438695
4387d3:	8b f0                	mov    %eax,%esi
4387d5:	83 c4 10             	add    $0x10,%esp
4387d8:	85 f6                	test   %esi,%esi
4387da:	74 0f                	je     0x4387eb
4387dc:	ff 75 08             	push   0x8(%ebp)
4387df:	8b ce                	mov    %esi,%ecx
4387e1:	ff 15 d0 b3 44 00    	call   *0x44b3d0
4387e7:	ff d6                	call   *%esi
4387e9:	eb 06                	jmp    0x4387f1
4387eb:	ff 15 78 b2 44 00    	call   *0x44b278
4387f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4387f4:	33 cd                	xor    %ebp,%ecx
4387f6:	5e                   	pop    %esi
4387f7:	e8 3a 56 ff ff       	call   0x42de36
4387fc:	8b e5                	mov    %ebp,%esp
4387fe:	5d                   	pop    %ebp
4387ff:	c2 04 00             	ret    $0x4
438802:	8b ff                	mov    %edi,%edi
438804:	55                   	push   %ebp
438805:	8b ec                	mov    %esp,%ebp
438807:	51                   	push   %ecx
438808:	a1 08 a0 46 00       	mov    0x46a008,%eax
43880d:	33 c5                	xor    %ebp,%eax
43880f:	89 45 fc             	mov    %eax,-0x4(%ebp)
438812:	56                   	push   %esi
438813:	68 00 22 46 00       	push   $0x462200
438818:	68 f8 21 46 00       	push   $0x4621f8
43881d:	68 34 0d 46 00       	push   $0x460d34
438822:	6a 04                	push   $0x4
438824:	e8 6c fe ff ff       	call   0x438695
438829:	83 c4 10             	add    $0x10,%esp
43882c:	8b f0                	mov    %eax,%esi
43882e:	ff 75 08             	push   0x8(%ebp)
438831:	85 f6                	test   %esi,%esi
438833:	74 0c                	je     0x438841
438835:	8b ce                	mov    %esi,%ecx
438837:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43883d:	ff d6                	call   *%esi
43883f:	eb 06                	jmp    0x438847
438841:	ff 15 a0 b1 44 00    	call   *0x44b1a0
438847:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43884a:	33 cd                	xor    %ebp,%ecx
43884c:	5e                   	pop    %esi
43884d:	e8 e4 55 ff ff       	call   0x42de36
438852:	8b e5                	mov    %ebp,%esp
438854:	5d                   	pop    %ebp
438855:	c2 04 00             	ret    $0x4
438858:	8b ff                	mov    %edi,%edi
43885a:	55                   	push   %ebp
43885b:	8b ec                	mov    %esp,%ebp
43885d:	51                   	push   %ecx
43885e:	a1 08 a0 46 00       	mov    0x46a008,%eax
438863:	33 c5                	xor    %ebp,%eax
438865:	89 45 fc             	mov    %eax,-0x4(%ebp)
438868:	56                   	push   %esi
438869:	68 08 22 46 00       	push   $0x462208
43886e:	68 00 22 46 00       	push   $0x462200
438873:	68 3c 0d 46 00       	push   $0x460d3c
438878:	6a 05                	push   $0x5
43887a:	e8 16 fe ff ff       	call   0x438695
43887f:	83 c4 10             	add    $0x10,%esp
438882:	8b f0                	mov    %eax,%esi
438884:	ff 75 08             	push   0x8(%ebp)
438887:	85 f6                	test   %esi,%esi
438889:	74 0c                	je     0x438897
43888b:	8b ce                	mov    %esi,%ecx
43888d:	ff 15 d0 b3 44 00    	call   *0x44b3d0
438893:	ff d6                	call   *%esi
438895:	eb 06                	jmp    0x43889d
438897:	ff 15 98 b1 44 00    	call   *0x44b198
43889d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4388a0:	33 cd                	xor    %ebp,%ecx
4388a2:	5e                   	pop    %esi
4388a3:	e8 8e 55 ff ff       	call   0x42de36
4388a8:	8b e5                	mov    %ebp,%esp
4388aa:	5d                   	pop    %ebp
4388ab:	c2 04 00             	ret    $0x4
4388ae:	8b ff                	mov    %edi,%edi
4388b0:	55                   	push   %ebp
4388b1:	8b ec                	mov    %esp,%ebp
4388b3:	51                   	push   %ecx
4388b4:	a1 08 a0 46 00       	mov    0x46a008,%eax
4388b9:	33 c5                	xor    %ebp,%eax
4388bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4388be:	56                   	push   %esi
4388bf:	68 10 22 46 00       	push   $0x462210
4388c4:	68 08 22 46 00       	push   $0x462208
4388c9:	68 50 0d 46 00       	push   $0x460d50
4388ce:	6a 06                	push   $0x6
4388d0:	e8 c0 fd ff ff       	call   0x438695
4388d5:	83 c4 10             	add    $0x10,%esp
4388d8:	8b f0                	mov    %eax,%esi
4388da:	ff 75 0c             	push   0xc(%ebp)
4388dd:	ff 75 08             	push   0x8(%ebp)
4388e0:	85 f6                	test   %esi,%esi
4388e2:	74 0c                	je     0x4388f0
4388e4:	8b ce                	mov    %esi,%ecx
4388e6:	ff 15 d0 b3 44 00    	call   *0x44b3d0
4388ec:	ff d6                	call   *%esi
4388ee:	eb 06                	jmp    0x4388f6
4388f0:	ff 15 9c b1 44 00    	call   *0x44b19c
4388f6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4388f9:	33 cd                	xor    %ebp,%ecx
4388fb:	5e                   	pop    %esi
4388fc:	e8 35 55 ff ff       	call   0x42de36
438901:	8b e5                	mov    %ebp,%esp
438903:	5d                   	pop    %ebp
438904:	c2 08 00             	ret    $0x8
438907:	8b ff                	mov    %edi,%edi
438909:	55                   	push   %ebp
43890a:	8b ec                	mov    %esp,%ebp
43890c:	51                   	push   %ecx
43890d:	a1 08 a0 46 00       	mov    0x46a008,%eax
438912:	33 c5                	xor    %ebp,%eax
438914:	89 45 fc             	mov    %eax,-0x4(%ebp)
438917:	56                   	push   %esi
438918:	68 34 22 46 00       	push   $0x462234
43891d:	68 2c 22 46 00       	push   $0x46222c
438922:	68 64 0d 46 00       	push   $0x460d64
438927:	6a 14                	push   $0x14
438929:	e8 67 fd ff ff       	call   0x438695
43892e:	8b f0                	mov    %eax,%esi
438930:	83 c4 10             	add    $0x10,%esp
438933:	85 f6                	test   %esi,%esi
438935:	74 15                	je     0x43894c
438937:	ff 75 10             	push   0x10(%ebp)
43893a:	8b ce                	mov    %esi,%ecx
43893c:	ff 75 0c             	push   0xc(%ebp)
43893f:	ff 75 08             	push   0x8(%ebp)
438942:	ff 15 d0 b3 44 00    	call   *0x44b3d0
438948:	ff d6                	call   *%esi
43894a:	eb 0c                	jmp    0x438958
43894c:	ff 75 0c             	push   0xc(%ebp)
43894f:	ff 75 08             	push   0x8(%ebp)
438952:	ff 15 e4 b2 44 00    	call   *0x44b2e4
438958:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43895b:	33 cd                	xor    %ebp,%ecx
43895d:	5e                   	pop    %esi
43895e:	e8 d3 54 ff ff       	call   0x42de36
438963:	8b e5                	mov    %ebp,%esp
438965:	5d                   	pop    %ebp
438966:	c2 0c 00             	ret    $0xc
438969:	8b ff                	mov    %edi,%edi
43896b:	55                   	push   %ebp
43896c:	8b ec                	mov    %esp,%ebp
43896e:	51                   	push   %ecx
43896f:	a1 08 a0 46 00       	mov    0x46a008,%eax
438974:	33 c5                	xor    %ebp,%eax
438976:	89 45 fc             	mov    %eax,-0x4(%ebp)
438979:	56                   	push   %esi
43897a:	68 3c 22 46 00       	push   $0x46223c
43897f:	68 34 22 46 00       	push   $0x462234
438984:	68 3c 22 46 00       	push   $0x46223c
438989:	6a 16                	push   $0x16
43898b:	e8 05 fd ff ff       	call   0x438695
438990:	8b f0                	mov    %eax,%esi
438992:	83 c4 10             	add    $0x10,%esp
438995:	85 f6                	test   %esi,%esi
438997:	74 27                	je     0x4389c0
438999:	ff 75 28             	push   0x28(%ebp)
43899c:	8b ce                	mov    %esi,%ecx
43899e:	ff 75 24             	push   0x24(%ebp)
4389a1:	ff 75 20             	push   0x20(%ebp)
4389a4:	ff 75 1c             	push   0x1c(%ebp)
4389a7:	ff 75 18             	push   0x18(%ebp)
4389aa:	ff 75 14             	push   0x14(%ebp)
4389ad:	ff 75 10             	push   0x10(%ebp)
4389b0:	ff 75 0c             	push   0xc(%ebp)
4389b3:	ff 75 08             	push   0x8(%ebp)
4389b6:	ff 15 d0 b3 44 00    	call   *0x44b3d0
4389bc:	ff d6                	call   *%esi
4389be:	eb 20                	jmp    0x4389e0
4389c0:	ff 75 1c             	push   0x1c(%ebp)
4389c3:	ff 75 18             	push   0x18(%ebp)
4389c6:	ff 75 14             	push   0x14(%ebp)
4389c9:	ff 75 10             	push   0x10(%ebp)
4389cc:	ff 75 0c             	push   0xc(%ebp)
4389cf:	6a 00                	push   $0x0
4389d1:	ff 75 08             	push   0x8(%ebp)
4389d4:	e8 18 00 00 00       	call   0x4389f1
4389d9:	50                   	push   %eax
4389da:	ff 15 04 b1 44 00    	call   *0x44b104
4389e0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4389e3:	33 cd                	xor    %ebp,%ecx
4389e5:	5e                   	pop    %esi
4389e6:	e8 4b 54 ff ff       	call   0x42de36
4389eb:	8b e5                	mov    %ebp,%esp
4389ed:	5d                   	pop    %ebp
4389ee:	c2 24 00             	ret    $0x24
4389f1:	8b ff                	mov    %edi,%edi
4389f3:	55                   	push   %ebp
4389f4:	8b ec                	mov    %esp,%ebp
4389f6:	51                   	push   %ecx
4389f7:	a1 08 a0 46 00       	mov    0x46a008,%eax
4389fc:	33 c5                	xor    %ebp,%eax
4389fe:	89 45 fc             	mov    %eax,-0x4(%ebp)