40be01:	e9 6b 01 00 00       	jmp    0x40bf71
40be06:	75 0e                	jne    0x40be16
40be08:	80 fa 67             	cmp    $0x67,%dl
40be0b:	75 47                	jne    0x40be54
40be0d:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
40be14:	eb 3e                	jmp    0x40be54
40be16:	39 45 e0             	cmp    %eax,-0x20(%ebp)
40be19:	7e 03                	jle    0x40be1e
40be1b:	89 45 e0             	mov    %eax,-0x20(%ebp)
40be1e:	81 7d e0 a3 00 00 00 	cmpl   $0xa3,-0x20(%ebp)
40be25:	7e 2d                	jle    0x40be54
40be27:	8b 75 e0             	mov    -0x20(%ebp),%esi
40be2a:	81 c6 5d 01 00 00    	add    $0x15d,%esi
40be30:	56                   	push   %esi
40be31:	e8 b6 d4 ff ff       	call   0x4092ec
40be36:	85 c0                	test   %eax,%eax
40be38:	8a 55 e7             	mov    -0x19(%ebp),%dl
40be3b:	59                   	pop    %ecx
40be3c:	89 45 ac             	mov    %eax,-0x54(%ebp)
40be3f:	74 0a                	je     0x40be4b
40be41:	89 45 dc             	mov    %eax,-0x24(%ebp)
40be44:	89 75 98             	mov    %esi,-0x68(%ebp)
40be47:	8b d8                	mov    %eax,%ebx
40be49:	eb 07                	jmp    0x40be52
40be4b:	c7 45 e0 a3 00 00 00 	movl   $0xa3,-0x20(%ebp)
40be52:	33 f6                	xor    %esi,%esi
40be54:	8b 07                	mov    (%edi),%eax
40be56:	83 c7 08             	add    $0x8,%edi
40be59:	89 45 80             	mov    %eax,-0x80(%ebp)
40be5c:	8b 47 fc             	mov    -0x4(%edi),%eax
40be5f:	89 45 84             	mov    %eax,-0x7c(%ebp)
40be62:	8d 45 9c             	lea    -0x64(%ebp),%eax
40be65:	50                   	push   %eax
40be66:	ff 75 88             	push   -0x78(%ebp)
40be69:	0f be c2             	movsbl %dl,%eax
40be6c:	ff 75 e0             	push   -0x20(%ebp)
40be6f:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40be72:	50                   	push   %eax
40be73:	ff 75 98             	push   -0x68(%ebp)
40be76:	8d 45 80             	lea    -0x80(%ebp),%eax
40be79:	53                   	push   %ebx
40be7a:	50                   	push   %eax
40be7b:	ff 35 48 d3 41 00    	push   0x41d348
40be81:	e8 bc 04 00 00       	call   0x40c342
40be86:	59                   	pop    %ecx
40be87:	ff d0                	call   *%eax
40be89:	8b 7d e8             	mov    -0x18(%ebp),%edi
40be8c:	83 c4 1c             	add    $0x1c,%esp
40be8f:	81 e7 80 00 00 00    	and    $0x80,%edi
40be95:	74 1a                	je     0x40beb1
40be97:	39 75 e0             	cmp    %esi,-0x20(%ebp)
40be9a:	75 15                	jne    0x40beb1
40be9c:	8d 45 9c             	lea    -0x64(%ebp),%eax
40be9f:	50                   	push   %eax
40bea0:	53                   	push   %ebx
40bea1:	ff 35 54 d3 41 00    	push   0x41d354
40bea7:	e8 96 04 00 00       	call   0x40c342
40beac:	59                   	pop    %ecx
40bead:	ff d0                	call   *%eax
40beaf:	59                   	pop    %ecx
40beb0:	59                   	pop    %ecx
40beb1:	80 7d e7 67          	cmpb   $0x67,-0x19(%ebp)
40beb5:	75 19                	jne    0x40bed0
40beb7:	3b fe                	cmp    %esi,%edi
40beb9:	75 15                	jne    0x40bed0
40bebb:	8d 45 9c             	lea    -0x64(%ebp),%eax
40bebe:	50                   	push   %eax
40bebf:	53                   	push   %ebx
40bec0:	ff 35 50 d3 41 00    	push   0x41d350
40bec6:	e8 77 04 00 00       	call   0x40c342
40becb:	59                   	pop    %ecx
40becc:	ff d0                	call   *%eax
40bece:	59                   	pop    %ecx
40becf:	59                   	pop    %ecx
40bed0:	80 3b 2d             	cmpb   $0x2d,(%ebx)
40bed3:	75 0b                	jne    0x40bee0
40bed5:	81 4d e8 00 01 00 00 	orl    $0x100,-0x18(%ebp)
40bedc:	43                   	inc    %ebx
40bedd:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40bee0:	53                   	push   %ebx
40bee1:	e9 72 fe ff ff       	jmp    0x40bd58
40bee6:	c7 45 e0 08 00 00 00 	movl   $0x8,-0x20(%ebp)
40beed:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
40bef0:	eb 21                	jmp    0x40bf13
40bef2:	83 e8 73             	sub    $0x73,%eax
40bef5:	0f 84 70 fd ff ff    	je     0x40bc6b
40befb:	48                   	dec    %eax
40befc:	48                   	dec    %eax
40befd:	0f 84 e3 fe ff ff    	je     0x40bde6
40bf03:	83 e8 03             	sub    $0x3,%eax
40bf06:	0f 85 5a 01 00 00    	jne    0x40c066
40bf0c:	c7 45 b4 27 00 00 00 	movl   $0x27,-0x4c(%ebp)
40bf13:	f6 45 e8 80          	testb  $0x80,-0x18(%ebp)
40bf17:	c7 45 d8 10 00 00 00 	movl   $0x10,-0x28(%ebp)
40bf1e:	0f 84 c9 fe ff ff    	je     0x40bded
40bf24:	8a 45 b4             	mov    -0x4c(%ebp),%al
40bf27:	04 51                	add    $0x51,%al
40bf29:	c6 45 c8 30          	movb   $0x30,-0x38(%ebp)
40bf2d:	88 45 c9             	mov    %al,-0x37(%ebp)
40bf30:	c7 45 c4 02 00 00 00 	movl   $0x2,-0x3c(%ebp)
40bf37:	e9 b1 fe ff ff       	jmp    0x40bded
40bf3c:	66 f7 c1 00 10       	test   $0x1000,%cx
40bf41:	0f 85 b2 fe ff ff    	jne    0x40bdf9
40bf47:	83 c7 04             	add    $0x4,%edi
40bf4a:	f6 c1 20             	test   $0x20,%cl
40bf4d:	74 15                	je     0x40bf64
40bf4f:	f6 c1 40             	test   $0x40,%cl
40bf52:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40bf55:	74 06                	je     0x40bf5d
40bf57:	0f bf 47 fc          	movswl -0x4(%edi),%eax
40bf5b:	eb 04                	jmp    0x40bf61
40bf5d:	0f b7 47 fc          	movzwl -0x4(%edi),%eax
40bf61:	99                   	cltd
40bf62:	eb 10                	jmp    0x40bf74
40bf64:	f6 c1 40             	test   $0x40,%cl
40bf67:	8b 47 fc             	mov    -0x4(%edi),%eax
40bf6a:	74 03                	je     0x40bf6f
40bf6c:	99                   	cltd
40bf6d:	eb 02                	jmp    0x40bf71
40bf6f:	33 d2                	xor    %edx,%edx
40bf71:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40bf74:	f6 c1 40             	test   $0x40,%cl
40bf77:	74 18                	je     0x40bf91
40bf79:	3b d6                	cmp    %esi,%edx
40bf7b:	7f 14                	jg     0x40bf91
40bf7d:	7c 04                	jl     0x40bf83
40bf7f:	3b c6                	cmp    %esi,%eax
40bf81:	73 0e                	jae    0x40bf91
40bf83:	f7 d8                	neg    %eax
40bf85:	83 d2 00             	adc    $0x0,%edx
40bf88:	f7 da                	neg    %edx
40bf8a:	81 4d e8 00 01 00 00 	orl    $0x100,-0x18(%ebp)
40bf91:	66 f7 45 e8 00 90    	testw  $0x9000,-0x18(%ebp)
40bf97:	8b da                	mov    %edx,%ebx
40bf99:	8b f8                	mov    %eax,%edi
40bf9b:	75 02                	jne    0x40bf9f
40bf9d:	33 db                	xor    %ebx,%ebx
40bf9f:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
40bfa3:	7d 09                	jge    0x40bfae
40bfa5:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
40bfac:	eb 11                	jmp    0x40bfbf
40bfae:	83 65 e8 f7          	andl   $0xfffffff7,-0x18(%ebp)
40bfb2:	b8 00 02 00 00       	mov    $0x200,%eax
40bfb7:	39 45 e0             	cmp    %eax,-0x20(%ebp)
40bfba:	7e 03                	jle    0x40bfbf
40bfbc:	89 45 e0             	mov    %eax,-0x20(%ebp)
40bfbf:	8b c7                	mov    %edi,%eax
40bfc1:	0b c3                	or     %ebx,%eax
40bfc3:	75 04                	jne    0x40bfc9
40bfc5:	83 65 c4 00          	andl   $0x0,-0x3c(%ebp)
40bfc9:	8d b5 eb 01 00 00    	lea    0x1eb(%ebp),%esi
40bfcf:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bfd2:	ff 4d e0             	decl   -0x20(%ebp)
40bfd5:	85 c0                	test   %eax,%eax
40bfd7:	7f 06                	jg     0x40bfdf
40bfd9:	8b c7                	mov    %edi,%eax
40bfdb:	0b c3                	or     %ebx,%eax
40bfdd:	74 24                	je     0x40c003
40bfdf:	8b 45 d8             	mov    -0x28(%ebp),%eax
40bfe2:	99                   	cltd
40bfe3:	52                   	push   %edx
40bfe4:	50                   	push   %eax
40bfe5:	53                   	push   %ebx
40bfe6:	57                   	push   %edi
40bfe7:	e8 b4 7b 00 00       	call   0x413ba0
40bfec:	83 c1 30             	add    $0x30,%ecx
40bfef:	83 f9 39             	cmp    $0x39,%ecx
40bff2:	89 5d 98             	mov    %ebx,-0x68(%ebp)
40bff5:	8b f8                	mov    %eax,%edi
40bff7:	8b da                	mov    %edx,%ebx
40bff9:	7e 03                	jle    0x40bffe
40bffb:	03 4d b4             	add    -0x4c(%ebp),%ecx
40bffe:	88 0e                	mov    %cl,(%esi)
40c000:	4e                   	dec    %esi
40c001:	eb cc                	jmp    0x40bfcf
40c003:	8d 85 eb 01 00 00    	lea    0x1eb(%ebp),%eax
40c009:	2b c6                	sub    %esi,%eax
40c00b:	46                   	inc    %esi
40c00c:	66 f7 45 e8 00 02    	testw  $0x200,-0x18(%ebp)
40c012:	89 45 d8             	mov    %eax,-0x28(%ebp)
40c015:	89 75 dc             	mov    %esi,-0x24(%ebp)
40c018:	74 4c                	je     0x40c066
40c01a:	85 c0                	test   %eax,%eax
40c01c:	74 07                	je     0x40c025
40c01e:	8b ce                	mov    %esi,%ecx
40c020:	80 39 30             	cmpb   $0x30,(%ecx)
40c023:	74 41                	je     0x40c066
40c025:	ff 4d dc             	decl   -0x24(%ebp)
40c028:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40c02b:	c6 01 30             	movb   $0x30,(%ecx)
40c02e:	40                   	inc    %eax
40c02f:	eb 32                	jmp    0x40c063
40c031:	49                   	dec    %ecx
40c032:	66 39 30             	cmp    %si,(%eax)
40c035:	74 06                	je     0x40c03d
40c037:	40                   	inc    %eax
40c038:	40                   	inc    %eax
40c039:	3b ce                	cmp    %esi,%ecx
40c03b:	75 f4                	jne    0x40c031
40c03d:	2b 45 dc             	sub    -0x24(%ebp),%eax
40c040:	d1 f8                	sar    $1,%eax
40c042:	eb 1f                	jmp    0x40c063
40c044:	3b fe                	cmp    %esi,%edi
40c046:	75 08                	jne    0x40c050
40c048:	a1 70 c9 41 00       	mov    0x41c970,%eax
40c04d:	89 45 dc             	mov    %eax,-0x24(%ebp)
40c050:	8b 45 dc             	mov    -0x24(%ebp),%eax
40c053:	eb 07                	jmp    0x40c05c
40c055:	49                   	dec    %ecx
40c056:	80 38 00             	cmpb   $0x0,(%eax)
40c059:	74 05                	je     0x40c060
40c05b:	40                   	inc    %eax
40c05c:	3b ce                	cmp    %esi,%ecx
40c05e:	75 f5                	jne    0x40c055
40c060:	2b 45 dc             	sub    -0x24(%ebp),%eax
40c063:	89 45 d8             	mov    %eax,-0x28(%ebp)
40c066:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
40c06a:	0f 85 fb 00 00 00    	jne    0x40c16b
40c070:	8b 45 e8             	mov    -0x18(%ebp),%eax
40c073:	a8 40                	test   $0x40,%al
40c075:	74 25                	je     0x40c09c
40c077:	66 a9 00 01          	test   $0x100,%ax
40c07b:	74 06                	je     0x40c083
40c07d:	c6 45 c8 2d          	movb   $0x2d,-0x38(%ebp)
40c081:	eb 12                	jmp    0x40c095
40c083:	a8 01                	test   $0x1,%al
40c085:	74 06                	je     0x40c08d
40c087:	c6 45 c8 2b          	movb   $0x2b,-0x38(%ebp)
40c08b:	eb 08                	jmp    0x40c095
40c08d:	a8 02                	test   $0x2,%al
40c08f:	74 0b                	je     0x40c09c
40c091:	c6 45 c8 20          	movb   $0x20,-0x38(%ebp)
40c095:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
40c09c:	8b 5d c0             	mov    -0x40(%ebp),%ebx
40c09f:	2b 5d d8             	sub    -0x28(%ebp),%ebx
40c0a2:	2b 5d c4             	sub    -0x3c(%ebp),%ebx
40c0a5:	f6 45 e8 0c          	testb  $0xc,-0x18(%ebp)
40c0a9:	75 11                	jne    0x40c0bc
40c0ab:	ff 75 d0             	push   -0x30(%ebp)
40c0ae:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c0b1:	53                   	push   %ebx
40c0b2:	6a 20                	push   $0x20
40c0b4:	e8 3a f7 ff ff       	call   0x40b7f3
40c0b9:	83 c4 0c             	add    $0xc,%esp
40c0bc:	ff 75 c4             	push   -0x3c(%ebp)
40c0bf:	8b 7d d0             	mov    -0x30(%ebp),%edi
40c0c2:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c0c5:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40c0c8:	e8 4a f7 ff ff       	call   0x40b817
40c0cd:	f6 45 e8 08          	testb  $0x8,-0x18(%ebp)
40c0d1:	59                   	pop    %ecx
40c0d2:	74 15                	je     0x40c0e9
40c0d4:	f6 45 e8 04          	testb  $0x4,-0x18(%ebp)
40c0d8:	75 0f                	jne    0x40c0e9
40c0da:	57                   	push   %edi
40c0db:	53                   	push   %ebx
40c0dc:	6a 30                	push   $0x30
40c0de:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c0e1:	e8 0d f7 ff ff       	call   0x40b7f3
40c0e6:	83 c4 0c             	add    $0xc,%esp
40c0e9:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
40c0ed:	8b 45 d8             	mov    -0x28(%ebp),%eax
40c0f0:	74 51                	je     0x40c143
40c0f2:	85 c0                	test   %eax,%eax
40c0f4:	7e 4d                	jle    0x40c143
40c0f6:	8b 75 dc             	mov    -0x24(%ebp),%esi
40c0f9:	89 45 98             	mov    %eax,-0x68(%ebp)
40c0fc:	0f b7 06             	movzwl (%esi),%eax
40c0ff:	ff 4d 98             	decl   -0x68(%ebp)
40c102:	50                   	push   %eax
40c103:	6a 06                	push   $0x6
40c105:	8d 85 ec 01 00 00    	lea    0x1ec(%ebp),%eax
40c10b:	50                   	push   %eax
40c10c:	8d 45 90             	lea    -0x70(%ebp),%eax
40c10f:	46                   	inc    %esi
40c110:	50                   	push   %eax
40c111:	46                   	inc    %esi
40c112:	e8 2b 2c 00 00       	call   0x40ed42
40c117:	83 c4 10             	add    $0x10,%esp
40c11a:	85 c0                	test   %eax,%eax
40c11c:	75 1f                	jne    0x40c13d
40c11e:	39 45 90             	cmp    %eax,-0x70(%ebp)
40c121:	74 1a                	je     0x40c13d
40c123:	ff 75 90             	push   -0x70(%ebp)
40c126:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c129:	8d 8d ec 01 00 00    	lea    0x1ec(%ebp),%ecx
40c12f:	e8 e3 f6 ff ff       	call   0x40b817
40c134:	83 7d 98 00          	cmpl   $0x0,-0x68(%ebp)
40c138:	59                   	pop    %ecx
40c139:	75 c1                	jne    0x40c0fc
40c13b:	eb 13                	jmp    0x40c150
40c13d:	83 4d cc ff          	orl    $0xffffffff,-0x34(%ebp)
40c141:	eb 0d                	jmp    0x40c150
40c143:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40c146:	50                   	push   %eax
40c147:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c14a:	e8 c8 f6 ff ff       	call   0x40b817
40c14f:	59                   	pop    %ecx
40c150:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
40c154:	7c 15                	jl     0x40c16b
40c156:	f6 45 e8 04          	testb  $0x4,-0x18(%ebp)
40c15a:	74 0f                	je     0x40c16b
40c15c:	57                   	push   %edi
40c15d:	53                   	push   %ebx
40c15e:	6a 20                	push   $0x20
40c160:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c163:	e8 8b f6 ff ff       	call   0x40b7f3
40c168:	83 c4 0c             	add    $0xc,%esp
40c16b:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
40c16f:	74 0d                	je     0x40c17e
40c171:	ff 75 ac             	push   -0x54(%ebp)
40c174:	e8 da a2 ff ff       	call   0x406453
40c179:	83 65 ac 00          	andl   $0x0,-0x54(%ebp)
40c17d:	59                   	pop    %ecx
40c17e:	8b 5d b8             	mov    -0x48(%ebp),%ebx
40c181:	8a 03                	mov    (%ebx),%al
40c183:	84 c0                	test   %al,%al
40c185:	88 45 e7             	mov    %al,-0x19(%ebp)
40c188:	74 24                	je     0x40c1ae
40c18a:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
40c18d:	8b 7d d4             	mov    -0x2c(%ebp),%edi
40c190:	8a d0                	mov    %al,%dl
40c192:	e9 28 f8 ff ff       	jmp    0x40b9bf
40c197:	e8 5e d2 ff ff       	call   0x4093fa
40c19c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c1a2:	33 c0                	xor    %eax,%eax
40c1a4:	50                   	push   %eax
40c1a5:	50                   	push   %eax
40c1a6:	50                   	push   %eax
40c1a7:	50                   	push   %eax
40c1a8:	50                   	push   %eax
40c1a9:	e9 23 f7 ff ff       	jmp    0x40b8d1
40c1ae:	80 7d a8 00          	cmpb   $0x0,-0x58(%ebp)
40c1b2:	74 07                	je     0x40c1bb
40c1b4:	8b 45 a4             	mov    -0x5c(%ebp),%eax
40c1b7:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
40c1bb:	8b 45 cc             	mov    -0x34(%ebp),%eax
40c1be:	8b 8d f4 01 00 00    	mov    0x1f4(%ebp),%ecx
40c1c4:	5f                   	pop    %edi
40c1c5:	5e                   	pop    %esi
40c1c6:	33 cd                	xor    %ebp,%ecx
40c1c8:	5b                   	pop    %ebx
40c1c9:	e8 67 9d ff ff       	call   0x405f35
40c1ce:	81 c5 f8 01 00 00    	add    $0x1f8,%ebp
40c1d4:	c9                   	leave
40c1d5:	c3                   	ret
40c1d6:	8d 49 00             	lea    0x0(%ecx),%ecx
40c1d9:	a3 bb 40 00 0a       	mov    %eax,0xa0040bb
40c1de:	ba 40 00 25 ba       	mov    $0xba250040,%edx
40c1e3:	40                   	inc    %eax