408f97:	83 44 24 04 d4       	addl   $0xffffffd4,0x4(%esp)
408f9c:	e9 63 d9 ff ff       	jmp    0x406904
408fa1:	83 44 24 04 d4       	addl   $0xffffffd4,0x4(%esp)
408fa6:	e9 6d d9 ff ff       	jmp    0x406918
408fab:	cc                   	int3
408fac:	8d 8f 40 00 97 8f    	lea    -0x7068ffc0(%edi),%ecx
408fb2:	40                   	inc    %eax
408fb3:	00 a1 8f 40 00 6d    	add    %ah,0x6d00408f(%ecx)
408fb9:	8f 40 00             	pop    0x0(%eax)
408fbc:	75 8f                	jne    0x408f4d
408fbe:	40                   	inc    %eax
408fbf:	00 7d 8f             	add    %bh,-0x71(%ebp)
408fc2:	40                   	inc    %eax
408fc3:	00 85 8f 40 00 01    	add    %al,0x100408f(%ebp)
408fd9:	00 00                	add    %al,(%eax)
408fdb:	00 ac 8f 40 00 2c 00 	add    %ch,0x2c0040(%edi,%ecx,4)
408fe2:	00 00                	add    %al,(%eax)
408fe4:	00 00                	add    %al,(%eax)
408fe6:	00 00                	add    %al,(%eax)
408fe8:	34 90                	xor    $0x90,%al
408fea:	40                   	inc    %eax
408feb:	00 c8                	add    %cl,%al
408fed:	8f 40 00             	pop    0x0(%eax)
409008:	34 90                	xor    $0x90,%al
40900a:	40                   	inc    %eax
40900b:	00 30                	add    %dh,(%eax)
40900d:	00 00                	add    %al,(%eax)
40900f:	00 08                	add    %cl,(%eax)
409011:	12 40 00             	adc    0x0(%eax),%al
409014:	c0 3c 40 00          	sarb   $0x0,(%eax,%eax,2)
409018:	b0 68                	mov    $0x68,%al
40901a:	40                   	inc    %eax
40901b:	00 bc 68 40 00 d4 3c 	add    %bh,0x3cd40040(%eax,%ebp,2)
409022:	40                   	inc    %eax
409023:	00 c8                	add    %cl,%al
409025:	3c 40                	cmp    $0x40,%al
409027:	00 cc                	add    %cl,%ah
409029:	68 40 00 2c 3a       	push   $0x3a2c0040
40902e:	40                   	inc    %eax
40902f:	00 f0                	add    %dh,%al
409031:	e6 40                	out    %al,$0x40
409033:	00 24 54             	add    %ah,(%esp,%edx,2)
409036:	4d                   	dec    %ebp
409037:	75 6c                	jne    0x4090a5
409039:	74 69                	je     0x4090a4
40903b:	52                   	push   %edx
40903c:	65 61                	gs popa
40903e:	64 45                	fs inc %ebp
409040:	78 63                	js     0x4090a5
409042:	6c                   	insb   (%dx),%es:(%edi)
409043:	75 73                	jne    0x4090b8
409045:	69 76 65 57 72 69 74 	imul   $0x74697257,0x65(%esi),%esi
40904c:	65 53                	gs push %ebx
40904e:	79 6e                	jns    0x4090be
409050:	63 68 72             	arpl   %ebp,0x72(%eax)
409053:	6f                   	outsl  %ds:(%esi),(%dx)
409054:	6e                   	outsb  %ds:(%esi),(%dx)
409055:	69 7a 65 72 8d 40 00 	imul   $0x408d72,0x65(%edx),%edi
40905c:	55                   	push   %ebp
40905d:	8b ec                	mov    %esp,%ebp
40905f:	53                   	push   %ebx
409060:	89 d3                	mov    %edx,%ebx
409062:	89 c2                	mov    %eax,%edx
409064:	c1 ea 10             	shr    $0x10,%edx
409067:	66 f7 f3             	div    %bx
40906a:	8b 5d 08             	mov    0x8(%ebp),%ebx
40906d:	66 89 01             	mov    %ax,(%ecx)
409070:	66 89 13             	mov    %dx,(%ebx)
409073:	5b                   	pop    %ebx
409074:	5d                   	pop    %ebp
409075:	c2 04 00             	ret    $0x4
409078:	53                   	push   %ebx
409079:	8b d8                	mov    %eax,%ebx
40907b:	8b cb                	mov    %ebx,%ecx
40907d:	b2 01                	mov    $0x1,%dl
40907f:	a1 24 8b 40 00       	mov    0x408b24,%eax
409084:	e8 7b 3e 00 00       	call   0x40cf04
409089:	e8 b6 b1 ff ff       	call   0x404244
40908e:	5b                   	pop    %ebx
40908f:	c3                   	ret
409090:	53                   	push   %ebx
409091:	56                   	push   %esi
409092:	57                   	push   %edi
409093:	8b f9                	mov    %ecx,%edi
409095:	8b f2                	mov    %edx,%esi
409097:	8b d8                	mov    %eax,%ebx
409099:	56                   	push   %esi
40909a:	57                   	push   %edi
40909b:	8b cb                	mov    %ebx,%ecx
40909d:	b2 01                	mov    $0x1,%dl
40909f:	a1 24 8b 40 00       	mov    0x408b24,%eax
4090a4:	e8 97 3e 00 00       	call   0x40cf40
4090a9:	e8 96 b1 ff ff       	call   0x404244
4090ae:	5f                   	pop    %edi
4090af:	5e                   	pop    %esi
4090b0:	5b                   	pop    %ebx
4090b1:	c3                   	ret
4090b2:	8b c0                	mov    %eax,%eax
4090b4:	53                   	push   %ebx
4090b5:	56                   	push   %esi
4090b6:	8b d8                	mov    %eax,%ebx
4090b8:	8b c3                	mov    %ebx,%eax
4090ba:	e8 ed 96 ff ff       	call   0x4027ac
4090bf:	8b f0                	mov    %eax,%esi
4090c1:	8b c6                	mov    %esi,%eax
4090c3:	33 c9                	xor    %ecx,%ecx
4090c5:	8b d3                	mov    %ebx,%edx
4090c7:	e8 74 a1 ff ff       	call   0x403240
4090cc:	8b c6                	mov    %esi,%eax
4090ce:	5e                   	pop    %esi
4090cf:	5b                   	pop    %ebx
4090d0:	c3                   	ret
4090d1:	8d 40 00             	lea    0x0(%eax),%eax
4090d4:	53                   	push   %ebx
4090d5:	a1 48 a1 68 00       	mov    0x68a148,%eax
4090da:	8b 10                	mov    (%eax),%edx
4090dc:	89 15 48 a1 68 00    	mov    %edx,0x68a148
4090e2:	8b 15 50 6c 6a 00    	mov    0x6a6c50,%edx
4090e8:	8b 48 04             	mov    0x4(%eax),%ecx
4090eb:	89 0a                	mov    %ecx,(%edx)
4090ed:	8b 58 08             	mov    0x8(%eax),%ebx
4090f0:	ba 0c 00 00 00       	mov    $0xc,%edx
4090f5:	e8 d2 96 ff ff       	call   0x4027cc
4090fa:	ff d3                	call   *%ebx
4090fc:	5b                   	pop    %ebx
4090fd:	c3                   	ret
4090fe:	8b c0                	mov    %eax,%eax
409100:	53                   	push   %ebx
409101:	8b d8                	mov    %eax,%ebx
409103:	b8 0c 00 00 00       	mov    $0xc,%eax
409108:	e8 9f 96 ff ff       	call   0x4027ac
40910d:	8b 15 48 a1 68 00    	mov    0x68a148,%edx
409113:	89 10                	mov    %edx,(%eax)
409115:	8b 15 50 6c 6a 00    	mov    0x6a6c50,%edx
40911b:	8b 12                	mov    (%edx),%edx
40911d:	89 50 04             	mov    %edx,0x4(%eax)
409120:	89 58 08             	mov    %ebx,0x8(%eax)
409123:	a3 48 a1 68 00       	mov    %eax,0x68a148
409128:	a1 50 6c 6a 00       	mov    0x6a6c50,%eax
40912d:	c7 00 d4 90 40 00    	movl   $0x4090d4,(%eax)
409133:	5b                   	pop    %ebx
409134:	c3                   	ret
409135:	8d 40 00             	lea    0x0(%eax),%eax
409138:	53                   	push   %ebx
409139:	56                   	push   %esi
40913a:	57                   	push   %edi
40913b:	8b fa                	mov    %edx,%edi
40913d:	8b f0                	mov    %eax,%esi
40913f:	8b c6                	mov    %esi,%eax
409141:	e8 da b9 ff ff       	call   0x404b20
409146:	8b d8                	mov    %eax,%ebx
409148:	8b c7                	mov    %edi,%eax
40914a:	8b d3                	mov    %ebx,%edx
40914c:	e8 53 bd ff ff       	call   0x404ea4
409151:	8b d6                	mov    %esi,%edx
409153:	8b 37                	mov    (%edi),%esi
409155:	85 db                	test   %ebx,%ebx
409157:	74 15                	je     0x40916e
409159:	8a 02                	mov    (%edx),%al
40915b:	3c 61                	cmp    $0x61,%al
40915d:	72 06                	jb     0x409165
40915f:	3c 7a                	cmp    $0x7a,%al
409161:	77 02                	ja     0x409165
409163:	2c 20                	sub    $0x20,%al
409165:	88 06                	mov    %al,(%esi)
409167:	42                   	inc    %edx
409168:	46                   	inc    %esi
409169:	4b                   	dec    %ebx
40916a:	85 db                	test   %ebx,%ebx
40916c:	75 eb                	jne    0x409159
40916e:	5f                   	pop    %edi
40916f:	5e                   	pop    %esi
409170:	5b                   	pop    %ebx
409171:	c3                   	ret
409172:	8b c0                	mov    %eax,%eax
409174:	53                   	push   %ebx
409175:	56                   	push   %esi
409176:	57                   	push   %edi
409177:	8b fa                	mov    %edx,%edi
409179:	8b f0                	mov    %eax,%esi
40917b:	8b c6                	mov    %esi,%eax
40917d:	e8 9e b9 ff ff       	call   0x404b20
409182:	8b d8                	mov    %eax,%ebx
409184:	8b c7                	mov    %edi,%eax
409186:	8b d3                	mov    %ebx,%edx
409188:	e8 17 bd ff ff       	call   0x404ea4
40918d:	8b d6                	mov    %esi,%edx
40918f:	8b 37                	mov    (%edi),%esi
409191:	85 db                	test   %ebx,%ebx
409193:	74 15                	je     0x4091aa
409195:	8a 02                	mov    (%edx),%al
409197:	3c 41                	cmp    $0x41,%al
409199:	72 06                	jb     0x4091a1
40919b:	3c 5a                	cmp    $0x5a,%al
40919d:	77 02                	ja     0x4091a1
40919f:	04 20                	add    $0x20,%al
4091a1:	88 06                	mov    %al,(%esi)
4091a3:	42                   	inc    %edx
4091a4:	46                   	inc    %esi
4091a5:	4b                   	dec    %ebx
4091a6:	85 db                	test   %ebx,%ebx
4091a8:	75 eb                	jne    0x409195
4091aa:	5f                   	pop    %edi
4091ab:	5e                   	pop    %esi
4091ac:	5b                   	pop    %ebx
4091ad:	c3                   	ret
4091ae:	8b c0                	mov    %eax,%eax
4091b0:	56                   	push   %esi
4091b1:	57                   	push   %edi
4091b2:	89 c6                	mov    %eax,%esi
4091b4:	89 d7                	mov    %edx,%edi
4091b6:	09 c0                	or     %eax,%eax
4091b8:	74 03                	je     0x4091bd
4091ba:	8b 40 fc             	mov    -0x4(%eax),%eax
4091bd:	09 d2                	or     %edx,%edx
4091bf:	74 03                	je     0x4091c4
4091c1:	8b 52 fc             	mov    -0x4(%edx),%edx
4091c4:	89 c1                	mov    %eax,%ecx
4091c6:	39 d1                	cmp    %edx,%ecx
4091c8:	76 02                	jbe    0x4091cc
4091ca:	89 d1                	mov    %edx,%ecx
4091cc:	39 c9                	cmp    %ecx,%ecx
4091ce:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
4091d0:	74 08                	je     0x4091da
4091d2:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
4091d6:	0f b6 57 ff          	movzbl -0x1(%edi),%edx
4091da:	29 d0                	sub    %edx,%eax
4091dc:	5f                   	pop    %edi
4091dd:	5e                   	pop    %esi
4091de:	c3                   	ret
4091df:	90                   	nop
4091e0:	56                   	push   %esi
4091e1:	57                   	push   %edi
4091e2:	89 c6                	mov    %eax,%esi
4091e4:	89 d7                	mov    %edx,%edi
4091e6:	89 ca                	mov    %ecx,%edx
4091e8:	31 c0                	xor    %eax,%eax
4091ea:	83 e2 03             	and    $0x3,%edx
4091ed:	d1 e9                	shr    $1,%ecx
4091ef:	d1 e9                	shr    $1,%ecx
4091f1:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
4091f3:	75 07                	jne    0x4091fc
4091f5:	89 d1                	mov    %edx,%ecx
4091f7:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
4091f9:	75 01                	jne    0x4091fc
4091fb:	40                   	inc    %eax
4091fc:	5f                   	pop    %edi
4091fd:	5e                   	pop    %esi
4091fe:	c3                   	ret
4091ff:	90                   	nop
409200:	56                   	push   %esi
409201:	57                   	push   %edi
409202:	53                   	push   %ebx
409203:	89 c6                	mov    %eax,%esi
409205:	89 d7                	mov    %edx,%edi
409207:	09 c0                	or     %eax,%eax
409209:	74 03                	je     0x40920e
40920b:	8b 40 fc             	mov    -0x4(%eax),%eax
40920e:	09 d2                	or     %edx,%edx
409210:	74 03                	je     0x409215
409212:	8b 52 fc             	mov    -0x4(%edx),%edx
409215:	89 c1                	mov    %eax,%ecx
409217:	39 d1                	cmp    %edx,%ecx
409219:	76 02                	jbe    0x40921d
40921b:	89 d1                	mov    %edx,%ecx
40921d:	39 c9                	cmp    %ecx,%ecx
40921f:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
409221:	74 2a                	je     0x40924d
409223:	8a 5e ff             	mov    -0x1(%esi),%bl
409226:	80 fb 61             	cmp    $0x61,%bl
409229:	72 08                	jb     0x409233
40922b:	80 fb 7a             	cmp    $0x7a,%bl
40922e:	77 03                	ja     0x409233
409230:	80 eb 20             	sub    $0x20,%bl
409233:	8a 7f ff             	mov    -0x1(%edi),%bh
409236:	80 ff 61             	cmp    $0x61,%bh
409239:	72 08                	jb     0x409243
40923b:	80 ff 7a             	cmp    $0x7a,%bh
40923e:	77 03                	ja     0x409243
409240:	80 ef 20             	sub    $0x20,%bh
409243:	38 fb                	cmp    %bh,%bl
409245:	74 d8                	je     0x40921f
409247:	0f b6 c3             	movzbl %bl,%eax
40924a:	0f b6 d7             	movzbl %bh,%edx
40924d:	29 d0                	sub    %edx,%eax
40924f:	5b                   	pop    %ebx
409250:	5f                   	pop    %edi
409251:	5e                   	pop    %esi
409252:	c3                   	ret
409253:	90                   	nop
409254:	39 d0                	cmp    %edx,%eax
409256:	74 19                	je     0x409271
409258:	09 c0                	or     %eax,%eax
40925a:	74 17                	je     0x409273
40925c:	09 d2                	or     %edx,%edx
40925e:	74 14                	je     0x409274
409260:	8b 48 fc             	mov    -0x4(%eax),%ecx
409263:	3b 4a fc             	cmp    -0x4(%edx),%ecx
409266:	75 0c                	jne    0x409274
409268:	e8 93 ff ff ff       	call   0x409200
40926d:	85 c0                	test   %eax,%eax
40926f:	75 03                	jne    0x409274
409271:	b0 01                	mov    $0x1,%al
409273:	c3                   	ret
409274:	31 c0                	xor    %eax,%eax
409276:	c3                   	ret
409277:	90                   	nop
409278:	53                   	push   %ebx
409279:	56                   	push   %esi
40927a:	57                   	push   %edi
40927b:	8b fa                	mov    %edx,%edi
40927d:	8b f0                	mov    %eax,%esi
40927f:	8b c6                	mov    %esi,%eax
409281:	e8 9a b8 ff ff       	call   0x404b20
409286:	8b d8                	mov    %eax,%ebx
409288:	8b c6                	mov    %esi,%eax
40928a:	e8 89 ba ff ff       	call   0x404d18
40928f:	8b d0                	mov    %eax,%edx
409291:	8b c7                	mov    %edi,%eax
409293:	8b cb                	mov    %ebx,%ecx
409295:	e8 be b6 ff ff       	call   0x404958
40929a:	85 db                	test   %ebx,%ebx
40929c:	7e 09                	jle    0x4092a7
40929e:	53                   	push   %ebx
40929f:	8b 07                	mov    (%edi),%eax
4092a1:	50                   	push   %eax
4092a2:	e8 99 e5 ff ff       	call   0x407840
4092a7:	5f                   	pop    %edi
4092a8:	5e                   	pop    %esi
4092a9:	5b                   	pop    %ebx
4092aa:	c3                   	ret
4092ab:	90                   	nop
4092ac:	53                   	push   %ebx
4092ad:	56                   	push   %esi
4092ae:	57                   	push   %edi
4092af:	8b fa                	mov    %edx,%edi
4092b1:	8b f0                	mov    %eax,%esi
4092b3:	8b c6                	mov    %esi,%eax
4092b5:	e8 66 b8 ff ff       	call   0x404b20
4092ba:	8b d8                	mov    %eax,%ebx
4092bc:	8b c6                	mov    %esi,%eax
4092be:	e8 55 ba ff ff       	call   0x404d18
4092c3:	8b d0                	mov    %eax,%edx
4092c5:	8b c7                	mov    %edi,%eax
4092c7:	8b cb                	mov    %ebx,%ecx
4092c9:	e8 8a b6 ff ff       	call   0x404958
4092ce:	85 db                	test   %ebx,%ebx
4092d0:	7e 09                	jle    0x4092db
4092d2:	53                   	push   %ebx
4092d3:	8b 07                	mov    (%edi),%eax