41157f:	85 c0                	test   %eax,%eax
411581:	0f 8e 84 d6 00 00    	jle    0x41ec0b
411587:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41158a:	e9 92 fb ff ff       	jmp    0x411121
41158f:	83 c6 02             	add    $0x2,%esi
411592:	4a                   	dec    %edx
411593:	89 75 f8             	mov    %esi,-0x8(%ebp)
411596:	8b c6                	mov    %esi,%eax
411598:	89 55 cc             	mov    %edx,-0x34(%ebp)
41159b:	8b ce                	mov    %esi,%ecx
41159d:	66 83 3e 00          	cmpw   $0x0,(%esi)
4115a1:	74 0b                	je     0x4115ae
4115a3:	8b c8                	mov    %eax,%ecx
4115a5:	83 c0 02             	add    $0x2,%eax
4115a8:	66 83 38 00          	cmpw   $0x0,(%eax)
4115ac:	75 f5                	jne    0x4115a3
4115ae:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4115b1:	66 83 39 22          	cmpw   $0x22,(%ecx)
4115b5:	0f 85 7b fe ff ff    	jne    0x411436
4115bb:	eb 03                	jmp    0x4115c0
4115bd:	8d 49 00             	lea    0x0(%ecx),%ecx
4115c0:	33 c0                	xor    %eax,%eax
4115c2:	66 89 01             	mov    %ax,(%ecx)
4115c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4115c8:	83 e9 02             	sub    $0x2,%ecx
4115cb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4115ce:	3b ce                	cmp    %esi,%ecx
4115d0:	0f 82 60 fe ff ff    	jb     0x411436
4115d6:	66 83 39 20          	cmpw   $0x20,(%ecx)
4115da:	0f 85 56 fe ff ff    	jne    0x411436
4115e0:	eb de                	jmp    0x4115c0
4115e2:	cc                   	int3
4115e3:	cc                   	int3
4115e4:	cc                   	int3
4115e5:	cc                   	int3
4115e6:	cc                   	int3
4115e7:	cc                   	int3
4115e8:	cc                   	int3
4115e9:	cc                   	int3
4115ea:	cc                   	int3
4115eb:	cc                   	int3
4115ec:	cc                   	int3
4115ed:	cc                   	int3
4115ee:	cc                   	int3
4115ef:	cc                   	int3
4115f0:	8b ff                	mov    %edi,%edi
4115f2:	55                   	push   %ebp
4115f3:	8b ec                	mov    %esp,%ebp
4115f5:	8b 45 08             	mov    0x8(%ebp),%eax
4115f8:	f6 40 40 02          	testb  $0x2,0x40(%eax)
4115fc:	8b 48 3c             	mov    0x3c(%eax),%ecx
4115ff:	8b 50 38             	mov    0x38(%eax),%edx
411602:	51                   	push   %ecx
411603:	52                   	push   %edx
411604:	75 0f                	jne    0x411615
411606:	ff 15 70 a2 44 00    	call   *0x44a270
41160c:	f7 d8                	neg    %eax
41160e:	1b c0                	sbb    %eax,%eax
411610:	40                   	inc    %eax
411611:	5d                   	pop    %ebp
411612:	c2 04 00             	ret    $0x4
411615:	ff 15 74 a2 44 00    	call   *0x44a274
41161b:	eb ef                	jmp    0x41160c
41161d:	8b ff                	mov    %edi,%edi
41161f:	55                   	push   %ebp
411620:	8b ec                	mov    %esp,%ebp
411622:	81 ec 84 08 00 00    	sub    $0x884,%esp
411628:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
41162d:	33 c5                	xor    %ebp,%eax
41162f:	89 45 fc             	mov    %eax,-0x4(%ebp)
411632:	53                   	push   %ebx
411633:	56                   	push   %esi
411634:	57                   	push   %edi
411635:	33 c0                	xor    %eax,%eax
411637:	be 04 01 00 00       	mov    $0x104,%esi
41163c:	40                   	inc    %eax
41163d:	89 75 f0             	mov    %esi,-0x10(%ebp)
411640:	33 db                	xor    %ebx,%ebx
411642:	89 85 90 f7 ff ff    	mov    %eax,-0x870(%ebp)
411648:	56                   	push   %esi
411649:	88 45 ec             	mov    %al,-0x14(%ebp)
41164c:	8b f9                	mov    %ecx,%edi
41164e:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
411654:	89 bd 7c f7 ff ff    	mov    %edi,-0x884(%ebp)
41165a:	53                   	push   %ebx
41165b:	50                   	push   %eax
41165c:	89 9d 88 f7 ff ff    	mov    %ebx,-0x878(%ebp)
411662:	89 5d e8             	mov    %ebx,-0x18(%ebp)
411665:	e8 53 69 00 00       	call   0x417fbd
41166a:	83 c4 0c             	add    $0xc,%esp
41166d:	89 9d a0 f9 ff ff    	mov    %ebx,-0x660(%ebp)
411673:	8d 85 98 f7 ff ff    	lea    -0x868(%ebp),%eax
411679:	c6 85 a4 f9 ff ff 01 	movb   $0x1,-0x65c(%ebp)
411680:	89 b5 a8 f9 ff ff    	mov    %esi,-0x658(%ebp)
411686:	56                   	push   %esi
411687:	53                   	push   %ebx
411688:	50                   	push   %eax
411689:	e8 2f 69 00 00       	call   0x417fbd
41168e:	83 c4 0c             	add    $0xc,%esp
411691:	89 9d d0 fd ff ff    	mov    %ebx,-0x230(%ebp)
411697:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
41169d:	c6 85 d4 fd ff ff 01 	movb   $0x1,-0x22c(%ebp)
4116a4:	89 b5 d8 fd ff ff    	mov    %esi,-0x228(%ebp)
4116aa:	56                   	push   %esi
4116ab:	53                   	push   %ebx
4116ac:	50                   	push   %eax
4116ad:	e8 0b 69 00 00       	call   0x417fbd
4116b2:	83 c4 0c             	add    $0xc,%esp
4116b5:	89 9d b8 fb ff ff    	mov    %ebx,-0x448(%ebp)
4116bb:	8d 85 b0 f9 ff ff    	lea    -0x650(%ebp),%eax
4116c1:	c6 85 bc fb ff ff 01 	movb   $0x1,-0x444(%ebp)
4116c8:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
4116ce:	56                   	push   %esi
4116cf:	53                   	push   %ebx
4116d0:	50                   	push   %eax
4116d1:	e8 e7 68 00 00       	call   0x417fbd
4116d6:	33 c0                	xor    %eax,%eax
4116d8:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
4116de:	83 c4 0c             	add    $0xc,%esp
4116e1:	38 45 ec             	cmp    %al,-0x14(%ebp)
4116e4:	0f 94 c0             	sete   %al
4116e7:	48                   	dec    %eax
4116e8:	25 e3 7e 00 00       	and    $0x7ee3,%eax
4116ed:	03 c6                	add    %esi,%eax
4116ef:	50                   	push   %eax
4116f0:	e8 fb cc ff ff       	call   0x40e3f0
4116f5:	85 c0                	test   %eax,%eax
4116f7:	0f 88 be 00 00 00    	js     0x4117bb
4116fd:	33 c0                	xor    %eax,%eax
4116ff:	8d 8d 98 f7 ff ff    	lea    -0x868(%ebp),%ecx
411705:	38 85 a4 f9 ff ff    	cmp    %al,-0x65c(%ebp)
41170b:	0f 94 c0             	sete   %al
41170e:	48                   	dec    %eax
41170f:	25 e3 7e 00 00       	and    $0x7ee3,%eax
411714:	03 c6                	add    %esi,%eax
411716:	50                   	push   %eax
411717:	e8 d4 cc ff ff       	call   0x40e3f0
41171c:	85 c0                	test   %eax,%eax
41171e:	0f 88 97 00 00 00    	js     0x4117bb
411724:	33 c0                	xor    %eax,%eax
411726:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
41172c:	38 85 d4 fd ff ff    	cmp    %al,-0x22c(%ebp)
411732:	0f 94 c0             	sete   %al
411735:	48                   	dec    %eax
411736:	25 e3 7e 00 00       	and    $0x7ee3,%eax
41173b:	03 c6                	add    %esi,%eax
41173d:	50                   	push   %eax
41173e:	e8 ad cc ff ff       	call   0x40e3f0
411743:	85 c0                	test   %eax,%eax
411745:	78 74                	js     0x4117bb
411747:	33 c0                	xor    %eax,%eax
411749:	8d 8d b0 f9 ff ff    	lea    -0x650(%ebp),%ecx
41174f:	38 85 bc fb ff ff    	cmp    %al,-0x444(%ebp)
411755:	0f 94 c0             	sete   %al
411758:	48                   	dec    %eax
411759:	25 e3 7e 00 00       	and    $0x7ee3,%eax
41175e:	03 c6                	add    %esi,%eax
411760:	50                   	push   %eax
411761:	e8 8a cc ff ff       	call   0x40e3f0
411766:	85 c0                	test   %eax,%eax
411768:	78 51                	js     0x4117bb
41176a:	8d 8d 84 f7 ff ff    	lea    -0x87c(%ebp),%ecx
411770:	e8 99 0e 00 00       	call   0x41260e
411775:	83 f8 01             	cmp    $0x1,%eax
411778:	74 41                	je     0x4117bb
41177a:	8b b5 84 f7 ff ff    	mov    -0x87c(%ebp),%esi
411780:	8b 07                	mov    (%edi),%eax
411782:	39 1e                	cmp    %ebx,(%esi)
411784:	75 05                	jne    0x41178b
411786:	83 e0 f7             	and    $0xfffffff7,%eax
411789:	89 07                	mov    %eax,(%edi)
41178b:	a8 08                	test   $0x8,%al
41178d:	0f 85 99 d5 00 00    	jne    0x41ed2c
411793:	a9 00 02 00 00       	test   $0x200,%eax
411798:	0f 85 9c d5 00 00    	jne    0x41ed3a
41179e:	8d 85 94 f7 ff ff    	lea    -0x86c(%ebp),%eax
4117a4:	89 1d a8 67 43 00    	mov    %ebx,0x4367a8
4117aa:	50                   	push   %eax
4117ab:	6a 01                	push   $0x1
4117ad:	b2 01                	mov    $0x1,%dl
4117af:	8b cf                	mov    %edi,%ecx
4117b1:	e8 7e 62 ff ff       	call   0x407a34
4117b6:	83 f8 01             	cmp    $0x1,%eax
4117b9:	75 70                	jne    0x41182b
4117bb:	33 c0                	xor    %eax,%eax
4117bd:	40                   	inc    %eax
4117be:	8b d8                	mov    %eax,%ebx
4117c0:	83 bd b8 fb ff ff 00 	cmpl   $0x0,-0x448(%ebp)
4117c7:	74 0d                	je     0x4117d6
4117c9:	ff b5 b8 fb ff ff    	push   -0x448(%ebp)
4117cf:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4117d5:	59                   	pop    %ecx
4117d6:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
4117dc:	33 f6                	xor    %esi,%esi
4117de:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
4117e4:	85 c0                	test   %eax,%eax
4117e6:	74 08                	je     0x4117f0
4117e8:	50                   	push   %eax
4117e9:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4117ef:	59                   	pop    %ecx
4117f0:	8b 85 a0 f9 ff ff    	mov    -0x660(%ebp),%eax
4117f6:	89 b5 a0 f9 ff ff    	mov    %esi,-0x660(%ebp)
4117fc:	85 c0                	test   %eax,%eax
4117fe:	74 08                	je     0x411808
411800:	50                   	push   %eax
411801:	ff 15 e0 a3 44 00    	call   *0x44a3e0
411807:	59                   	pop    %ecx
411808:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41180b:	89 75 e8             	mov    %esi,-0x18(%ebp)
41180e:	85 c9                	test   %ecx,%ecx
411810:	74 08                	je     0x41181a
411812:	51                   	push   %ecx
411813:	ff 15 e0 a3 44 00    	call   *0x44a3e0
411819:	59                   	pop    %ecx
41181a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41181d:	8b c3                	mov    %ebx,%eax
41181f:	5f                   	pop    %edi
411820:	5e                   	pop    %esi
411821:	33 cd                	xor    %ebp,%ecx
411823:	5b                   	pop    %ebx
411824:	e8 07 53 00 00       	call   0x416b30
411829:	c9                   	leave
41182a:	c3                   	ret
41182b:	89 9d 8c f7 ff ff    	mov    %ebx,-0x874(%ebp)
411831:	8d 8d b0 f9 ff ff    	lea    -0x650(%ebp),%ecx
411837:	bb b8 20 40 00       	mov    $0x4020b8,%ebx
41183c:	53                   	push   %ebx
41183d:	e8 ff 8d ff ff       	call   0x40a641
411842:	53                   	push   %ebx
411843:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
411849:	e8 f3 8d ff ff       	call   0x40a641
41184e:	8b 9d 94 f7 ff ff    	mov    -0x86c(%ebp),%ebx
411854:	85 db                	test   %ebx,%ebx
411856:	0f 84 18 01 00 00    	je     0x411974
41185c:	ff 73 04             	push   0x4(%ebx)
41185f:	8d 8d b0 f9 ff ff    	lea    -0x650(%ebp),%ecx
411865:	e8 d7 8d ff ff       	call   0x40a641
41186a:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
41186e:	8b 07                	mov    (%edi),%eax
411870:	0f 85 ce d4 00 00    	jne    0x41ed44
411876:	a9 00 00 02 00       	test   $0x20000,%eax
41187b:	75 05                	jne    0x411882
41187d:	83 c8 02             	or     $0x2,%eax
411880:	89 07                	mov    %eax,(%edi)
411882:	a8 40                	test   $0x40,%al
411884:	0f 84 de d4 00 00    	je     0x41ed68
41188a:	33 c9                	xor    %ecx,%ecx
41188c:	89 4f 64             	mov    %ecx,0x64(%edi)
41188f:	89 4f 60             	mov    %ecx,0x60(%edi)
411892:	89 4f 68             	mov    %ecx,0x68(%edi)
411895:	89 4f 6c             	mov    %ecx,0x6c(%edi)
411898:	8b 0f                	mov    (%edi),%ecx
41189a:	8b c1                	mov    %ecx,%eax
41189c:	83 e0 10             	and    $0x10,%eax
41189f:	83 c8 20             	or     $0x20,%eax
4118a2:	c1 e8 04             	shr    $0x4,%eax
4118a5:	f7 c1 00 04 02 00    	test   $0x20400,%ecx
4118ab:	0f 85 61 d5 00 00    	jne    0x41ee12
4118b1:	81 e1 04 40 00 00    	and    $0x4004,%ecx
4118b7:	8b d6                	mov    %esi,%edx
4118b9:	f7 d9                	neg    %ecx
4118bb:	68 b0 4c 40 00       	push   $0x404cb0
4118c0:	1b c9                	sbb    %ecx,%ecx
4118c2:	f7 d1                	not    %ecx
4118c4:	81 e1 10 4c 40 00    	and    $0x404c10,%ecx
4118ca:	51                   	push   %ecx
4118cb:	68 f0 4b 40 00       	push   $0x404bf0
4118d0:	51                   	push   %ecx
4118d1:	57                   	push   %edi
4118d2:	50                   	push   %eax
4118d3:	ff 77 08             	push   0x8(%edi)
4118d6:	8b cb                	mov    %ebx,%ecx
4118d8:	ff 77 04             	push   0x4(%edi)
4118db:	e8 a8 4b ff ff       	call   0x406488
4118e0:	89 85 90 f7 ff ff    	mov    %eax,-0x870(%ebp)
4118e6:	85 c0                	test   %eax,%eax
4118e8:	0f 85 10 d6 00 00    	jne    0x41eefe
4118ee:	8b 47 60             	mov    0x60(%edi),%eax
4118f1:	03 47 64             	add    0x64(%edi),%eax
4118f4:	0f 84 fe d5 00 00    	je     0x41eef8
4118fa:	f6 07 40             	testb  $0x40,(%edi)
4118fd:	0f 84 17 d5 00 00    	je     0x41ee1a
411903:	8b 4b 04             	mov    0x4(%ebx),%ecx
411906:	e8 55 c3 ff ff       	call   0x40dc60
41190b:	8b 43 0c             	mov    0xc(%ebx),%eax
41190e:	33 c9                	xor    %ecx,%ecx
411910:	41                   	inc    %ecx
411911:	89 85 80 f7 ff ff    	mov    %eax,-0x880(%ebp)
411917:	89 8d 94 f7 ff ff    	mov    %ecx,-0x86c(%ebp)
41191d:	39 4b 08             	cmp    %ecx,0x8(%ebx)
411920:	72 3b                	jb     0x41195d
411922:	8b f8                	mov    %eax,%edi
411924:	8b 0f                	mov    (%edi),%ecx
411926:	8b 77 0c             	mov    0xc(%edi),%esi
411929:	e8 32 c3 ff ff       	call   0x40dc60
41192e:	8b 4f 04             	mov    0x4(%edi),%ecx
411931:	e8 2a c3 ff ff       	call   0x40dc60
411936:	8b cf                	mov    %edi,%ecx
411938:	e8 23 c3 ff ff       	call   0x40dc60
41193d:	8b 85 94 f7 ff ff    	mov    -0x86c(%ebp),%eax
411943:	8b fe                	mov    %esi,%edi
411945:	40                   	inc    %eax
411946:	89 85 94 f7 ff ff    	mov    %eax,-0x86c(%ebp)
41194c:	3b 43 08             	cmp    0x8(%ebx),%eax
41194f:	76 d3                	jbe    0x411924
411951:	8b bd 7c f7 ff ff    	mov    -0x884(%ebp),%edi
411957:	8b b5 84 f7 ff ff    	mov    -0x87c(%ebp),%esi
41195d:	8b 85 8c f7 ff ff    	mov    -0x874(%ebp),%eax
411963:	85 c0                	test   %eax,%eax
411965:	75 1f                	jne    0x411986
411967:	89 9d 8c f7 ff ff    	mov    %ebx,-0x874(%ebp)
41196d:	8b 1b                	mov    (%ebx),%ebx
41196f:	e9 e0 fe ff ff       	jmp    0x411854
411974:	8b ce                	mov    %esi,%ecx
411976:	e8 14 30 ff ff       	call   0x40498f
41197b:	8b 9d 90 f7 ff ff    	mov    -0x870(%ebp),%ebx
411981:	e9 3a fe ff ff       	jmp    0x4117c0
411986:	8b c8                	mov    %eax,%ecx
411988:	e8 d3 c2 ff ff       	call   0x40dc60
41198d:	eb d8                	jmp    0x411967
41198f:	8b 15 78 67 43 00    	mov    0x436778,%edx
411995:	53                   	push   %ebx
411996:	56                   	push   %esi
411997:	8b d9                	mov    %ecx,%ebx
411999:	33 f6                	xor    %esi,%esi
41199b:	3b d3                	cmp    %ebx,%edx
41199d:	77 10                	ja     0x4119af
41199f:	8b ce                	mov    %esi,%ecx
4119a1:	e8 44 00 00 00       	call   0x4119ea
4119a6:	46                   	inc    %esi
4119a7:	83 fe 02             	cmp    $0x2,%esi
4119aa:	7c f3                	jl     0x41199f
4119ac:	5e                   	pop    %esi
4119ad:	5b                   	pop    %ebx
4119ae:	c3                   	ret
4119af:	57                   	push   %edi
4119b0:	8b 3d 84 67 43 00    	mov    0x436784,%edi
4119b6:	85 ff                	test   %edi,%edi
4119b8:	74 2d                	je     0x4119e7
4119ba:	8b 47 04             	mov    0x4(%edi),%eax
4119bd:	4a                   	dec    %edx
4119be:	57                   	push   %edi
4119bf:	56                   	push   %esi
4119c0:	a3 84 67 43 00       	mov    %eax,0x436784
4119c5:	89 15 78 67 43 00    	mov    %edx,0x436778
4119cb:	89 37                	mov    %esi,(%edi)
4119cd:	89 77 04             	mov    %esi,0x4(%edi)
4119d0:	ff 15 34 a1 44 00    	call   *0x44a134
4119d6:	50                   	push   %eax
4119d7:	ff 15 3c a1 44 00    	call   *0x44a13c