414535:	89 74 24 14          	mov    %esi,0x14(%esp)
414539:	85 f6                	test   %esi,%esi
41453b:	0f 85 9d fb ff ff    	jne    0x4140de
414541:	8b 7c 24 30          	mov    0x30(%esp),%edi
414545:	83 3d 04 67 43 00 03 	cmpl   $0x3,0x436704
41454c:	0f 84 e7 c3 00 00    	je     0x420939
414552:	8b 84 24 98 04 00 00 	mov    0x498(%esp),%eax
414559:	33 db                	xor    %ebx,%ebx
41455b:	89 9c 24 98 04 00 00 	mov    %ebx,0x498(%esp)
414562:	85 c0                	test   %eax,%eax
414564:	74 08                	je     0x41456e
414566:	50                   	push   %eax
414567:	ff 15 e0 a3 44 00    	call   *0x44a3e0
41456d:	59                   	pop    %ecx
41456e:	8b 84 24 b0 06 00 00 	mov    0x6b0(%esp),%eax
414575:	89 9c 24 b0 06 00 00 	mov    %ebx,0x6b0(%esp)
41457c:	85 c0                	test   %eax,%eax
41457e:	74 08                	je     0x414588
414580:	50                   	push   %eax
414581:	ff 15 e0 a3 44 00    	call   *0x44a3e0
414587:	59                   	pop    %ecx
414588:	8b 84 24 c8 08 00 00 	mov    0x8c8(%esp),%eax
41458f:	89 9c 24 c8 08 00 00 	mov    %ebx,0x8c8(%esp)
414596:	85 c0                	test   %eax,%eax
414598:	74 08                	je     0x4145a2
41459a:	50                   	push   %eax
41459b:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4145a1:	59                   	pop    %ecx
4145a2:	8b 8c 24 80 02 00 00 	mov    0x280(%esp),%ecx
4145a9:	89 9c 24 80 02 00 00 	mov    %ebx,0x280(%esp)
4145b0:	85 c9                	test   %ecx,%ecx
4145b2:	74 08                	je     0x4145bc
4145b4:	51                   	push   %ecx
4145b5:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4145bb:	59                   	pop    %ecx
4145bc:	8b 44 24 38          	mov    0x38(%esp),%eax
4145c0:	8b 8c 24 dc 08 00 00 	mov    0x8dc(%esp),%ecx
4145c7:	5f                   	pop    %edi
4145c8:	5e                   	pop    %esi
4145c9:	5b                   	pop    %ebx
4145ca:	33 cc                	xor    %esp,%ecx
4145cc:	e8 5f 25 00 00       	call   0x416b30
4145d1:	8b e5                	mov    %ebp,%esp
4145d3:	5d                   	pop    %ebp
4145d4:	c3                   	ret
4145d5:	a1 04 67 43 00       	mov    0x436704,%eax
4145da:	e9 7c fb ff ff       	jmp    0x41415b
4145df:	83 e0 fb             	and    $0xfffffffb,%eax
4145e2:	a8 80                	test   $0x80,%al
4145e4:	6a 00                	push   $0x0
4145e6:	59                   	pop    %ecx
4145e7:	0f 95 c1             	setne  %cl
4145ea:	41                   	inc    %ecx
4145eb:	0b c8                	or     %eax,%ecx
4145ed:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
4145f4:	89 4e 1c             	mov    %ecx,0x1c(%esi)
4145f7:	0f 85 26 fc ff ff    	jne    0x414223
4145fd:	e9 97 b9 00 00       	jmp    0x41ff99
414602:	39 41 20             	cmp    %eax,0x20(%ecx)
414605:	0f 84 d3 fc ff ff    	je     0x4142de
41460b:	a3 a8 67 43 00       	mov    %eax,0x4367a8
414610:	8b 49 20             	mov    0x20(%ecx),%ecx
414613:	89 15 6c 67 43 00    	mov    %edx,0x43676c
414619:	e8 03 49 ff ff       	call   0x408f21
41461e:	a1 a8 67 43 00       	mov    0x4367a8,%eax
414623:	83 f8 15             	cmp    $0x15,%eax
414626:	0f 84 a4 c2 00 00    	je     0x4208d0
41462c:	3d 58 04 00 00       	cmp    $0x458,%eax
414631:	0f 84 99 c2 00 00    	je     0x4208d0
414637:	8b 4c 24 30          	mov    0x30(%esp),%ecx
41463b:	33 d2                	xor    %edx,%edx
41463d:	42                   	inc    %edx
41463e:	e9 9b fc ff ff       	jmp    0x4142de
414643:	83 7c 24 54 00       	cmpl   $0x0,0x54(%esp)
414648:	74 18                	je     0x414662
41464a:	33 c0                	xor    %eax,%eax
41464c:	89 44 24 3c          	mov    %eax,0x3c(%esp)
414650:	83 fa ff             	cmp    $0xffffffff,%edx
414653:	74 09                	je     0x41465e
414655:	f6 c2 10             	test   $0x10,%dl
414658:	0f 85 ec ba 00 00    	jne    0x42014a
41465e:	89 44 24 54          	mov    %eax,0x54(%esp)
414662:	8b 7c 24 14          	mov    0x14(%esp),%edi
414666:	8b 47 1c             	mov    0x1c(%edi),%eax
414669:	83 e0 fb             	and    $0xfffffffb,%eax
41466c:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
414673:	89 47 1c             	mov    %eax,0x1c(%edi)
414676:	0f 84 db ba 00 00    	je     0x420157
41467c:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
414681:	0f 84 f2 fc ff ff    	je     0x414379
414687:	e9 10 bb 00 00       	jmp    0x42019c
41468c:	8b 44 24 30          	mov    0x30(%esp),%eax
414690:	8b 40 20             	mov    0x20(%eax),%eax
414693:	85 c0                	test   %eax,%eax
414695:	74 0a                	je     0x4146a1
414697:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
41469b:	0f 85 96 00 00 00    	jne    0x414737
4146a1:	83 fe 03             	cmp    $0x3,%esi
4146a4:	0f 85 dc fc ff ff    	jne    0x414386
4146aa:	e9 03 bb 00 00       	jmp    0x4201b2
4146af:	83 f8 03             	cmp    $0x3,%eax
4146b2:	0f 85 c9 fa ff ff    	jne    0x414181
4146b8:	e9 a8 fa ff ff       	jmp    0x414165
4146bd:	f7 47 1c 00 04 00 00 	testl  $0x400,0x1c(%edi)
4146c4:	75 1c                	jne    0x4146e2
4146c6:	8b 8c 24 80 02 00 00 	mov    0x280(%esp),%ecx
4146cd:	85 c9                	test   %ecx,%ecx
4146cf:	74 7f                	je     0x414750
4146d1:	e8 6d 0f 00 00       	call   0x415643
4146d6:	8b 35 04 67 43 00    	mov    0x436704,%esi
4146dc:	8b d8                	mov    %eax,%ebx
4146de:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4146e2:	33 c0                	xor    %eax,%eax
4146e4:	89 44 24 40          	mov    %eax,0x40(%esp)
4146e8:	83 fb ff             	cmp    $0xffffffff,%ebx
4146eb:	0f 84 b1 fc ff ff    	je     0x4143a2
4146f1:	8b cb                	mov    %ebx,%ecx
4146f3:	c7 44 24 50 01 00 00 	movl   $0x1,0x50(%esp)
4146fa:	00
4146fb:	e8 98 96 ff ff       	call   0x40dd98
414700:	85 c0                	test   %eax,%eax
414702:	0f 85 c7 ba 00 00    	jne    0x4201cf
414708:	8b 35 04 67 43 00    	mov    0x436704,%esi
41470e:	e9 97 fc ff ff       	jmp    0x4143aa
414713:	8b c1                	mov    %ecx,%eax
414715:	83 fe 03             	cmp    $0x3,%esi
414718:	0f 85 a9 fc ff ff    	jne    0x4143c7
41471e:	e9 f2 ba 00 00       	jmp    0x420215
414723:	e8 44 5a ff ff       	call   0x40a16c
414728:	8b 46 1c             	mov    0x1c(%esi),%eax
41472b:	83 c9 ff             	or     $0xffffffff,%ecx
41472e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
414732:	e9 e5 fc ff ff       	jmp    0x41441c
414737:	33 c0                	xor    %eax,%eax
414739:	39 47 20             	cmp    %eax,0x20(%edi)
41473c:	0f 85 5f ff ff ff    	jne    0x4146a1
414742:	33 f6                	xor    %esi,%esi
414744:	46                   	inc    %esi
414745:	89 35 04 67 43 00    	mov    %esi,0x436704
41474b:	e9 51 ff ff ff       	jmp    0x4146a1
414750:	8d 4c 24 78          	lea    0x78(%esp),%ecx
414754:	e9 78 ff ff ff       	jmp    0x4146d1
414759:	8b ff                	mov    %edi,%edi
41475b:	55                   	push   %ebp
41475c:	8b ec                	mov    %esp,%ebp
41475e:	83 ec 3c             	sub    $0x3c,%esp
414761:	53                   	push   %ebx
414762:	56                   	push   %esi
414763:	57                   	push   %edi
414764:	33 ff                	xor    %edi,%edi
414766:	8b d9                	mov    %ecx,%ebx
414768:	f7 c2 00 04 00 00    	test   $0x400,%edx
41476e:	0f 85 fa c1 00 00    	jne    0x42096e
414774:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
414778:	8d 45 dc             	lea    -0x24(%ebp),%eax
41477b:	50                   	push   %eax
41477c:	57                   	push   %edi
41477d:	8d 45 f4             	lea    -0xc(%ebp),%eax
414780:	50                   	push   %eax
414781:	53                   	push   %ebx
414782:	ff 15 9c a4 44 00    	call   *0x44a49c
414788:	85 c0                	test   %eax,%eax
41478a:	0f 88 de c1 00 00    	js     0x42096e
414790:	66 39 7d dc          	cmp    %di,-0x24(%ebp)
414794:	0f 87 ba c1 00 00    	ja     0x420954
41479a:	8b c7                	mov    %edi,%eax
41479c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41479f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4147a2:	68 40 50 00 00       	push   $0x5040
4147a7:	89 45 c8             	mov    %eax,-0x38(%ebp)
4147aa:	8d 45 ec             	lea    -0x14(%ebp),%eax
4147ad:	6a 04                	push   $0x4
4147af:	50                   	push   %eax
4147b0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4147b3:	c7 45 c4 18 00 00 00 	movl   $0x18,-0x3c(%ebp)
4147ba:	50                   	push   %eax
4147bb:	68 00 00 01 00       	push   $0x10000
4147c0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4147c3:	c7 45 d0 40 00 00 00 	movl   $0x40,-0x30(%ebp)
4147ca:	50                   	push   %eax
4147cb:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4147ce:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4147d1:	89 7d d8             	mov    %edi,-0x28(%ebp)
4147d4:	ff 15 98 a4 44 00    	call   *0x44a498
4147da:	8b f0                	mov    %eax,%esi
4147dc:	8d 45 dc             	lea    -0x24(%ebp),%eax
4147df:	50                   	push   %eax
4147e0:	ff 15 94 a4 44 00    	call   *0x44a494
4147e6:	8d 45 f4             	lea    -0xc(%ebp),%eax
4147e9:	50                   	push   %eax
4147ea:	ff 15 bc a4 44 00    	call   *0x44a4bc
4147f0:	85 f6                	test   %esi,%esi
4147f2:	0f 88 76 c1 00 00    	js     0x42096e
4147f8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4147fb:	e8 23 00 00 00       	call   0x414823
414800:	85 c0                	test   %eax,%eax
414802:	0f 85 57 c1 00 00    	jne    0x42095f
414808:	33 f6                	xor    %esi,%esi
41480a:	46                   	inc    %esi
41480b:	ff 75 fc             	push   -0x4(%ebp)
41480e:	ff 15 1c a1 44 00    	call   *0x44a11c
414814:	85 f6                	test   %esi,%esi
414816:	0f 84 52 c1 00 00    	je     0x42096e
41481c:	8b c7                	mov    %edi,%eax
41481e:	5f                   	pop    %edi
41481f:	5e                   	pop    %esi
414820:	5b                   	pop    %ebx
414821:	c9                   	leave
414822:	c3                   	ret
414823:	8b ff                	mov    %edi,%edi
414825:	55                   	push   %ebp
414826:	8b ec                	mov    %esp,%ebp
414828:	81 ec 88 00 00 00    	sub    $0x88,%esp
41482e:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
414833:	33 c5                	xor    %ebp,%eax
414835:	89 45 fc             	mov    %eax,-0x4(%ebp)
414838:	56                   	push   %esi
414839:	57                   	push   %edi
41483a:	6a 04                	push   $0x4
41483c:	6a 08                	push   $0x8
41483e:	8d 45 80             	lea    -0x80(%ebp),%eax
414841:	8b f9                	mov    %ecx,%edi
414843:	50                   	push   %eax
414844:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
41484a:	33 f6                	xor    %esi,%esi
41484c:	50                   	push   %eax
41484d:	57                   	push   %edi
41484e:	46                   	inc    %esi
41484f:	ff 15 a4 a4 44 00    	call   *0x44a4a4
414855:	85 c0                	test   %eax,%eax
414857:	78 0c                	js     0x414865
414859:	f6 45 84 10          	testb  $0x10,-0x7c(%ebp)
41485d:	0f 85 27 c1 00 00    	jne    0x42098a
414863:	33 f6                	xor    %esi,%esi
414865:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414868:	8b c6                	mov    %esi,%eax
41486a:	5f                   	pop    %edi
41486b:	33 cd                	xor    %ebp,%ecx
41486d:	5e                   	pop    %esi
41486e:	e8 bd 22 00 00       	call   0x416b30
414873:	c9                   	leave
414874:	c3                   	ret
414875:	8b ff                	mov    %edi,%edi
414877:	55                   	push   %ebp
414878:	8b ec                	mov    %esp,%ebp
41487a:	81 ec 34 02 00 00    	sub    $0x234,%esp
414880:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
414885:	33 c5                	xor    %ebp,%eax
414887:	89 45 fc             	mov    %eax,-0x4(%ebp)
41488a:	8b 45 08             	mov    0x8(%ebp),%eax
41488d:	89 85 dc fd ff ff    	mov    %eax,-0x224(%ebp)
414893:	8b 45 10             	mov    0x10(%ebp),%eax
414896:	53                   	push   %ebx
414897:	89 85 d0 fd ff ff    	mov    %eax,-0x230(%ebp)
41489d:	8b 45 18             	mov    0x18(%ebp),%eax
4148a0:	56                   	push   %esi
4148a1:	8b f1                	mov    %ecx,%esi
4148a3:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
4148a9:	8b 45 1c             	mov    0x1c(%ebp),%eax
4148ac:	b9 1c 22 40 00       	mov    $0x40221c,%ecx
4148b1:	57                   	push   %edi
4148b2:	8b fa                	mov    %edx,%edi
4148b4:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
4148ba:	e8 d1 d4 ff ff       	call   0x411d90
4148bf:	8b d7                	mov    %edi,%edx
4148c1:	8b c8                	mov    %eax,%ecx
4148c3:	e8 e7 02 00 00       	call   0x414baf
4148c8:	8b 4e 3c             	mov    0x3c(%esi),%ecx
4148cb:	33 c0                	xor    %eax,%eax
4148cd:	50                   	push   %eax
4148ce:	33 d2                	xor    %edx,%edx
4148d0:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
4148d6:	e8 55 73 ff ff       	call   0x40bc30
4148db:	8b d8                	mov    %eax,%ebx
4148dd:	8b d7                	mov    %edi,%edx
4148df:	8b cb                	mov    %ebx,%ecx
4148e1:	e8 c9 02 00 00       	call   0x414baf
4148e6:	85 c0                	test   %eax,%eax
4148e8:	74 0b                	je     0x4148f5
4148ea:	0f b7 03             	movzwl (%ebx),%eax
4148ed:	83 c3 02             	add    $0x2,%ebx
4148f0:	66 85 c0             	test   %ax,%ax
4148f3:	75 f5                	jne    0x4148ea
4148f5:	8b f3                	mov    %ebx,%esi
4148f7:	33 d2                	xor    %edx,%edx
4148f9:	8d 4e 02             	lea    0x2(%esi),%ecx
4148fc:	66 8b 06             	mov    (%esi),%ax
4148ff:	83 c6 02             	add    $0x2,%esi
414902:	66 3b c2             	cmp    %dx,%ax
414905:	75 f5                	jne    0x4148fc
414907:	2b f1                	sub    %ecx,%esi
414909:	d1 fe                	sar    $1,%esi
41490b:	0f 84 b3 c0 00 00    	je     0x4209c4
414911:	81 fe e7 7f 00 00    	cmp    $0x7fe7,%esi
414917:	0f 83 ec c1 00 00    	jae    0x420b09
41491d:	8b fb                	mov    %ebx,%edi
41491f:	8d 4f 02             	lea    0x2(%edi),%ecx
414922:	66 8b 07             	mov    (%edi),%ax
414925:	83 c7 02             	add    $0x2,%edi
414928:	66 3b c2             	cmp    %dx,%ax
41492b:	75 f5                	jne    0x414922
41492d:	2b f9                	sub    %ecx,%edi
41492f:	8b cb                	mov    %ebx,%ecx
414931:	d1 ff                	sar    $1,%edi
414933:	e8 28 b7 ff ff       	call   0x410060
414938:	50                   	push   %eax
414939:	8d 57 01             	lea    0x1(%edi),%edx
41493c:	8b cb                	mov    %ebx,%ecx
41493e:	e8 5d aa ff ff       	call   0x40f3a0
414943:	8b cb                	mov    %ebx,%ecx
414945:	e8 e2 36 ff ff       	call   0x40802c
41494a:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
414950:	89 01                	mov    %eax,(%ecx)
414952:	83 f8 01             	cmp    $0x1,%eax
414955:	0f 84 61 c0 00 00    	je     0x4209bc
41495b:	33 c0                	xor    %eax,%eax
41495d:	c6 45 ec 01          	movb   $0x1,-0x14(%ebp)
414961:	bf 04 01 00 00       	mov    $0x104,%edi
414966:	89 45 e8             	mov    %eax,-0x18(%ebp)
414969:	57                   	push   %edi
41496a:	50                   	push   %eax
41496b:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
414971:	89 7d f0             	mov    %edi,-0x10(%ebp)
414974:	50                   	push   %eax
414975:	e8 43 36 00 00       	call   0x417fbd
41497a:	33 c0                	xor    %eax,%eax
41497c:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414982:	83 c4 0c             	add    $0xc,%esp
414985:	38 45 ec             	cmp    %al,-0x14(%ebp)
414988:	0f 94 c0             	sete   %al
41498b:	48                   	dec    %eax
41498c:	25 e3 7e 00 00       	and    $0x7ee3,%eax
414991:	03 c7                	add    %edi,%eax
414993:	50                   	push   %eax
414994:	e8 57 9a ff ff       	call   0x40e3f0
414999:	85 c0                	test   %eax,%eax
41499b:	0f 88 2d c0 00 00    	js     0x4209ce
4149a1:	46                   	inc    %esi
4149a2:	33 ff                	xor    %edi,%edi
4149a4:	8d 34 73             	lea    (%ebx,%esi,2),%esi
4149a7:	66 39 3e             	cmp    %di,(%esi)
4149aa:	0f 84 25 c0 00 00    	je     0x4209d5
4149b0:	8b ce                	mov    %esi,%ecx
4149b2:	e8 1e 5e ff ff       	call   0x40a7d5
4149b7:	66 39 38             	cmp    %di,(%eax)
4149ba:	0f 85 04 c0 00 00    	jne    0x4209c4
4149c0:	8d 51 02             	lea    0x2(%ecx),%edx
4149c3:	66 8b 01             	mov    (%ecx),%ax
4149c6:	83 c1 02             	add    $0x2,%ecx
4149c9:	66 3b c7             	cmp    %di,%ax