435616:	57                   	push   %edi
435617:	8b 7c 24 14          	mov    0x14(%esp),%edi
43561b:	53                   	push   %ebx
43561c:	57                   	push   %edi
43561d:	ff 74 24 18          	push   0x18(%esp)
435621:	8b f1                	mov    %ecx,%esi
435623:	e8 26 08 01 00       	call   0x445e4e
435628:	85 c0                	test   %eax,%eax
43562a:	0f 85 b5 00 00 00    	jne    0x4356e5
435630:	8b 47 08             	mov    0x8(%edi),%eax
435633:	3d a1 fd ff ff       	cmp    $0xfffffda1,%eax
435638:	0f 84 9d 00 00 00    	je     0x4356db
43563e:	3d a2 fd ff ff       	cmp    $0xfffffda2,%eax
435643:	0f 84 84 00 00 00    	je     0x4356cd
435649:	3d a3 fd ff ff       	cmp    $0xfffffda3,%eax
43564e:	74 53                	je     0x4356a3
435650:	3d a4 fd ff ff       	cmp    $0xfffffda4,%eax
435655:	74 3d                	je     0x435694
435657:	3d a5 fd ff ff       	cmp    $0xfffffda5,%eax
43565c:	74 2a                	je     0x435688
43565e:	3d a6 fd ff ff       	cmp    $0xfffffda6,%eax
435663:	74 17                	je     0x43567c
435665:	3d a7 fd ff ff       	cmp    $0xfffffda7,%eax
43566a:	74 04                	je     0x435670
43566c:	33 c0                	xor    %eax,%eax
43566e:	eb 78                	jmp    0x4356e8
435670:	8b 06                	mov    (%esi),%eax
435672:	8b ce                	mov    %esi,%ecx
435674:	ff 90 64 01 00 00    	call   *0x164(%eax)
43567a:	eb 69                	jmp    0x4356e5
43567c:	8b 06                	mov    (%esi),%eax
43567e:	8b ce                	mov    %esi,%ecx
435680:	ff 90 68 01 00 00    	call   *0x168(%eax)
435686:	eb 5d                	jmp    0x4356e5
435688:	8b 06                	mov    (%esi),%eax
43568a:	8b ce                	mov    %esi,%ecx
43568c:	ff 90 6c 01 00 00    	call   *0x16c(%eax)
435692:	eb 51                	jmp    0x4356e5
435694:	ff 77 10             	push   0x10(%edi)
435697:	8b 06                	mov    (%esi),%eax
435699:	8b ce                	mov    %esi,%ecx
43569b:	ff 90 58 01 00 00    	call   *0x158(%eax)
4356a1:	eb 34                	jmp    0x4356d7
4356a3:	8b 3d 98 08 4b 00    	mov    0x4b0898,%edi
4356a9:	33 db                	xor    %ebx,%ebx
4356ab:	53                   	push   %ebx
4356ac:	68 46 e1 00 00       	push   $0xe146
4356b1:	68 11 01 00 00       	push   $0x111
4356b6:	ff 76 1c             	push   0x1c(%esi)
4356b9:	ff d7                	call   *%edi
4356bb:	85 c0                	test   %eax,%eax
4356bd:	75 26                	jne    0x4356e5
4356bf:	53                   	push   %ebx
4356c0:	53                   	push   %ebx
4356c1:	68 65 03 00 00       	push   $0x365
4356c6:	ff 76 1c             	push   0x1c(%esi)
4356c9:	ff d7                	call   *%edi
4356cb:	eb 18                	jmp    0x4356e5
4356cd:	8b 06                	mov    (%esi),%eax
4356cf:	8b ce                	mov    %esi,%ecx
4356d1:	ff 90 5c 01 00 00    	call   *0x15c(%eax)
4356d7:	89 03                	mov    %eax,(%ebx)
4356d9:	eb 0a                	jmp    0x4356e5
4356db:	8b 06                	mov    (%esi),%eax
4356dd:	8b ce                	mov    %esi,%ecx
4356df:	ff 90 70 01 00 00    	call   *0x170(%eax)
4356e5:	33 c0                	xor    %eax,%eax
4356e7:	40                   	inc    %eax
4356e8:	5f                   	pop    %edi
4356e9:	5e                   	pop    %esi
4356ea:	5b                   	pop    %ebx
4356eb:	c2 0c 00             	ret    $0xc
4356ee:	56                   	push   %esi
4356ef:	8b f1                	mov    %ecx,%esi
4356f1:	ff 76 70             	push   0x70(%esi)
4356f4:	c7 06 ec d0 48 00    	movl   $0x48d0ec,(%esi)
4356fa:	e8 9f 0c fe ff       	call   0x41639e
4356ff:	59                   	pop    %ecx
435700:	8b 4e 78             	mov    0x78(%esi),%ecx
435703:	83 e9 10             	sub    $0x10,%ecx
435706:	e8 47 bc fc ff       	call   0x401352
43570b:	8b ce                	mov    %esi,%ecx
43570d:	5e                   	pop    %esi
43570e:	e9 78 cf 00 00       	jmp    0x44268b
435713:	56                   	push   %esi
435714:	8b f1                	mov    %ecx,%esi
435716:	e8 d3 ff ff ff       	call   0x4356ee
43571b:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
435720:	74 07                	je     0x435729
435722:	56                   	push   %esi
435723:	e8 58 a9 00 00       	call   0x440080
435728:	59                   	pop    %ecx
435729:	8b c6                	mov    %esi,%eax
43572b:	5e                   	pop    %esi
43572c:	c2 04 00             	ret    $0x4
43572f:	b8 57 3a 48 00       	mov    $0x483a57,%eax
435734:	e8 43 25 fe ff       	call   0x417c7c
435739:	51                   	push   %ecx
43573a:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
43573e:	56                   	push   %esi
43573f:	57                   	push   %edi
435740:	8b f1                	mov    %ecx,%esi
435742:	e8 af aa 00 00       	call   0x4401f6
435747:	8b 10                	mov    (%eax),%edx
435749:	8b c8                	mov    %eax,%ecx
43574b:	ff 52 0c             	call   *0xc(%edx)
43574e:	83 c0 10             	add    $0x10,%eax
435751:	89 45 f0             	mov    %eax,-0x10(%ebp)
435754:	ff 76 1c             	push   0x1c(%esi)
435757:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43575b:	ff 15 d8 07 4b 00    	call   *0x4b07d8
435761:	50                   	push   %eax
435762:	e8 3b f5 00 00       	call   0x444ca2
435767:	be 04 01 00 00       	mov    $0x104,%esi
43576c:	56                   	push   %esi
43576d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
435770:	8b f8                	mov    %eax,%edi
435772:	e8 19 ba fc ff       	call   0x401190
435777:	50                   	push   %eax
435778:	56                   	push   %esi
435779:	68 66 04 00 00       	push   $0x466
43577e:	ff 77 1c             	push   0x1c(%edi)
435781:	ff 15 98 08 4b 00    	call   *0x4b0898
435787:	85 c0                	test   %eax,%eax
435789:	5f                   	pop    %edi
43578a:	5e                   	pop    %esi
43578b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43578e:	7d 07                	jge    0x435797
435790:	e8 dd b9 fc ff       	call   0x401172
435795:	eb 07                	jmp    0x43579e
435797:	6a ff                	push   $0xffffffff
435799:	e8 89 b9 fc ff       	call   0x401127
43579e:	8b 4d 08             	mov    0x8(%ebp),%ecx
4357a1:	8d 45 f0             	lea    -0x10(%ebp),%eax
4357a4:	50                   	push   %eax
4357a5:	e8 28 b9 fc ff       	call   0x4010d2
4357aa:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4357ad:	83 c1 f0             	add    $0xfffffff0,%ecx
4357b0:	e8 9d bb fc ff       	call   0x401352
4357b5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4357b8:	8b 45 08             	mov    0x8(%ebp),%eax
4357bb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4357c2:	c9                   	leave
4357c3:	c2 04 00             	ret    $0x4
4357c6:	b8 8c 3a 48 00       	mov    $0x483a8c,%eax
4357cb:	e8 ac 24 fe ff       	call   0x417c7c
4357d0:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
4357d6:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
4357db:	53                   	push   %ebx
4357dc:	56                   	push   %esi
4357dd:	57                   	push   %edi
4357de:	ff 75 1c             	push   0x1c(%ebp)
4357e1:	8b f1                	mov    %ecx,%esi
4357e3:	33 db                	xor    %ebx,%ebx
4357e5:	53                   	push   %ebx
4357e6:	89 45 f0             	mov    %eax,-0x10(%ebp)
4357e9:	89 b5 58 ff ff ff    	mov    %esi,-0xa8(%ebp)
4357ef:	e8 7e cf 00 00       	call   0x442772
4357f4:	8d 4e 78             	lea    0x78(%esi),%ecx
4357f7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4357fa:	c7 06 ec d0 48 00    	movl   $0x48d0ec,(%esi)
435800:	e8 af b8 fc ff       	call   0x4010b4
435805:	39 5d 20             	cmp    %ebx,0x20(%ebp)
435808:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
43580c:	75 49                	jne    0x435857
43580e:	bf 94 00 00 00       	mov    $0x94,%edi
435813:	57                   	push   %edi
435814:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
43581a:	53                   	push   %ebx
43581b:	50                   	push   %eax
43581c:	e8 1f 2a fe ff       	call   0x418240
435821:	83 c4 0c             	add    $0xc,%esp
435824:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
43582a:	50                   	push   %eax
43582b:	89 bd 5c ff ff ff    	mov    %edi,-0xa4(%ebp)
435831:	ff 15 a8 03 4b 00    	call   *0x4b03a8
435837:	83 bd 6c ff ff ff 02 	cmpl   $0x2,-0x94(%ebp)
43583e:	75 10                	jne    0x435850
435840:	83 bd 60 ff ff ff 05 	cmpl   $0x5,-0xa0(%ebp)
435847:	c7 45 20 58 00 00 00 	movl   $0x58,0x20(%ebp)
43584e:	73 07                	jae    0x435857
435850:	c7 45 20 4c 00 00 00 	movl   $0x4c,0x20(%ebp)
435857:	ff 75 20             	push   0x20(%ebp)
43585a:	e8 2d 0b fe ff       	call   0x41638c
43585f:	3b c3                	cmp    %ebx,%eax
435861:	59                   	pop    %ecx
435862:	89 46 70             	mov    %eax,0x70(%esi)
435865:	75 05                	jne    0x43586c
435867:	e8 ab fb ff ff       	call   0x435417
43586c:	ff 75 20             	push   0x20(%ebp)
43586f:	53                   	push   %ebx
435870:	50                   	push   %eax
435871:	e8 ca 29 fe ff       	call   0x418240
435876:	8b 45 08             	mov    0x8(%ebp),%eax
435879:	8b 55 20             	mov    0x20(%ebp),%edx
43587c:	89 46 74             	mov    %eax,0x74(%esi)
43587f:	83 c4 0c             	add    $0xc,%esp
435882:	f7 d8                	neg    %eax
435884:	1b c0                	sbb    %eax,%eax
435886:	05 05 70 00 00       	add    $0x7005,%eax
43588b:	89 46 50             	mov    %eax,0x50(%esi)
43588e:	8b 46 70             	mov    0x70(%esi),%eax
435891:	89 9e c0 01 00 00    	mov    %ebx,0x1c0(%esi)
435897:	8d 4e 7c             	lea    0x7c(%esi),%ecx
43589a:	88 19                	mov    %bl,(%ecx)
43589c:	8d be bc 00 00 00    	lea    0xbc(%esi),%edi
4358a2:	88 1f                	mov    %bl,(%edi)
4358a4:	89 10                	mov    %edx,(%eax)
4358a6:	8b 46 70             	mov    0x70(%esi),%eax
4358a9:	8b 55 0c             	mov    0xc(%ebp),%edx
4358ac:	89 78 1c             	mov    %edi,0x1c(%eax)
4358af:	8b 46 70             	mov    0x70(%esi),%eax
4358b2:	c7 40 20 04 01 00 00 	movl   $0x104,0x20(%eax)
4358b9:	8b 46 70             	mov    0x70(%esi),%eax
4358bc:	89 50 3c             	mov    %edx,0x3c(%eax)
4358bf:	8b 46 70             	mov    0x70(%esi),%eax
4358c2:	8b 55 14             	mov    0x14(%ebp),%edx
4358c5:	89 48 24             	mov    %ecx,0x24(%eax)
4358c8:	8b 46 70             	mov    0x70(%esi),%eax
4358cb:	6a 40                	push   $0x40
4358cd:	59                   	pop    %ecx
4358ce:	89 48 28             	mov    %ecx,0x28(%eax)
4358d1:	8b 46 70             	mov    0x70(%esi),%eax
4358d4:	81 ca 20 00 08 00    	or     $0x80020,%edx
4358da:	09 50 34             	or     %edx,0x34(%eax)
4358dd:	84 4d 14             	test   %cl,0x14(%ebp)
4358e0:	74 07                	je     0x4358e9
4358e2:	8b 46 70             	mov    0x70(%esi),%eax
4358e5:	80 60 36 7f          	andb   $0x7f,0x36(%eax)
4358e9:	e8 13 80 03 00       	call   0x46d901
4358ee:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4358f1:	8b 40 0c             	mov    0xc(%eax),%eax
4358f4:	8b 4e 70             	mov    0x70(%esi),%ecx
4358f7:	89 41 08             	mov    %eax,0x8(%ecx)
4358fa:	8b 46 70             	mov    0x70(%esi),%eax
4358fd:	c7 40 44 d4 5e 43 00 	movl   $0x435ed4,0x44(%eax)
435904:	74 0f                	je     0x435915
435906:	68 04 01 00 00       	push   $0x104
43590b:	ff 75 10             	push   0x10(%ebp)
43590e:	57                   	push   %edi
43590f:	ff 15 4c 03 4b 00    	call   *0x4b034c
435915:	39 5d 18             	cmp    %ebx,0x18(%ebp)
435918:	74 31                	je     0x43594b
43591a:	ff 75 18             	push   0x18(%ebp)
43591d:	8d 7e 78             	lea    0x78(%esi),%edi
435920:	8b cf                	mov    %edi,%ecx
435922:	e8 5a b8 fc ff       	call   0x401181
435927:	53                   	push   %ebx
435928:	8b cf                	mov    %edi,%ecx
43592a:	e8 61 b8 fc ff       	call   0x401190
43592f:	eb 03                	jmp    0x435934
435931:	88 18                	mov    %bl,(%eax)
435933:	40                   	inc    %eax
435934:	6a 7c                	push   $0x7c
435936:	50                   	push   %eax
435937:	e8 64 29 fe ff       	call   0x4182a0
43593c:	3b c3                	cmp    %ebx,%eax
43593e:	59                   	pop    %ecx
43593f:	59                   	pop    %ecx
435940:	75 ef                	jne    0x435931
435942:	8b 46 70             	mov    0x70(%esi),%eax
435945:	8b 4e 78             	mov    0x78(%esi),%ecx
435948:	89 48 0c             	mov    %ecx,0xc(%eax)
43594b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43594e:	5f                   	pop    %edi
43594f:	8b c6                	mov    %esi,%eax
435951:	5e                   	pop    %esi
435952:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
435959:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43595c:	5b                   	pop    %ebx
43595d:	e8 7c 22 fe ff       	call   0x417bde
435962:	c9                   	leave
435963:	c2 1c 00             	ret    $0x1c
435966:	b8 9e 3a 48 00       	mov    $0x483a9e,%eax
43596b:	e8 0c 23 fe ff       	call   0x417c7c
435970:	51                   	push   %ecx
435971:	51                   	push   %ecx
435972:	53                   	push   %ebx
435973:	56                   	push   %esi
435974:	57                   	push   %edi
435975:	8b f9                	mov    %ecx,%edi
435977:	8b 47 70             	mov    0x70(%edi),%eax
43597a:	33 f6                	xor    %esi,%esi
43597c:	f6 40 36 08          	testb  $0x8,0x36(%eax)
435980:	89 75 ec             	mov    %esi,-0x14(%ebp)
435983:	0f 84 b2 00 00 00    	je     0x435a3b
435989:	39 77 1c             	cmp    %esi,0x1c(%edi)
43598c:	0f 84 a9 00 00 00    	je     0x435a3b
435992:	e8 5f a8 00 00       	call   0x4401f6
435997:	8b 10                	mov    (%eax),%edx
435999:	8b c8                	mov    %eax,%ecx
43599b:	ff 52 0c             	call   *0xc(%edx)
43599e:	83 c0 10             	add    $0x10,%eax
4359a1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4359a4:	ff 77 1c             	push   0x1c(%edi)
4359a7:	8b 1d d8 07 4b 00    	mov    0x4b07d8,%ebx
4359ad:	89 75 fc             	mov    %esi,-0x4(%ebp)
4359b0:	ff d3                	call   *%ebx
4359b2:	50                   	push   %eax
4359b3:	e8 ea f2 00 00       	call   0x444ca2
4359b8:	be 04 01 00 00       	mov    $0x104,%esi
4359bd:	56                   	push   %esi
4359be:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4359c1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4359c4:	e8 c7 b7 fc ff       	call   0x401190
4359c9:	50                   	push   %eax
4359ca:	8b 45 ec             	mov    -0x14(%ebp),%eax
4359cd:	56                   	push   %esi
4359ce:	68 64 04 00 00       	push   $0x464
4359d3:	ff 70 1c             	push   0x1c(%eax)
4359d6:	ff 15 98 08 4b 00    	call   *0x4b0898
4359dc:	85 c0                	test   %eax,%eax
4359de:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4359e1:	7d 07                	jge    0x4359ea
4359e3:	e8 8a b7 fc ff       	call   0x401172
4359e8:	eb 07                	jmp    0x4359f1
4359ea:	6a ff                	push   $0xffffffff
4359ec:	e8 36 b7 fc ff       	call   0x401127
4359f1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4359f4:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
4359f8:	74 32                	je     0x435a2c
4359fa:	ff 77 1c             	push   0x1c(%edi)
4359fd:	ff d3                	call   *%ebx
4359ff:	50                   	push   %eax
435a00:	e8 9d f2 00 00       	call   0x444ca2
435a05:	56                   	push   %esi
435a06:	8d 4d f0             	lea    -0x10(%ebp),%ecx
435a09:	8b d8                	mov    %eax,%ebx
435a0b:	e8 80 b7 fc ff       	call   0x401190
435a10:	50                   	push   %eax
435a11:	56                   	push   %esi
435a12:	68 65 04 00 00       	push   $0x465
435a17:	ff 73 1c             	push   0x1c(%ebx)
435a1a:	ff 15 98 08 4b 00    	call   *0x4b0898
435a20:	85 c0                	test   %eax,%eax
435a22:	8d 4d f0             	lea    -0x10(%ebp),%ecx
435a25:	7d 36                	jge    0x435a5d
435a27:	e8 46 b7 fc ff       	call   0x401172
435a2c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
435a2f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
435a33:	83 c1 f0             	add    $0xfffffff0,%ecx
435a36:	e8 17 b9 fc ff       	call   0x401352
435a3b:	8b 47 70             	mov    0x70(%edi),%eax
435a3e:	ff 70 1c             	push   0x1c(%eax)
435a41:	8b 4d 08             	mov    0x8(%ebp),%ecx
435a44:	e8 4b b8 fc ff       	call   0x401294
435a49:	8b 4d f4             	mov    -0xc(%ebp),%ecx
435a4c:	8b 45 08             	mov    0x8(%ebp),%eax
435a4f:	5f                   	pop    %edi
435a50:	5e                   	pop    %esi