40c67d:	0f 85 64 0a 01 00    	jne    0x41d0e7
40c683:	8b c6                	mov    %esi,%eax
40c685:	5f                   	pop    %edi
40c686:	5e                   	pop    %esi
40c687:	5b                   	pop    %ebx
40c688:	8b e5                	mov    %ebp,%esp
40c68a:	5d                   	pop    %ebp
40c68b:	c2 04 00             	ret    $0x4
40c68e:	b8 01 00 00 00       	mov    $0x1,%eax
40c693:	eb dc                	jmp    0x40c671
40c695:	68 00 80 00 00       	push   $0x8000
40c69a:	6a 00                	push   $0x0
40c69c:	50                   	push   %eax
40c69d:	ff 15 a4 a1 44 00    	call   *0x44a1a4
40c6a3:	c7 83 7c 67 43 00 00 	movl   $0x0,0x43677c(%ebx)
40c6aa:	00 00 00
40c6ad:	e9 41 ff ff ff       	jmp    0x40c5f3
40c6b2:	cc                   	int3
40c6b3:	cc                   	int3
40c6b4:	cc                   	int3
40c6b5:	cc                   	int3
40c6b6:	cc                   	int3
40c6b7:	cc                   	int3
40c6b8:	cc                   	int3
40c6b9:	cc                   	int3
40c6ba:	cc                   	int3
40c6bb:	cc                   	int3
40c6bc:	cc                   	int3
40c6bd:	cc                   	int3
40c6be:	cc                   	int3
40c6bf:	cc                   	int3
40c6c0:	8b ff                	mov    %edi,%edi
40c6c2:	55                   	push   %ebp
40c6c3:	8b ec                	mov    %esp,%ebp
40c6c5:	81 ec 48 06 00 00    	sub    $0x648,%esp
40c6cb:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
40c6d0:	33 c5                	xor    %ebp,%eax
40c6d2:	89 45 f8             	mov    %eax,-0x8(%ebp)
40c6d5:	53                   	push   %ebx
40c6d6:	8b 1d 48 67 43 00    	mov    0x436748,%ebx
40c6dc:	c7 85 e8 f9 ff ff 00 	movl   $0x0,-0x618(%ebp)
40c6e3:	00 00 00
40c6e6:	c7 85 d0 f9 ff ff 01 	movl   $0x1,-0x630(%ebp)
40c6ed:	00 00 00
40c6f0:	89 9d e4 f9 ff ff    	mov    %ebx,-0x61c(%ebp)
40c6f6:	56                   	push   %esi
40c6f7:	8b 75 08             	mov    0x8(%ebp),%esi
40c6fa:	89 b5 bc f9 ff ff    	mov    %esi,-0x644(%ebp)
40c700:	57                   	push   %edi
40c701:	85 db                	test   %ebx,%ebx
40c703:	0f 84 0d 0a 01 00    	je     0x41d116
40c709:	8b 4e 3c             	mov    0x3c(%esi),%ecx
40c70c:	85 c9                	test   %ecx,%ecx
40c70e:	0f 84 e1 09 01 00    	je     0x41d0f5
40c714:	6a 01                	push   $0x1
40c716:	51                   	push   %ecx
40c717:	8d 95 f4 fe ff ff    	lea    -0x10c(%ebp),%edx
40c71d:	e8 9f ec ff ff       	call   0x40b3c1
40c722:	8b 43 08             	mov    0x8(%ebx),%eax
40c725:	8b cb                	mov    %ebx,%ecx
40c727:	89 85 c0 f9 ff ff    	mov    %eax,-0x640(%ebp)
40c72d:	e8 40 1b 00 00       	call   0x40e272
40c732:	8b f8                	mov    %eax,%edi
40c734:	89 bd dc f9 ff ff    	mov    %edi,-0x624(%ebp)
40c73a:	83 ff ff             	cmp    $0xffffffff,%edi
40c73d:	0f 84 d3 09 01 00    	je     0x41d116
40c743:	6a 00                	push   $0x0
40c745:	57                   	push   %edi
40c746:	ff 15 2c a4 44 00    	call   *0x44a42c
40c74c:	83 c4 04             	add    $0x4,%esp
40c74f:	50                   	push   %eax
40c750:	ff 15 9c a0 44 00    	call   *0x44a09c
40c756:	8b 4e 3c             	mov    0x3c(%esi),%ecx
40c759:	89 85 c4 f9 ff ff    	mov    %eax,-0x63c(%ebp)
40c75f:	e8 1b e4 ff ff       	call   0x40ab7f
40c764:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
40c76b:	8b f0                	mov    %eax,%esi
40c76d:	0f 84 33 01 00 00    	je     0x40c8a6
40c773:	6a 04                	push   $0x4
40c775:	68 8c 22 40 00       	push   $0x40228c
40c77a:	56                   	push   %esi
40c77b:	ff 15 28 a4 44 00    	call   *0x44a428
40c781:	83 c4 0c             	add    $0xc,%esp
40c784:	85 c0                	test   %eax,%eax
40c786:	0f 85 1a 01 00 00    	jne    0x40c8a6
40c78c:	0f b7 46 08          	movzwl 0x8(%esi),%eax
40c790:	66 85 c0             	test   %ax,%ax
40c793:	0f 85 ae 04 00 00    	jne    0x40cc47
40c799:	8b 85 c4 f9 ff ff    	mov    -0x63c(%ebp),%eax
40c79f:	89 43 08             	mov    %eax,0x8(%ebx)
40c7a2:	c6 05 44 67 43 00 01 	movb   $0x1,0x436744
40c7a9:	e9 ca 02 00 00       	jmp    0x40ca78
40c7ae:	80 7f 01 0a          	cmpb   $0xa,0x1(%edi)
40c7b2:	0f 85 ef 01 00 00    	jne    0x40c9a7
40c7b8:	8b 85 d4 f9 ff ff    	mov    -0x62c(%ebp),%eax
40c7be:	c6 47 02 00          	movb   $0x0,0x2(%edi)
40c7c2:	2b fa                	sub    %edx,%edi
40c7c4:	6a 00                	push   $0x0
40c7c6:	83 c7 02             	add    $0x2,%edi
40c7c9:	6a 00                	push   $0x0
40c7cb:	03 c7                	add    %edi,%eax
40c7cd:	89 bd e0 f9 ff ff    	mov    %edi,-0x620(%ebp)
40c7d3:	50                   	push   %eax
40c7d4:	ff b5 cc f9 ff ff    	push   -0x634(%ebp)
40c7da:	ff 15 a0 a0 44 00    	call   *0x44a0a0
40c7e0:	8b cf                	mov    %edi,%ecx
40c7e2:	8b 95 c8 f9 ff ff    	mov    -0x638(%ebp),%edx
40c7e8:	8b 1d a0 25 43 00    	mov    0x4325a0,%ebx
40c7ee:	83 fb 2b             	cmp    $0x2b,%ebx
40c7f1:	0f 82 2c 0a 01 00    	jb     0x41d223
40c7f7:	81 fb 2c c4 00 00    	cmp    $0xc42c,%ebx
40c7fd:	0f 83 20 0a 01 00    	jae    0x41d223
40c803:	b8 01 00 00 00       	mov    $0x1,%eax
40c808:	68 00 02 00 00       	push   $0x200
40c80d:	8d b5 ec f9 ff ff    	lea    -0x614(%ebp),%esi
40c813:	56                   	push   %esi
40c814:	51                   	push   %ecx
40c815:	52                   	push   %edx
40c816:	50                   	push   %eax
40c817:	53                   	push   %ebx
40c818:	ff 15 68 a2 44 00    	call   *0x44a268
40c81e:	8b c8                	mov    %eax,%ecx
40c820:	89 8d e8 f9 ff ff    	mov    %ecx,-0x618(%ebp)
40c826:	8b bd dc f9 ff ff    	mov    -0x624(%ebp),%edi
40c82c:	85 c0                	test   %eax,%eax
40c82e:	0f 84 74 02 00 00    	je     0x40caa8
40c834:	85 c9                	test   %ecx,%ecx
40c836:	0f 84 74 02 00 00    	je     0x40cab0
40c83c:	83 f9 ff             	cmp    $0xffffffff,%ecx
40c83f:	0f 84 63 02 00 00    	je     0x40caa8
40c845:	66 83 bd ec f9 ff ff 	cmpw   $0x0,-0x614(%ebp)
40c84c:	00
40c84d:	0f 84 55 02 00 00    	je     0x40caa8
40c853:	66 83 bd f4 fe ff ff 	cmpw   $0x0,-0x10c(%ebp)
40c85a:	00
40c85b:	0f 84 47 02 00 00    	je     0x40caa8
40c861:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
40c864:	3d 02 04 00 00       	cmp    $0x402,%eax
40c869:	0f 83 f6 03 00 00    	jae    0x40cc65
40c86f:	33 c9                	xor    %ecx,%ecx
40c871:	66 89 8c 05 ec f9 ff 	mov    %cx,-0x614(%ebp,%eax,1)
40c878:	ff
40c879:	8d 85 ec f9 ff ff    	lea    -0x614(%ebp),%eax
40c87f:	6a 3a                	push   $0x3a
40c881:	50                   	push   %eax
40c882:	ff 15 b0 a3 44 00    	call   *0x44a3b0
40c888:	8b d8                	mov    %eax,%ebx
40c88a:	83 c4 08             	add    $0x8,%esp
40c88d:	85 db                	test   %ebx,%ebx
40c88f:	0f 85 3b 01 00 00    	jne    0x40c9d0
40c895:	eb 09                	jmp    0x40c8a0
40c897:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40c89e:	8b ff                	mov    %edi,%edi
40c8a0:	8b 9d e4 f9 ff ff    	mov    -0x61c(%ebp),%ebx
40c8a6:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
40c8ad:	0f 85 6d 08 01 00    	jne    0x41d120
40c8b3:	6a 01                	push   $0x1
40c8b5:	6a 00                	push   $0x0
40c8b7:	6a 00                	push   $0x0
40c8b9:	57                   	push   %edi
40c8ba:	ff 15 2c a4 44 00    	call   *0x44a42c
40c8c0:	83 c4 04             	add    $0x4,%esp
40c8c3:	50                   	push   %eax
40c8c4:	ff 15 a0 a0 44 00    	call   *0x44a0a0
40c8ca:	83 bd d0 f9 ff ff 00 	cmpl   $0x0,-0x630(%ebp)
40c8d1:	89 43 08             	mov    %eax,0x8(%ebx)
40c8d4:	0f 84 bc 01 00 00    	je     0x40ca96
40c8da:	57                   	push   %edi
40c8db:	ff 15 2c a4 44 00    	call   *0x44a42c
40c8e1:	83 c4 04             	add    $0x4,%esp
40c8e4:	8b d8                	mov    %eax,%ebx
40c8e6:	89 9d cc f9 ff ff    	mov    %ebx,-0x634(%ebp)
40c8ec:	53                   	push   %ebx
40c8ed:	ff 15 d0 a0 44 00    	call   *0x44a0d0
40c8f3:	25 ff 7f ff ff       	and    $0xffff7fff,%eax
40c8f8:	83 f8 02             	cmp    $0x2,%eax
40c8fb:	0f 84 29 08 01 00    	je     0x41d12a
40c901:	6a 01                	push   $0x1
40c903:	6a 00                	push   $0x0
40c905:	6a 00                	push   $0x0
40c907:	53                   	push   %ebx
40c908:	bf f0 a7 43 00       	mov    $0x43a7f0,%edi
40c90d:	ff 15 a0 a0 44 00    	call   *0x44a0a0
40c913:	68 04 8e 44 00       	push   $0x448e04
40c918:	89 85 d4 f9 ff ff    	mov    %eax,-0x62c(%ebp)
40c91e:	ff 15 90 a2 44 00    	call   *0x44a290
40c924:	6a 00                	push   $0x0
40c926:	8d 85 e8 f9 ff ff    	lea    -0x618(%ebp),%eax
40c92c:	50                   	push   %eax
40c92d:	68 00 02 00 00       	push   $0x200
40c932:	57                   	push   %edi
40c933:	53                   	push   %ebx
40c934:	ff 15 94 a0 44 00    	call   *0x44a094
40c93a:	68 04 8e 44 00       	push   $0x448e04
40c93f:	8b f0                	mov    %eax,%esi
40c941:	ff 15 94 a2 44 00    	call   *0x44a294
40c947:	8b 8d e8 f9 ff ff    	mov    -0x618(%ebp),%ecx
40c94d:	85 f6                	test   %esi,%esi
40c94f:	0f 84 f9 07 01 00    	je     0x41d14e
40c955:	89 8d e0 f9 ff ff    	mov    %ecx,-0x620(%ebp)
40c95b:	85 c9                	test   %ecx,%ecx
40c95d:	0f 84 fb 02 00 00    	je     0x40cc5e
40c963:	81 3d a0 25 43 00 e9 	cmpl   $0xfde9,0x4325a0
40c96a:	fd 00 00
40c96d:	8b f1                	mov    %ecx,%esi
40c96f:	89 b5 d8 f9 ff ff    	mov    %esi,-0x628(%ebp)
40c975:	8b d9                	mov    %ecx,%ebx
40c977:	0f 84 d8 07 01 00    	je     0x41d155
40c97d:	8b d7                	mov    %edi,%edx
40c97f:	89 95 c8 f9 ff ff    	mov    %edx,-0x638(%ebp)
40c985:	85 db                	test   %ebx,%ebx
40c987:	0f 8e 5b fe ff ff    	jle    0x40c7e8
40c98d:	8d 49 00             	lea    0x0(%ecx),%ecx
40c990:	83 fe 03             	cmp    $0x3,%esi
40c993:	7c 12                	jl     0x40c9a7
40c995:	8a 07                	mov    (%edi),%al
40c997:	3c 0a                	cmp    $0xa,%al
40c999:	0f 84 0e 08 01 00    	je     0x41d1ad
40c99f:	3c 0d                	cmp    $0xd,%al
40c9a1:	0f 84 07 fe ff ff    	je     0x40c7ae
40c9a7:	0f b6 07             	movzbl (%edi),%eax
40c9aa:	80 b8 f0 8a 44 00 00 	cmpb   $0x0,0x448af0(%eax)
40c9b1:	0f 85 05 08 01 00    	jne    0x41d1bc
40c9b7:	4e                   	dec    %esi
40c9b8:	b8 01 00 00 00       	mov    $0x1,%eax
40c9bd:	03 f8                	add    %eax,%edi
40c9bf:	89 b5 d8 f9 ff ff    	mov    %esi,-0x628(%ebp)
40c9c5:	85 f6                	test   %esi,%esi
40c9c7:	7f c7                	jg     0x40c990
40c9c9:	e9 1a fe ff ff       	jmp    0x40c7e8
40c9ce:	8b ff                	mov    %edi,%edi
40c9d0:	8b f3                	mov    %ebx,%esi
40c9d2:	83 c3 02             	add    $0x2,%ebx
40c9d5:	89 9d e0 f9 ff ff    	mov    %ebx,-0x620(%ebp)
40c9db:	66 83 3e 0a          	cmpw   $0xa,(%esi)
40c9df:	74 13                	je     0x40c9f4
40c9e1:	8d 85 ec f9 ff ff    	lea    -0x614(%ebp),%eax
40c9e7:	3b f0                	cmp    %eax,%esi
40c9e9:	74 09                	je     0x40c9f4
40c9eb:	83 ee 02             	sub    $0x2,%esi
40c9ee:	66 83 3e 0a          	cmpw   $0xa,(%esi)
40c9f2:	75 ed                	jne    0x40c9e1
40c9f4:	66 83 3e 3a          	cmpw   $0x3a,(%esi)
40c9f8:	74 03                	je     0x40c9fd
40c9fa:	83 c6 02             	add    $0x2,%esi
40c9fd:	8b fe                	mov    %esi,%edi
40c9ff:	85 f6                	test   %esi,%esi
40ca01:	74 38                	je     0x40ca3b
40ca03:	0f b7 1f             	movzwl (%edi),%ebx
40ca06:	53                   	push   %ebx
40ca07:	ff 15 ac a3 44 00    	call   *0x44a3ac
40ca0d:	83 c4 04             	add    $0x4,%esp
40ca10:	85 c0                	test   %eax,%eax
40ca12:	74 0a                	je     0x40ca1e
40ca14:	83 fb 0a             	cmp    $0xa,%ebx
40ca17:	74 05                	je     0x40ca1e
40ca19:	83 c7 02             	add    $0x2,%edi
40ca1c:	eb e5                	jmp    0x40ca03
40ca1e:	53                   	push   %ebx
40ca1f:	68 d0 22 40 00       	push   $0x4022d0
40ca24:	ff 15 b0 a3 44 00    	call   *0x44a3b0
40ca2a:	83 c4 08             	add    $0x8,%esp
40ca2d:	85 c0                	test   %eax,%eax
40ca2f:	0f 85 68 08 01 00    	jne    0x41d29d
40ca35:	8b 9d e0 f9 ff ff    	mov    -0x620(%ebp),%ebx
40ca3b:	66 83 3f 3a          	cmpw   $0x3a,(%edi)
40ca3f:	0f 84 9e 00 00 00    	je     0x40cae3
40ca45:	85 db                	test   %ebx,%ebx
40ca47:	74 16                	je     0x40ca5f
40ca49:	6a 3a                	push   $0x3a
40ca4b:	53                   	push   %ebx
40ca4c:	ff 15 b0 a3 44 00    	call   *0x44a3b0
40ca52:	8b d8                	mov    %eax,%ebx
40ca54:	83 c4 08             	add    $0x8,%esp
40ca57:	85 db                	test   %ebx,%ebx
40ca59:	0f 85 71 ff ff ff    	jne    0x40c9d0
40ca5f:	8b bd dc f9 ff ff    	mov    -0x624(%ebp),%edi
40ca65:	8b 9d e4 f9 ff ff    	mov    -0x61c(%ebp),%ebx
40ca6b:	80 3d 44 67 43 00 01 	cmpb   $0x1,0x436744
40ca72:	0f 85 2e fe ff ff    	jne    0x40c8a6
40ca78:	33 f6                	xor    %esi,%esi
40ca7a:	8b cf                	mov    %edi,%ecx
40ca7c:	e8 eb d6 ff ff       	call   0x40a16c
40ca81:	8b c6                	mov    %esi,%eax
40ca83:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40ca86:	5f                   	pop    %edi
40ca87:	5e                   	pop    %esi
40ca88:	33 cd                	xor    %ebp,%ecx
40ca8a:	5b                   	pop    %ebx
40ca8b:	e8 a0 a0 00 00       	call   0x416b30
40ca90:	8b e5                	mov    %ebp,%esp
40ca92:	5d                   	pop    %ebp
40ca93:	c2 04 00             	ret    $0x4
40ca96:	3b 85 c0 f9 ff ff    	cmp    -0x640(%ebp),%eax
40ca9c:	0f 8c 38 fe ff ff    	jl     0x40c8da
40caa2:	8b 8d e8 f9 ff ff    	mov    -0x618(%ebp),%ecx
40caa8:	85 c9                	test   %ecx,%ecx
40caaa:	0f 85 4c 09 01 00    	jne    0x41d3fc
40cab0:	83 bd d0 f9 ff ff 00 	cmpl   $0x0,-0x630(%ebp)
40cab7:	0f 84 3f 09 01 00    	je     0x41d3fc
40cabd:	6a 00                	push   $0x0
40cabf:	6a 00                	push   $0x0
40cac1:	6a 00                	push   $0x0
40cac3:	57                   	push   %edi
40cac4:	ff 15 2c a4 44 00    	call   *0x44a42c
40caca:	83 c4 04             	add    $0x4,%esp
40cacd:	50                   	push   %eax
40cace:	ff 15 a0 a0 44 00    	call   *0x44a0a0
40cad4:	c7 85 d0 f9 ff ff 00 	movl   $0x0,-0x630(%ebp)
40cadb:	00 00 00
40cade:	e9 bd fd ff ff       	jmp    0x40c8a0
40cae3:	85 f6                	test   %esi,%esi
40cae5:	0f 84 c0 07 01 00    	je     0x41d2ab
40caeb:	6a 0a                	push   $0xa
40caed:	56                   	push   %esi
40caee:	ff 15 b0 a3 44 00    	call   *0x44a3b0
40caf4:	8b d8                	mov    %eax,%ebx
40caf6:	83 c4 08             	add    $0x8,%esp
40caf9:	89 9d e0 f9 ff ff    	mov    %ebx,-0x620(%ebp)
40caff:	85 db                	test   %ebx,%ebx
40cb01:	0f 84 ac 07 01 00    	je     0x41d2b3
40cb07:	eb 07                	jmp    0x40cb10
40cb09:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40cb10:	0f b7 37             	movzwl (%edi),%esi
40cb13:	56                   	push   %esi
40cb14:	ff 15 ac a3 44 00    	call   *0x44a3ac
40cb1a:	83 c4 04             	add    $0x4,%esp
40cb1d:	85 c0                	test   %eax,%eax
40cb1f:	0f 85 20 08 01 00    	jne    0x41d345
40cb25:	56                   	push   %esi
40cb26:	68 d0 22 40 00       	push   $0x4022d0
40cb2b:	ff 15 b0 a3 44 00    	call   *0x44a3b0
40cb31:	83 c4 08             	add    $0x8,%esp
40cb34:	85 c0                	test   %eax,%eax
40cb36:	0f 85 13 08 01 00    	jne    0x41d34f
40cb3c:	0f b7 07             	movzwl (%edi),%eax
40cb3f:	83 f8 3a             	cmp    $0x3a,%eax
40cb42:	0f 85 18 08 01 00    	jne    0x41d360
40cb48:	83 c7 02             	add    $0x2,%edi
40cb4b:	85 ff                	test   %edi,%edi
40cb4d:	74 2d                	je     0x40cb7c
40cb4f:	90                   	nop
40cb50:	0f b7 37             	movzwl (%edi),%esi
40cb53:	56                   	push   %esi
40cb54:	ff 15 ac a3 44 00    	call   *0x44a3ac
40cb5a:	83 c4 04             	add    $0x4,%esp
40cb5d:	85 c0                	test   %eax,%eax
40cb5f:	0f 85 09 08 01 00    	jne    0x41d36e
40cb65:	56                   	push   %esi
40cb66:	68 d0 22 40 00       	push   $0x4022d0