40d46a:	f7 d8                	neg    %eax
40d46c:	83 d2 00             	adc    $0x0,%edx
40d46f:	f7 da                	neg    %edx
40d471:	81 8d f0 fd ff ff 00 	orl    $0x100,-0x210(%ebp)
40d478:	01 00 00
40d47b:	f7 85 f0 fd ff ff 00 	testl  $0x9000,-0x210(%ebp)
40d482:	90 00 00
40d485:	8b fa                	mov    %edx,%edi
40d487:	8b d8                	mov    %eax,%ebx
40d489:	75 02                	jne    0x40d48d
40d48b:	33 ff                	xor    %edi,%edi
40d48d:	83 bd e8 fd ff ff 00 	cmpl   $0x0,-0x218(%ebp)
40d494:	7d 0c                	jge    0x40d4a2
40d496:	c7 85 e8 fd ff ff 01 	movl   $0x1,-0x218(%ebp)
40d49d:	00 00 00
40d4a0:	eb 1a                	jmp    0x40d4bc
40d4a2:	83 a5 f0 fd ff ff f7 	andl   $0xfffffff7,-0x210(%ebp)
40d4a9:	b8 00 02 00 00       	mov    $0x200,%eax
40d4ae:	39 85 e8 fd ff ff    	cmp    %eax,-0x218(%ebp)
40d4b4:	7e 06                	jle    0x40d4bc
40d4b6:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
40d4bc:	8b c3                	mov    %ebx,%eax
40d4be:	0b c7                	or     %edi,%eax
40d4c0:	75 06                	jne    0x40d4c8
40d4c2:	21 85 cc fd ff ff    	and    %eax,-0x234(%ebp)
40d4c8:	8d 75 f3             	lea    -0xd(%ebp),%esi
40d4cb:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
40d4d1:	ff 8d e8 fd ff ff    	decl   -0x218(%ebp)
40d4d7:	85 c0                	test   %eax,%eax
40d4d9:	7f 06                	jg     0x40d4e1
40d4db:	8b c3                	mov    %ebx,%eax
40d4dd:	0b c7                	or     %edi,%eax
40d4df:	74 2d                	je     0x40d50e
40d4e1:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
40d4e7:	99                   	cltd
40d4e8:	52                   	push   %edx
40d4e9:	50                   	push   %eax
40d4ea:	57                   	push   %edi
40d4eb:	53                   	push   %ebx
40d4ec:	e8 7f d8 ff ff       	call   0x40ad70
40d4f1:	83 c1 30             	add    $0x30,%ecx
40d4f4:	89 9d 98 fd ff ff    	mov    %ebx,-0x268(%ebp)
40d4fa:	8b d8                	mov    %eax,%ebx
40d4fc:	8b fa                	mov    %edx,%edi
40d4fe:	83 f9 39             	cmp    $0x39,%ecx
40d501:	7e 06                	jle    0x40d509
40d503:	03 8d a8 fd ff ff    	add    -0x258(%ebp),%ecx
40d509:	88 0e                	mov    %cl,(%esi)
40d50b:	4e                   	dec    %esi
40d50c:	eb bd                	jmp    0x40d4cb
40d50e:	8d 45 f3             	lea    -0xd(%ebp),%eax
40d511:	2b c6                	sub    %esi,%eax
40d513:	46                   	inc    %esi
40d514:	f7 85 f0 fd ff ff 00 	testl  $0x200,-0x210(%ebp)
40d51b:	02 00 00
40d51e:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
40d524:	89 b5 e0 fd ff ff    	mov    %esi,-0x220(%ebp)
40d52a:	74 63                	je     0x40d58f
40d52c:	85 c0                	test   %eax,%eax
40d52e:	74 07                	je     0x40d537
40d530:	8b ce                	mov    %esi,%ecx
40d532:	80 39 30             	cmpb   $0x30,(%ecx)
40d535:	74 58                	je     0x40d58f
40d537:	ff 8d e0 fd ff ff    	decl   -0x220(%ebp)
40d53d:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
40d543:	c6 01 30             	movb   $0x30,(%ecx)
40d546:	40                   	inc    %eax
40d547:	eb 40                	jmp    0x40d589
40d549:	49                   	dec    %ecx
40d54a:	66 83 38 00          	cmpw   $0x0,(%eax)
40d54e:	74 07                	je     0x40d557
40d550:	83 c0 02             	add    $0x2,%eax
40d553:	85 c9                	test   %ecx,%ecx
40d555:	75 f2                	jne    0x40d549
40d557:	2b 85 e0 fd ff ff    	sub    -0x220(%ebp),%eax
40d55d:	d1 f8                	sar    $1,%eax
40d55f:	eb 28                	jmp    0x40d589
40d561:	85 ff                	test   %edi,%edi
40d563:	75 0b                	jne    0x40d570
40d565:	a1 e0 2d 41 00       	mov    0x412de0,%eax
40d56a:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
40d570:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
40d576:	eb 07                	jmp    0x40d57f
40d578:	49                   	dec    %ecx
40d579:	80 38 00             	cmpb   $0x0,(%eax)
40d57c:	74 05                	je     0x40d583
40d57e:	40                   	inc    %eax
40d57f:	85 c9                	test   %ecx,%ecx
40d581:	75 f5                	jne    0x40d578
40d583:	2b 85 e0 fd ff ff    	sub    -0x220(%ebp),%eax
40d589:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
40d58f:	83 bd a4 fd ff ff 00 	cmpl   $0x0,-0x25c(%ebp)
40d596:	0f 85 b8 01 00 00    	jne    0x40d754
40d59c:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
40d5a2:	f6 c1 40             	test   $0x40,%cl
40d5a5:	74 35                	je     0x40d5dc
40d5a7:	f7 c1 00 01 00 00    	test   $0x100,%ecx
40d5ad:	74 09                	je     0x40d5b8
40d5af:	c6 85 d4 fd ff ff 2d 	movb   $0x2d,-0x22c(%ebp)
40d5b6:	eb 1a                	jmp    0x40d5d2
40d5b8:	f6 c1 01             	test   $0x1,%cl
40d5bb:	74 09                	je     0x40d5c6
40d5bd:	c6 85 d4 fd ff ff 2b 	movb   $0x2b,-0x22c(%ebp)
40d5c4:	eb 0c                	jmp    0x40d5d2
40d5c6:	f6 c1 02             	test   $0x2,%cl
40d5c9:	74 11                	je     0x40d5dc
40d5cb:	c6 85 d4 fd ff ff 20 	movb   $0x20,-0x22c(%ebp)
40d5d2:	c7 85 cc fd ff ff 01 	movl   $0x1,-0x234(%ebp)
40d5d9:	00 00 00
40d5dc:	8b 85 c8 fd ff ff    	mov    -0x238(%ebp),%eax
40d5e2:	2b 85 d8 fd ff ff    	sub    -0x228(%ebp),%eax
40d5e8:	2b 85 cc fd ff ff    	sub    -0x234(%ebp),%eax
40d5ee:	89 85 98 fd ff ff    	mov    %eax,-0x268(%ebp)
40d5f4:	f6 c1 0c             	test   $0xc,%cl
40d5f7:	75 25                	jne    0x40d61e
40d5f9:	8b f8                	mov    %eax,%edi
40d5fb:	eb 1d                	jmp    0x40d61a
40d5fd:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
40d603:	8d b5 dc fd ff ff    	lea    -0x224(%ebp),%esi
40d609:	b0 20                	mov    $0x20,%al
40d60b:	4f                   	dec    %edi
40d60c:	e8 7a f5 ff ff       	call   0x40cb8b
40d611:	83 bd dc fd ff ff ff 	cmpl   $0xffffffff,-0x224(%ebp)
40d618:	74 04                	je     0x40d61e
40d61a:	85 ff                	test   %edi,%edi
40d61c:	7f df                	jg     0x40d5fd
40d61e:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
40d624:	8b bd 9c fd ff ff    	mov    -0x264(%ebp),%edi
40d62a:	8b 9d d0 fd ff ff    	mov    -0x230(%ebp),%ebx
40d630:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
40d636:	50                   	push   %eax
40d637:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
40d63d:	e8 18 a4 ff ff       	call   0x407a5a
40d642:	f6 85 f0 fd ff ff 08 	testb  $0x8,-0x210(%ebp)
40d649:	59                   	pop    %ecx
40d64a:	59                   	pop    %ecx
40d64b:	74 2e                	je     0x40d67b
40d64d:	f6 85 f0 fd ff ff 04 	testb  $0x4,-0x210(%ebp)
40d654:	75 25                	jne    0x40d67b
40d656:	8b bd 98 fd ff ff    	mov    -0x268(%ebp),%edi
40d65c:	eb 19                	jmp    0x40d677
40d65e:	8d b5 dc fd ff ff    	lea    -0x224(%ebp),%esi
40d664:	8b cb                	mov    %ebx,%ecx
40d666:	b0 30                	mov    $0x30,%al
40d668:	4f                   	dec    %edi
40d669:	e8 1d f5 ff ff       	call   0x40cb8b
40d66e:	83 bd dc fd ff ff ff 	cmpl   $0xffffffff,-0x224(%ebp)
40d675:	74 04                	je     0x40d67b
40d677:	85 ff                	test   %edi,%edi
40d679:	7f e3                	jg     0x40d65e
40d67b:	83 bd c4 fd ff ff 00 	cmpl   $0x0,-0x23c(%ebp)
40d682:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
40d688:	74 75                	je     0x40d6ff
40d68a:	85 c0                	test   %eax,%eax
40d68c:	7e 71                	jle    0x40d6ff
40d68e:	8b b5 e0 fd ff ff    	mov    -0x220(%ebp),%esi
40d694:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
40d69a:	0f b7 06             	movzwl (%esi),%eax
40d69d:	ff 8d 90 fd ff ff    	decl   -0x270(%ebp)
40d6a3:	50                   	push   %eax
40d6a4:	6a 06                	push   $0x6
40d6a6:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d6a9:	50                   	push   %eax
40d6aa:	8d 85 88 fd ff ff    	lea    -0x278(%ebp),%eax
40d6b0:	50                   	push   %eax
40d6b1:	83 c6 02             	add    $0x2,%esi
40d6b4:	e8 49 05 00 00       	call   0x40dc02
40d6b9:	83 c4 10             	add    $0x10,%esp
40d6bc:	85 c0                	test   %eax,%eax
40d6be:	75 36                	jne    0x40d6f6
40d6c0:	39 85 88 fd ff ff    	cmp    %eax,-0x278(%ebp)
40d6c6:	74 2e                	je     0x40d6f6
40d6c8:	ff b5 88 fd ff ff    	push   -0x278(%ebp)
40d6ce:	8b bd 9c fd ff ff    	mov    -0x264(%ebp),%edi
40d6d4:	8b 9d d0 fd ff ff    	mov    -0x230(%ebp),%ebx
40d6da:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d6dd:	50                   	push   %eax
40d6de:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
40d6e4:	e8 71 a3 ff ff       	call   0x407a5a
40d6e9:	83 bd 90 fd ff ff 00 	cmpl   $0x0,-0x270(%ebp)
40d6f0:	59                   	pop    %ecx
40d6f1:	59                   	pop    %ecx
40d6f2:	75 a6                	jne    0x40d69a
40d6f4:	eb 23                	jmp    0x40d719
40d6f6:	83 8d dc fd ff ff ff 	orl    $0xffffffff,-0x224(%ebp)
40d6fd:	eb 1a                	jmp    0x40d719
40d6ff:	8b bd 9c fd ff ff    	mov    -0x264(%ebp),%edi
40d705:	50                   	push   %eax
40d706:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
40d70c:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
40d712:	e8 43 a3 ff ff       	call   0x407a5a
40d717:	59                   	pop    %ecx
40d718:	59                   	pop    %ecx
40d719:	83 bd dc fd ff ff 00 	cmpl   $0x0,-0x224(%ebp)
40d720:	7c 32                	jl     0x40d754
40d722:	f6 85 f0 fd ff ff 04 	testb  $0x4,-0x210(%ebp)
40d729:	74 29                	je     0x40d754
40d72b:	8b bd 98 fd ff ff    	mov    -0x268(%ebp),%edi
40d731:	eb 1d                	jmp    0x40d750
40d733:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
40d739:	8d b5 dc fd ff ff    	lea    -0x224(%ebp),%esi
40d73f:	b0 20                	mov    $0x20,%al
40d741:	4f                   	dec    %edi
40d742:	e8 44 f4 ff ff       	call   0x40cb8b
40d747:	83 bd dc fd ff ff ff 	cmpl   $0xffffffff,-0x224(%ebp)
40d74e:	74 04                	je     0x40d754
40d750:	85 ff                	test   %edi,%edi
40d752:	7f df                	jg     0x40d733
40d754:	83 bd a0 fd ff ff 00 	cmpl   $0x0,-0x260(%ebp)
40d75b:	74 13                	je     0x40d770
40d75d:	ff b5 a0 fd ff ff    	push   -0x260(%ebp)
40d763:	e8 03 48 ff ff       	call   0x401f6b
40d768:	83 a5 a0 fd ff ff 00 	andl   $0x0,-0x260(%ebp)
40d76f:	59                   	pop    %ecx
40d770:	8b 9d c0 fd ff ff    	mov    -0x240(%ebp),%ebx
40d776:	8a 03                	mov    (%ebx),%al
40d778:	88 85 ef fd ff ff    	mov    %al,-0x211(%ebp)
40d77e:	84 c0                	test   %al,%al
40d780:	74 0f                	je     0x40d791
40d782:	8b bd e4 fd ff ff    	mov    -0x21c(%ebp),%edi
40d788:	33 f6                	xor    %esi,%esi
40d78a:	8a d0                	mov    %al,%dl
40d78c:	e9 64 f5 ff ff       	jmp    0x40ccf5
40d791:	83 bd bc fd ff ff 00 	cmpl   $0x0,-0x244(%ebp)
40d798:	74 0d                	je     0x40d7a7
40d79a:	83 bd bc fd ff ff 07 	cmpl   $0x7,-0x244(%ebp)
40d7a1:	0f 85 8d f4 ff ff    	jne    0x40cc34
40d7a7:	80 bd b8 fd ff ff 00 	cmpb   $0x0,-0x248(%ebp)
40d7ae:	74 0a                	je     0x40d7ba
40d7b0:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
40d7b6:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
40d7ba:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
40d7c0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d7c3:	5f                   	pop    %edi
40d7c4:	5e                   	pop    %esi
40d7c5:	33 cd                	xor    %ebp,%ecx
40d7c7:	5b                   	pop    %ebx
40d7c8:	e8 d7 45 ff ff       	call   0x401da4
40d7cd:	c9                   	leave
40d7ce:	c3                   	ret
40d7cf:	8d 49 00             	lea    0x0(%ecx),%ecx
40d7d2:	5a                   	pop    %edx
40d7d3:	cf                   	iret
40d7d4:	40                   	inc    %eax
40d7d5:	00 57 cd             	add    %dl,-0x33(%edi)
40d7d8:	40                   	inc    %eax
40d7d9:	00 89 cd 40 00 e5    	add    %cl,-0x1affbf33(%ecx)
40d7df:	cd 40                	int    $0x40
40d7e1:	00 31                	add    %dh,(%ecx)
40d7e3:	ce                   	into
40d7e4:	40                   	inc    %eax
40d7e5:	00 3d ce 40 00 83    	add    %bh,0x830040ce
40d7eb:	ce                   	into
40d7ec:	40                   	inc    %eax
40d7ed:	00 b5 cf 40 00 cc    	add    %dh,-0x33ffbf31(%ebp)
40d7f3:	cc                   	int3
40d7f4:	cc                   	int3
40d7f5:	cc                   	int3
40d7f6:	cc                   	int3
40d7f7:	cc                   	int3
40d7f8:	cc                   	int3
40d7f9:	cc                   	int3
40d7fa:	cc                   	int3
40d7fb:	cc                   	int3
40d7fc:	cc                   	int3
40d7fd:	cc                   	int3
40d7fe:	cc                   	int3
40d7ff:	cc                   	int3
40d800:	51                   	push   %ecx
40d801:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40d805:	2b c8                	sub    %eax,%ecx
40d807:	1b c0                	sbb    %eax,%eax
40d809:	f7 d0                	not    %eax
40d80b:	23 c8                	and    %eax,%ecx
40d80d:	8b c4                	mov    %esp,%eax
40d80f:	25 00 f0 ff ff       	and    $0xfffff000,%eax
40d814:	3b c8                	cmp    %eax,%ecx
40d816:	72 0a                	jb     0x40d822
40d818:	8b c1                	mov    %ecx,%eax
40d81a:	59                   	pop    %ecx
40d81b:	94                   	xchg   %eax,%esp
40d81c:	8b 00                	mov    (%eax),%eax
40d81e:	89 04 24             	mov    %eax,(%esp)
40d821:	c3                   	ret
40d822:	2d 00 10 00 00       	sub    $0x1000,%eax
40d827:	85 00                	test   %eax,(%eax)
40d829:	eb e9                	jmp    0x40d814
40d82b:	8b ff                	mov    %edi,%edi
40d82d:	55                   	push   %ebp
40d82e:	8b ec                	mov    %esp,%ebp
40d830:	51                   	push   %ecx
40d831:	51                   	push   %ecx
40d832:	8b 45 0c             	mov    0xc(%ebp),%eax
40d835:	56                   	push   %esi
40d836:	8b 75 08             	mov    0x8(%ebp),%esi
40d839:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d83c:	8b 45 10             	mov    0x10(%ebp),%eax
40d83f:	57                   	push   %edi
40d840:	56                   	push   %esi
40d841:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d844:	e8 2c 58 ff ff       	call   0x403075
40d849:	83 cf ff             	or     $0xffffffff,%edi
40d84c:	59                   	pop    %ecx
40d84d:	3b c7                	cmp    %edi,%eax
40d84f:	75 11                	jne    0x40d862
40d851:	e8 d1 68 ff ff       	call   0x404127
40d856:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40d85c:	8b c7                	mov    %edi,%eax
40d85e:	8b d7                	mov    %edi,%edx
40d860:	eb 4a                	jmp    0x40d8ac
40d862:	ff 75 14             	push   0x14(%ebp)
40d865:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40d868:	51                   	push   %ecx
40d869:	ff 75 f8             	push   -0x8(%ebp)
40d86c:	50                   	push   %eax
40d86d:	ff 15 00 f1 40 00    	call   *0x40f100
40d873:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d876:	3b c7                	cmp    %edi,%eax
40d878:	75 13                	jne    0x40d88d
40d87a:	ff 15 44 f0 40 00    	call   *0x40f044
40d880:	85 c0                	test   %eax,%eax
40d882:	74 09                	je     0x40d88d
40d884:	50                   	push   %eax
40d885:	e8 c3 68 ff ff       	call   0x40414d
40d88a:	59                   	pop    %ecx
40d88b:	eb cf                	jmp    0x40d85c
40d88d:	8b c6                	mov    %esi,%eax
40d88f:	c1 f8 05             	sar    $0x5,%eax
40d892:	8b 04 85 20 46 41 00 	mov    0x414620(,%eax,4),%eax
40d899:	83 e6 1f             	and    $0x1f,%esi
40d89c:	c1 e6 06             	shl    $0x6,%esi
40d89f:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
40d8a3:	80 20 fd             	andb   $0xfd,(%eax)
40d8a6:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d8a9:	8b 55 fc             	mov    -0x4(%ebp),%edx
40d8ac:	5f                   	pop    %edi
40d8ad:	5e                   	pop    %esi
40d8ae:	c9                   	leave
40d8af:	c3                   	ret
40d8b0:	6a 14                	push   $0x14
40d8b2:	68 50 14 41 00       	push   $0x411450
40d8b7:	e8 b4 68 ff ff       	call   0x404170
40d8bc:	83 cb ff             	or     $0xffffffff,%ebx
40d8bf:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40d8c2:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40d8c5:	8b 45 08             	mov    0x8(%ebp),%eax
40d8c8:	83 f8 fe             	cmp    $0xfffffffe,%eax
40d8cb:	75 1c                	jne    0x40d8e9
40d8cd:	e8 68 68 ff ff       	call   0x40413a
40d8d2:	83 20 00             	andl   $0x0,(%eax)