408ea1:	e9 f7 04 00 00       	jmp    0x40939d
408ea6:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
408ead:	c7 85 e0 fb ff ff 0a 	movl   $0xa,-0x420(%ebp)
408eb4:	00 00 00
408eb7:	f7 85 f8 fb ff ff 00 	testl  $0x8000,-0x408(%ebp)
408ebe:	80 00 00
408ec1:	0f 84 99 01 00 00    	je     0x409060
408ec7:	03 de                	add    %esi,%ebx
408ec9:	8b 43 f8             	mov    -0x8(%ebx),%eax
408ecc:	8b 53 fc             	mov    -0x4(%ebx),%edx
408ecf:	e9 d5 01 00 00       	jmp    0x4090a9
408ed4:	75 12                	jne    0x408ee8
408ed6:	66 83 fa 67          	cmp    $0x67,%dx
408eda:	75 57                	jne    0x408f33
408edc:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
408ee3:	00 00 00
408ee6:	eb 4b                	jmp    0x408f33
408ee8:	3b c8                	cmp    %eax,%ecx
408eea:	7e 08                	jle    0x408ef4
408eec:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
408ef2:	8b c8                	mov    %eax,%ecx
408ef4:	81 f9 a3 00 00 00    	cmp    $0xa3,%ecx
408efa:	7e 37                	jle    0x408f33
408efc:	8d b1 5d 01 00 00    	lea    0x15d(%ecx),%esi
408f02:	56                   	push   %esi
408f03:	e8 b7 d9 ff ff       	call   0x4068bf
408f08:	8b 95 e0 fb ff ff    	mov    -0x420(%ebp),%edx
408f0e:	59                   	pop    %ecx
408f0f:	89 85 a8 fb ff ff    	mov    %eax,-0x458(%ebp)
408f15:	85 c0                	test   %eax,%eax
408f17:	74 10                	je     0x408f29
408f19:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
408f1f:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
408f25:	8b f8                	mov    %eax,%edi
408f27:	eb 0a                	jmp    0x408f33
408f29:	c7 85 f4 fb ff ff a3 	movl   $0xa3,-0x40c(%ebp)
408f30:	00 00 00
408f33:	8b 03                	mov    (%ebx),%eax
408f35:	8b 35 90 f0 40 00    	mov    0x40f090,%esi
408f3b:	83 c3 08             	add    $0x8,%ebx
408f3e:	89 85 90 fb ff ff    	mov    %eax,-0x470(%ebp)
408f44:	8b 43 fc             	mov    -0x4(%ebx),%eax
408f47:	89 85 94 fb ff ff    	mov    %eax,-0x46c(%ebp)
408f4d:	8d 85 b4 fb ff ff    	lea    -0x44c(%ebp),%eax
408f53:	50                   	push   %eax
408f54:	ff b5 98 fb ff ff    	push   -0x468(%ebp)
408f5a:	0f be c2             	movsbl %dl,%eax
408f5d:	ff b5 f4 fb ff ff    	push   -0x40c(%ebp)
408f63:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
408f69:	50                   	push   %eax
408f6a:	ff b5 ec fb ff ff    	push   -0x414(%ebp)
408f70:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
408f76:	57                   	push   %edi
408f77:	50                   	push   %eax
408f78:	ff 35 18 2e 41 00    	push   0x412e18
408f7e:	ff d6                	call   *%esi
408f80:	ff d0                	call   *%eax
408f82:	8b 9d f8 fb ff ff    	mov    -0x408(%ebp),%ebx
408f88:	83 c4 1c             	add    $0x1c,%esp
408f8b:	81 e3 80 00 00 00    	and    $0x80,%ebx
408f91:	74 1d                	je     0x408fb0
408f93:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
408f9a:	75 14                	jne    0x408fb0
408f9c:	8d 85 b4 fb ff ff    	lea    -0x44c(%ebp),%eax
408fa2:	50                   	push   %eax
408fa3:	57                   	push   %edi
408fa4:	ff 35 24 2e 41 00    	push   0x412e24
408faa:	ff d6                	call   *%esi
408fac:	ff d0                	call   *%eax
408fae:	59                   	pop    %ecx
408faf:	59                   	pop    %ecx
408fb0:	66 83 bd e0 fb ff ff 	cmpw   $0x67,-0x420(%ebp)
408fb7:	67
408fb8:	75 18                	jne    0x408fd2
408fba:	85 db                	test   %ebx,%ebx
408fbc:	75 14                	jne    0x408fd2
408fbe:	8d 85 b4 fb ff ff    	lea    -0x44c(%ebp),%eax
408fc4:	50                   	push   %eax
408fc5:	57                   	push   %edi
408fc6:	ff 35 20 2e 41 00    	push   0x412e20
408fcc:	ff d6                	call   *%esi
408fce:	ff d0                	call   *%eax
408fd0:	59                   	pop    %ecx
408fd1:	59                   	pop    %ecx
408fd2:	80 3f 2d             	cmpb   $0x2d,(%edi)
408fd5:	75 11                	jne    0x408fe8
408fd7:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
408fde:	01 00 00
408fe1:	47                   	inc    %edi
408fe2:	89 bd f0 fb ff ff    	mov    %edi,-0x410(%ebp)
408fe8:	57                   	push   %edi
408fe9:	e9 19 fe ff ff       	jmp    0x408e07
408fee:	89 b5 f4 fb ff ff    	mov    %esi,-0x40c(%ebp)
408ff4:	c7 85 ac fb ff ff 07 	movl   $0x7,-0x454(%ebp)
408ffb:	00 00 00
408ffe:	eb 24                	jmp    0x409024
409000:	83 e8 73             	sub    $0x73,%eax
409003:	0f 84 7b fc ff ff    	je     0x408c84
409009:	2b c1                	sub    %ecx,%eax
40900b:	0f 84 9c fe ff ff    	je     0x408ead
409011:	83 e8 03             	sub    $0x3,%eax
409014:	0f 85 ce 01 00 00    	jne    0x4091e8
40901a:	c7 85 ac fb ff ff 27 	movl   $0x27,-0x454(%ebp)
409021:	00 00 00
409024:	f6 85 f8 fb ff ff 80 	testb  $0x80,-0x408(%ebp)
40902b:	c7 85 e0 fb ff ff 10 	movl   $0x10,-0x420(%ebp)
409032:	00 00 00
409035:	0f 84 7c fe ff ff    	je     0x408eb7
40903b:	6a 30                	push   $0x30
40903d:	58                   	pop    %eax
40903e:	66 89 85 cc fb ff ff 	mov    %ax,-0x434(%ebp)
409045:	8b 85 ac fb ff ff    	mov    -0x454(%ebp),%eax
40904b:	83 c0 51             	add    $0x51,%eax
40904e:	66 89 85 ce fb ff ff 	mov    %ax,-0x432(%ebp)
409055:	89 8d dc fb ff ff    	mov    %ecx,-0x424(%ebp)
40905b:	e9 57 fe ff ff       	jmp    0x408eb7
409060:	f7 85 f8 fb ff ff 00 	testl  $0x1000,-0x408(%ebp)
409067:	10 00 00
40906a:	0f 85 57 fe ff ff    	jne    0x408ec7
409070:	83 c3 04             	add    $0x4,%ebx
409073:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
40907a:	74 1c                	je     0x409098
40907c:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
409083:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
409089:	74 06                	je     0x409091
40908b:	0f bf 43 fc          	movswl -0x4(%ebx),%eax
40908f:	eb 04                	jmp    0x409095
409091:	0f b7 43 fc          	movzwl -0x4(%ebx),%eax
409095:	99                   	cltd
409096:	eb 17                	jmp    0x4090af
409098:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
40909f:	8b 43 fc             	mov    -0x4(%ebx),%eax
4090a2:	74 03                	je     0x4090a7
4090a4:	99                   	cltd
4090a5:	eb 02                	jmp    0x4090a9
4090a7:	33 d2                	xor    %edx,%edx
4090a9:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
4090af:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
4090b6:	74 1b                	je     0x4090d3
4090b8:	85 d2                	test   %edx,%edx
4090ba:	7f 17                	jg     0x4090d3
4090bc:	7c 04                	jl     0x4090c2
4090be:	85 c0                	test   %eax,%eax
4090c0:	73 11                	jae    0x4090d3
4090c2:	f7 d8                	neg    %eax
4090c4:	83 d2 00             	adc    $0x0,%edx
4090c7:	f7 da                	neg    %edx
4090c9:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
4090d0:	01 00 00
4090d3:	f7 85 f8 fb ff ff 00 	testl  $0x9000,-0x408(%ebp)
4090da:	90 00 00
4090dd:	8b fa                	mov    %edx,%edi
4090df:	8b d8                	mov    %eax,%ebx
4090e1:	75 02                	jne    0x4090e5
4090e3:	33 ff                	xor    %edi,%edi
4090e5:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
4090ec:	7d 0c                	jge    0x4090fa
4090ee:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
4090f5:	00 00 00
4090f8:	eb 1a                	jmp    0x409114
4090fa:	83 a5 f8 fb ff ff f7 	andl   $0xfffffff7,-0x408(%ebp)
409101:	b8 00 02 00 00       	mov    $0x200,%eax
409106:	39 85 f4 fb ff ff    	cmp    %eax,-0x40c(%ebp)
40910c:	7e 06                	jle    0x409114
40910e:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
409114:	8b c3                	mov    %ebx,%eax
409116:	0b c7                	or     %edi,%eax
409118:	75 06                	jne    0x409120
40911a:	21 85 dc fb ff ff    	and    %eax,-0x424(%ebp)
409120:	8d b5 fb fd ff ff    	lea    -0x205(%ebp),%esi
409126:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
40912c:	ff 8d f4 fb ff ff    	decl   -0x40c(%ebp)
409132:	85 c0                	test   %eax,%eax
409134:	7f 06                	jg     0x40913c
409136:	8b c3                	mov    %ebx,%eax
409138:	0b c7                	or     %edi,%eax
40913a:	74 2d                	je     0x409169
40913c:	8b 85 e0 fb ff ff    	mov    -0x420(%ebp),%eax
409142:	99                   	cltd
409143:	52                   	push   %edx
409144:	50                   	push   %eax
409145:	57                   	push   %edi
409146:	53                   	push   %ebx
409147:	e8 24 1c 00 00       	call   0x40ad70
40914c:	83 c1 30             	add    $0x30,%ecx
40914f:	89 9d 8c fb ff ff    	mov    %ebx,-0x474(%ebp)
409155:	8b d8                	mov    %eax,%ebx
409157:	8b fa                	mov    %edx,%edi
409159:	83 f9 39             	cmp    $0x39,%ecx
40915c:	7e 06                	jle    0x409164
40915e:	03 8d ac fb ff ff    	add    -0x454(%ebp),%ecx
409164:	88 0e                	mov    %cl,(%esi)
409166:	4e                   	dec    %esi
409167:	eb bd                	jmp    0x409126
409169:	8d 85 fb fd ff ff    	lea    -0x205(%ebp),%eax
40916f:	2b c6                	sub    %esi,%eax
409171:	46                   	inc    %esi
409172:	f7 85 f8 fb ff ff 00 	testl  $0x200,-0x408(%ebp)
409179:	02 00 00
40917c:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
409182:	89 b5 f0 fb ff ff    	mov    %esi,-0x410(%ebp)
409188:	74 5e                	je     0x4091e8
40918a:	85 c0                	test   %eax,%eax
40918c:	74 07                	je     0x409195
40918e:	8b c6                	mov    %esi,%eax
409190:	80 38 30             	cmpb   $0x30,(%eax)
409193:	74 53                	je     0x4091e8
409195:	ff 8d f0 fb ff ff    	decl   -0x410(%ebp)
40919b:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
4091a1:	ff 85 ec fb ff ff    	incl   -0x414(%ebp)
4091a7:	c6 00 30             	movb   $0x30,(%eax)
4091aa:	eb 3c                	jmp    0x4091e8
4091ac:	85 db                	test   %ebx,%ebx
4091ae:	75 0b                	jne    0x4091bb
4091b0:	a1 e4 2d 41 00       	mov    0x412de4,%eax
4091b5:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
4091bb:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
4091c1:	c7 85 d0 fb ff ff 01 	movl   $0x1,-0x430(%ebp)
4091c8:	00 00 00
4091cb:	eb 09                	jmp    0x4091d6
4091cd:	4f                   	dec    %edi
4091ce:	66 83 38 00          	cmpw   $0x0,(%eax)
4091d2:	74 06                	je     0x4091da
4091d4:	03 c1                	add    %ecx,%eax
4091d6:	85 ff                	test   %edi,%edi
4091d8:	75 f3                	jne    0x4091cd
4091da:	2b 85 f0 fb ff ff    	sub    -0x410(%ebp),%eax
4091e0:	d1 f8                	sar    $1,%eax
4091e2:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
4091e8:	83 bd b0 fb ff ff 00 	cmpl   $0x0,-0x450(%ebp)
4091ef:	0f 85 a8 01 00 00    	jne    0x40939d
4091f5:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
4091fb:	a8 40                	test   $0x40,%al
4091fd:	74 2b                	je     0x40922a
4091ff:	a9 00 01 00 00       	test   $0x100,%eax
409204:	74 04                	je     0x40920a
409206:	6a 2d                	push   $0x2d
409208:	eb 0e                	jmp    0x409218
40920a:	a8 01                	test   $0x1,%al
40920c:	74 04                	je     0x409212
40920e:	6a 2b                	push   $0x2b
409210:	eb 06                	jmp    0x409218
409212:	a8 02                	test   $0x2,%al
409214:	74 14                	je     0x40922a
409216:	6a 20                	push   $0x20
409218:	59                   	pop    %ecx
409219:	66 89 8d cc fb ff ff 	mov    %cx,-0x434(%ebp)
409220:	c7 85 dc fb ff ff 01 	movl   $0x1,-0x424(%ebp)
409227:	00 00 00
40922a:	8b bd d8 fb ff ff    	mov    -0x428(%ebp),%edi
409230:	2b bd ec fb ff ff    	sub    -0x414(%ebp),%edi
409236:	2b bd dc fb ff ff    	sub    -0x424(%ebp),%edi
40923c:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
409242:	a8 0c                	test   $0xc,%al
409244:	75 24                	jne    0x40926a
409246:	eb 1e                	jmp    0x409266
409248:	8b 85 d4 fb ff ff    	mov    -0x42c(%ebp),%eax
40924e:	6a 20                	push   $0x20
409250:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
409256:	4f                   	dec    %edi
409257:	e8 26 b3 ff ff       	call   0x404582
40925c:	83 bd e8 fb ff ff ff 	cmpl   $0xffffffff,-0x418(%ebp)
409263:	59                   	pop    %ecx
409264:	74 04                	je     0x40926a
409266:	85 ff                	test   %edi,%edi
409268:	7f de                	jg     0x409248
40926a:	ff b5 dc fb ff ff    	push   -0x424(%ebp)
409270:	8b bd 9c fb ff ff    	mov    -0x464(%ebp),%edi
409276:	8b 9d d4 fb ff ff    	mov    -0x42c(%ebp),%ebx
40927c:	8d 85 cc fb ff ff    	lea    -0x434(%ebp),%eax
409282:	50                   	push   %eax
409283:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
409289:	e8 87 f5 ff ff       	call   0x408815
40928e:	f6 85 f8 fb ff ff 08 	testb  $0x8,-0x408(%ebp)
409295:	59                   	pop    %ecx
409296:	59                   	pop    %ecx
409297:	74 2f                	je     0x4092c8
409299:	f6 85 f8 fb ff ff 04 	testb  $0x4,-0x408(%ebp)
4092a0:	75 26                	jne    0x4092c8
4092a2:	8b bd e0 fb ff ff    	mov    -0x420(%ebp),%edi
4092a8:	eb 1a                	jmp    0x4092c4
4092aa:	6a 30                	push   $0x30
4092ac:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
4092b2:	8b c3                	mov    %ebx,%eax
4092b4:	4f                   	dec    %edi
4092b5:	e8 c8 b2 ff ff       	call   0x404582
4092ba:	83 bd e8 fb ff ff ff 	cmpl   $0xffffffff,-0x418(%ebp)
4092c1:	59                   	pop    %ecx
4092c2:	74 04                	je     0x4092c8
4092c4:	85 ff                	test   %edi,%edi
4092c6:	7f e2                	jg     0x4092aa
4092c8:	83 bd d0 fb ff ff 00 	cmpl   $0x0,-0x430(%ebp)
4092cf:	75 6b                	jne    0x40933c
4092d1:	8b 9d ec fb ff ff    	mov    -0x414(%ebp),%ebx
4092d7:	85 db                	test   %ebx,%ebx
4092d9:	7e 61                	jle    0x40933c
4092db:	8b bd f0 fb ff ff    	mov    -0x410(%ebp),%edi
4092e1:	8d 85 b4 fb ff ff    	lea    -0x44c(%ebp),%eax
4092e7:	50                   	push   %eax
4092e8:	8b 85 b4 fb ff ff    	mov    -0x44c(%ebp),%eax
4092ee:	ff b0 ac 00 00 00    	push   0xac(%eax)
4092f4:	8d 85 a4 fb ff ff    	lea    -0x45c(%ebp),%eax
4092fa:	57                   	push   %edi
4092fb:	50                   	push   %eax
4092fc:	4b                   	dec    %ebx
4092fd:	e8 e9 18 00 00       	call   0x40abeb
409302:	83 c4 10             	add    $0x10,%esp
409305:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
40930b:	85 c0                	test   %eax,%eax
40930d:	7e 24                	jle    0x409333
40930f:	ff b5 a4 fb ff ff    	push   -0x45c(%ebp)
409315:	8b 85 d4 fb ff ff    	mov    -0x42c(%ebp),%eax
40931b:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
409321:	e8 5c b2 ff ff       	call   0x404582
409326:	03 bd 8c fb ff ff    	add    -0x474(%ebp),%edi
40932c:	59                   	pop    %ecx
40932d:	85 db                	test   %ebx,%ebx
40932f:	7f b0                	jg     0x4092e1
409331:	eb 2e                	jmp    0x409361
409333:	83 8d e8 fb ff ff ff 	orl    $0xffffffff,-0x418(%ebp)
40933a:	eb 25                	jmp    0x409361
40933c:	ff b5 ec fb ff ff    	push   -0x414(%ebp)
409342:	8b bd 9c fb ff ff    	mov    -0x464(%ebp),%edi
409348:	ff b5 f0 fb ff ff    	push   -0x410(%ebp)
40934e:	8b 9d d4 fb ff ff    	mov    -0x42c(%ebp),%ebx
409354:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
40935a:	e8 b6 f4 ff ff       	call   0x408815
40935f:	59                   	pop    %ecx
409360:	59                   	pop    %ecx
409361:	83 bd e8 fb ff ff 00 	cmpl   $0x0,-0x418(%ebp)
409368:	7c 33                	jl     0x40939d
40936a:	f6 85 f8 fb ff ff 04 	testb  $0x4,-0x408(%ebp)
409371:	74 2a                	je     0x40939d
409373:	8b bd e0 fb ff ff    	mov    -0x420(%ebp),%edi
409379:	eb 1e                	jmp    0x409399
40937b:	8b 85 d4 fb ff ff    	mov    -0x42c(%ebp),%eax
409381:	6a 20                	push   $0x20
409383:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
409389:	4f                   	dec    %edi
40938a:	e8 f3 b1 ff ff       	call   0x404582
40938f:	83 bd e8 fb ff ff ff 	cmpl   $0xffffffff,-0x418(%ebp)
409396:	59                   	pop    %ecx
409397:	74 04                	je     0x40939d
409399:	85 ff                	test   %edi,%edi
40939b:	7f de                	jg     0x40937b
40939d:	83 bd a8 fb ff ff 00 	cmpl   $0x0,-0x458(%ebp)
4093a4:	74 13                	je     0x4093b9
4093a6:	ff b5 a8 fb ff ff    	push   -0x458(%ebp)
4093ac:	e8 ba 8b ff ff       	call   0x401f6b
4093b1:	83 a5 a8 fb ff ff 00 	andl   $0x0,-0x458(%ebp)