4030f0:	53                   	push   %ebx
4030f1:	56                   	push   %esi
4030f2:	8b d8                	mov    %eax,%ebx
4030f4:	33 f6                	xor    %esi,%esi
4030f6:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
4030fa:	66 3d b1 d7          	cmp    $0xd7b1,%ax
4030fe:	72 2f                	jb     0x40312f
403100:	66 3d b3 d7          	cmp    $0xd7b3,%ax
403104:	77 29                	ja     0x40312f
403106:	66 25 b2 d7          	and    $0xd7b2,%ax
40310a:	66 3d b2 d7          	cmp    $0xd7b2,%ax
40310e:	75 07                	jne    0x403117
403110:	8b c3                	mov    %ebx,%eax
403112:	ff 53 1c             	call   *0x1c(%ebx)
403115:	8b f0                	mov    %eax,%esi
403117:	85 f6                	test   %esi,%esi
403119:	75 07                	jne    0x403122
40311b:	8b c3                	mov    %ebx,%eax
40311d:	ff 53 24             	call   *0x24(%ebx)
403120:	8b f0                	mov    %eax,%esi
403122:	85 f6                	test   %esi,%esi
403124:	74 1b                	je     0x403141
403126:	8b c6                	mov    %esi,%eax
403128:	e8 4b fd ff ff       	call   0x402e78
40312d:	eb 12                	jmp    0x403141
40312f:	81 fb 50 80 4a 00    	cmp    $0x4a8050,%ebx
403135:	74 0a                	je     0x403141
403137:	b8 67 00 00 00       	mov    $0x67,%eax
40313c:	e8 37 fd ff ff       	call   0x402e78
403141:	8b c6                	mov    %esi,%eax
403143:	5e                   	pop    %esi
403144:	5b                   	pop    %ebx
403145:	c3                   	ret
403146:	8b c0                	mov    %eax,%eax
403148:	53                   	push   %ebx
403149:	0f b6 1a             	movzbl (%edx),%ebx
40314c:	3a cb                	cmp    %bl,%cl
40314e:	76 02                	jbe    0x403152
403150:	8b cb                	mov    %ebx,%ecx
403152:	88 08                	mov    %cl,(%eax)
403154:	42                   	inc    %edx
403155:	40                   	inc    %eax
403156:	0f b6 c9             	movzbl %cl,%ecx
403159:	92                   	xchg   %eax,%edx
40315a:	e8 8d fd ff ff       	call   0x402eec
40315f:	5b                   	pop    %ebx
403160:	c3                   	ret
403161:	8d 40 00             	lea    0x0(%eax),%eax
403164:	53                   	push   %ebx
403165:	56                   	push   %esi
403166:	57                   	push   %edi
403167:	89 c6                	mov    %eax,%esi
403169:	89 d7                	mov    %edx,%edi
40316b:	31 c0                	xor    %eax,%eax
40316d:	31 d2                	xor    %edx,%edx
40316f:	8a 06                	mov    (%esi),%al
403171:	8a 17                	mov    (%edi),%dl
403173:	46                   	inc    %esi
403174:	47                   	inc    %edi
403175:	29 d0                	sub    %edx,%eax
403177:	77 02                	ja     0x40317b
403179:	01 c2                	add    %eax,%edx
40317b:	52                   	push   %edx
40317c:	c1 ea 02             	shr    $0x2,%edx
40317f:	74 26                	je     0x4031a7
403181:	8b 0e                	mov    (%esi),%ecx
403183:	8b 1f                	mov    (%edi),%ebx
403185:	39 d9                	cmp    %ebx,%ecx
403187:	75 44                	jne    0x4031cd
403189:	4a                   	dec    %edx
40318a:	74 15                	je     0x4031a1
40318c:	8b 4e 04             	mov    0x4(%esi),%ecx
40318f:	8b 5f 04             	mov    0x4(%edi),%ebx
403192:	39 d9                	cmp    %ebx,%ecx
403194:	75 37                	jne    0x4031cd
403196:	83 c6 08             	add    $0x8,%esi
403199:	83 c7 08             	add    $0x8,%edi
40319c:	4a                   	dec    %edx
40319d:	75 e2                	jne    0x403181
40319f:	eb 06                	jmp    0x4031a7
4031a1:	83 c6 04             	add    $0x4,%esi
4031a4:	83 c7 04             	add    $0x4,%edi
4031a7:	5a                   	pop    %edx
4031a8:	83 e2 03             	and    $0x3,%edx
4031ab:	74 1c                	je     0x4031c9
4031ad:	8a 0e                	mov    (%esi),%cl
4031af:	3a 0f                	cmp    (%edi),%cl
4031b1:	75 2f                	jne    0x4031e2
4031b3:	4a                   	dec    %edx
4031b4:	74 13                	je     0x4031c9
4031b6:	8a 4e 01             	mov    0x1(%esi),%cl
4031b9:	3a 4f 01             	cmp    0x1(%edi),%cl
4031bc:	75 24                	jne    0x4031e2
4031be:	4a                   	dec    %edx
4031bf:	74 08                	je     0x4031c9
4031c1:	8a 4e 02             	mov    0x2(%esi),%cl
4031c4:	3a 4f 02             	cmp    0x2(%edi),%cl
4031c7:	75 19                	jne    0x4031e2
4031c9:	01 c0                	add    %eax,%eax
4031cb:	eb 15                	jmp    0x4031e2
4031cd:	5a                   	pop    %edx
4031ce:	38 d9                	cmp    %bl,%cl
4031d0:	75 10                	jne    0x4031e2
4031d2:	38 fd                	cmp    %bh,%ch
4031d4:	75 0c                	jne    0x4031e2
4031d6:	c1 e9 10             	shr    $0x10,%ecx
4031d9:	c1 eb 10             	shr    $0x10,%ebx
4031dc:	38 d9                	cmp    %bl,%cl
4031de:	75 02                	jne    0x4031e2
4031e0:	38 fd                	cmp    %bh,%ch
4031e2:	5f                   	pop    %edi
4031e3:	5e                   	pop    %esi
4031e4:	5b                   	pop    %ebx
4031e5:	c3                   	ret
4031e6:	8b c0                	mov    %eax,%eax
4031e8:	53                   	push   %ebx
4031e9:	56                   	push   %esi
4031ea:	51                   	push   %ecx
4031eb:	89 ce                	mov    %ecx,%esi
4031ed:	c1 ee 02             	shr    $0x2,%esi
4031f0:	74 26                	je     0x403218
4031f2:	8b 08                	mov    (%eax),%ecx
4031f4:	8b 1a                	mov    (%edx),%ebx
4031f6:	39 d9                	cmp    %ebx,%ecx
4031f8:	75 45                	jne    0x40323f
4031fa:	4e                   	dec    %esi
4031fb:	74 15                	je     0x403212
4031fd:	8b 48 04             	mov    0x4(%eax),%ecx
403200:	8b 5a 04             	mov    0x4(%edx),%ebx
403203:	39 d9                	cmp    %ebx,%ecx
403205:	75 38                	jne    0x40323f
403207:	83 c0 08             	add    $0x8,%eax
40320a:	83 c2 08             	add    $0x8,%edx
40320d:	4e                   	dec    %esi
40320e:	75 e2                	jne    0x4031f2
403210:	eb 06                	jmp    0x403218
403212:	83 c0 04             	add    $0x4,%eax
403215:	83 c2 04             	add    $0x4,%edx
403218:	5e                   	pop    %esi
403219:	83 e6 03             	and    $0x3,%esi
40321c:	74 36                	je     0x403254
40321e:	8a 08                	mov    (%eax),%cl
403220:	3a 0a                	cmp    (%edx),%cl
403222:	75 30                	jne    0x403254
403224:	4e                   	dec    %esi
403225:	74 13                	je     0x40323a
403227:	8a 48 01             	mov    0x1(%eax),%cl
40322a:	3a 4a 01             	cmp    0x1(%edx),%cl
40322d:	75 25                	jne    0x403254
40322f:	4e                   	dec    %esi
403230:	74 08                	je     0x40323a
403232:	8a 48 02             	mov    0x2(%eax),%cl
403235:	3a 4a 02             	cmp    0x2(%edx),%cl
403238:	75 1a                	jne    0x403254
40323a:	31 c0                	xor    %eax,%eax
40323c:	5e                   	pop    %esi
40323d:	5b                   	pop    %ebx
40323e:	c3                   	ret
40323f:	5e                   	pop    %esi
403240:	38 d9                	cmp    %bl,%cl
403242:	75 10                	jne    0x403254
403244:	38 fd                	cmp    %bh,%ch
403246:	75 0c                	jne    0x403254
403248:	c1 e9 10             	shr    $0x10,%ecx
40324b:	c1 eb 10             	shr    $0x10,%ebx
40324e:	38 d9                	cmp    %bl,%cl
403250:	75 02                	jne    0x403254
403252:	38 fd                	cmp    %bh,%ch
403254:	5e                   	pop    %esi
403255:	5b                   	pop    %ebx
403256:	c3                   	ret
403257:	90                   	nop
403258:	83 fa 20             	cmp    $0x20,%edx
40325b:	88 cd                	mov    %cl,%ch
40325d:	7c 3d                	jl     0x40329c
40325f:	66 89 08             	mov    %cx,(%eax)
403262:	66 89 48 02          	mov    %cx,0x2(%eax)
403266:	66 89 48 04          	mov    %cx,0x4(%eax)
40326a:	66 89 48 06          	mov    %cx,0x6(%eax)
40326e:	83 ea 10             	sub    $0x10,%edx
403271:	dd 00                	fldl   (%eax)
403273:	dd 14 02             	fstl   (%edx,%eax,1)
403276:	dd 54 02 08          	fstl   0x8(%edx,%eax,1)
40327a:	89 c1                	mov    %eax,%ecx
40327c:	83 e1 07             	and    $0x7,%ecx
40327f:	83 e9 08             	sub    $0x8,%ecx
403282:	29 c8                	sub    %ecx,%eax
403284:	01 ca                	add    %ecx,%edx
403286:	01 d0                	add    %edx,%eax
403288:	f7 da                	neg    %edx
40328a:	dd 14 02             	fstl   (%edx,%eax,1)
40328d:	dd 54 02 08          	fstl   0x8(%edx,%eax,1)
403291:	83 c2 10             	add    $0x10,%edx
403294:	7c f4                	jl     0x40328a
403296:	dd c0                	ffree  %st(0)
403298:	c3                   	ret
403299:	90                   	nop
40329a:	90                   	nop
40329b:	90                   	nop
40329c:	85 d2                	test   %edx,%edx
40329e:	7e 50                	jle    0x4032f0
4032a0:	88 4c 02 ff          	mov    %cl,-0x1(%edx,%eax,1)
4032a4:	83 e2 fe             	and    $0xfffffffe,%edx
4032a7:	f7 da                	neg    %edx
4032a9:	8d 14 55 f0 32 40 00 	lea    0x4032f0(,%edx,2),%edx
4032b0:	ff e2                	jmp    *%edx
4032b2:	90                   	nop
4032b3:	90                   	nop
4032b4:	66 89 48 1c          	mov    %cx,0x1c(%eax)
4032b8:	66 89 48 1a          	mov    %cx,0x1a(%eax)
4032bc:	66 89 48 18          	mov    %cx,0x18(%eax)
4032c0:	66 89 48 16          	mov    %cx,0x16(%eax)
4032c4:	66 89 48 14          	mov    %cx,0x14(%eax)
4032c8:	66 89 48 12          	mov    %cx,0x12(%eax)
4032cc:	66 89 48 10          	mov    %cx,0x10(%eax)
4032d0:	66 89 48 0e          	mov    %cx,0xe(%eax)
4032d4:	66 89 48 0c          	mov    %cx,0xc(%eax)
4032d8:	66 89 48 0a          	mov    %cx,0xa(%eax)
4032dc:	66 89 48 08          	mov    %cx,0x8(%eax)
4032e0:	66 89 48 06          	mov    %cx,0x6(%eax)
4032e4:	66 89 48 04          	mov    %cx,0x4(%eax)
4032e8:	66 89 48 02          	mov    %cx,0x2(%eax)
4032ec:	66 89 08             	mov    %cx,(%eax)
4032ef:	c3                   	ret
4032f0:	c3                   	ret
4032f1:	8d 40 00             	lea    0x0(%eax),%eax
4032f4:	53                   	push   %ebx
4032f5:	56                   	push   %esi
4032f6:	57                   	push   %edi
4032f7:	89 c6                	mov    %eax,%esi
4032f9:	50                   	push   %eax
4032fa:	85 c0                	test   %eax,%eax
4032fc:	74 6c                	je     0x40336a
4032fe:	31 c0                	xor    %eax,%eax
403300:	31 db                	xor    %ebx,%ebx
403302:	bf cc cc cc 0c       	mov    $0xccccccc,%edi
403307:	8a 1e                	mov    (%esi),%bl
403309:	46                   	inc    %esi
40330a:	80 fb 20             	cmp    $0x20,%bl
40330d:	74 f8                	je     0x403307
40330f:	b5 00                	mov    $0x0,%ch
403311:	80 fb 2d             	cmp    $0x2d,%bl
403314:	74 62                	je     0x403378
403316:	80 fb 2b             	cmp    $0x2b,%bl
403319:	74 5f                	je     0x40337a
40331b:	80 fb 24             	cmp    $0x24,%bl
40331e:	74 5f                	je     0x40337f
403320:	80 fb 78             	cmp    $0x78,%bl
403323:	74 5a                	je     0x40337f
403325:	80 fb 58             	cmp    $0x58,%bl
403328:	74 55                	je     0x40337f
40332a:	80 fb 30             	cmp    $0x30,%bl
40332d:	75 13                	jne    0x403342
40332f:	8a 1e                	mov    (%esi),%bl
403331:	46                   	inc    %esi
403332:	80 fb 78             	cmp    $0x78,%bl
403335:	74 48                	je     0x40337f
403337:	80 fb 58             	cmp    $0x58,%bl
40333a:	74 43                	je     0x40337f
40333c:	84 db                	test   %bl,%bl
40333e:	74 20                	je     0x403360
403340:	eb 04                	jmp    0x403346
403342:	84 db                	test   %bl,%bl
403344:	74 2d                	je     0x403373
403346:	80 eb 30             	sub    $0x30,%bl
403349:	80 fb 09             	cmp    $0x9,%bl
40334c:	77 25                	ja     0x403373
40334e:	39 f8                	cmp    %edi,%eax
403350:	77 21                	ja     0x403373
403352:	8d 04 80             	lea    (%eax,%eax,4),%eax
403355:	01 c0                	add    %eax,%eax
403357:	01 d8                	add    %ebx,%eax
403359:	8a 1e                	mov    (%esi),%bl
40335b:	46                   	inc    %esi
40335c:	84 db                	test   %bl,%bl
40335e:	75 e6                	jne    0x403346
403360:	fe cd                	dec    %ch
403362:	74 09                	je     0x40336d
403364:	85 c0                	test   %eax,%eax
403366:	7d 54                	jge    0x4033bc
403368:	eb 09                	jmp    0x403373
40336a:	46                   	inc    %esi
40336b:	eb 06                	jmp    0x403373
40336d:	f7 d8                	neg    %eax
40336f:	7e 4b                	jle    0x4033bc
403371:	78 49                	js     0x4033bc
403373:	5b                   	pop    %ebx
403374:	29 de                	sub    %ebx,%esi
403376:	eb 47                	jmp    0x4033bf
403378:	fe c5                	inc    %ch
40337a:	8a 1e                	mov    (%esi),%bl
40337c:	46                   	inc    %esi
40337d:	eb 9c                	jmp    0x40331b
40337f:	bf ff ff ff 0f       	mov    $0xfffffff,%edi
403384:	8a 1e                	mov    (%esi),%bl
403386:	46                   	inc    %esi
403387:	84 db                	test   %bl,%bl
403389:	74 df                	je     0x40336a
40338b:	80 fb 61             	cmp    $0x61,%bl
40338e:	72 03                	jb     0x403393
403390:	80 eb 20             	sub    $0x20,%bl
403393:	80 eb 30             	sub    $0x30,%bl
403396:	80 fb 09             	cmp    $0x9,%bl
403399:	76 0b                	jbe    0x4033a6
40339b:	80 eb 11             	sub    $0x11,%bl
40339e:	80 fb 05             	cmp    $0x5,%bl
4033a1:	77 d0                	ja     0x403373
4033a3:	80 c3 0a             	add    $0xa,%bl
4033a6:	39 f8                	cmp    %edi,%eax
4033a8:	77 c9                	ja     0x403373
4033aa:	c1 e0 04             	shl    $0x4,%eax
4033ad:	01 d8                	add    %ebx,%eax
4033af:	8a 1e                	mov    (%esi),%bl
4033b1:	46                   	inc    %esi
4033b2:	84 db                	test   %bl,%bl
4033b4:	75 d5                	jne    0x40338b
4033b6:	fe cd                	dec    %ch
4033b8:	75 02                	jne    0x4033bc
4033ba:	f7 d8                	neg    %eax
4033bc:	59                   	pop    %ecx
4033bd:	31 f6                	xor    %esi,%esi
4033bf:	89 32                	mov    %esi,(%edx)
4033c1:	5f                   	pop    %edi
4033c2:	5e                   	pop    %esi
4033c3:	5b                   	pop    %ebx
4033c4:	c3                   	ret
4033c5:	8d 40 00             	lea    0x0(%eax),%eax
4033c8:	b9 ff 00 00 00       	mov    $0xff,%ecx
4033cd:	e8 02 00 00 00       	call   0x4033d4
4033d2:	c3                   	ret
4033d3:	90                   	nop
4033d4:	53                   	push   %ebx
4033d5:	50                   	push   %eax
4033d6:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
4033dc:	76 05                	jbe    0x4033e3
4033de:	b9 ff 00 00 00       	mov    $0xff,%ecx
4033e3:	8a 1a                	mov    (%edx),%bl
4033e5:	42                   	inc    %edx
4033e6:	84 db                	test   %bl,%bl
4033e8:	74 06                	je     0x4033f0
4033ea:	40                   	inc    %eax
4033eb:	88 18                	mov    %bl,(%eax)
4033ed:	49                   	dec    %ecx
4033ee:	75 f3                	jne    0x4033e3
4033f0:	5a                   	pop    %edx
4033f1:	29 d0                	sub    %edx,%eax
4033f3:	88 02                	mov    %al,(%edx)
4033f5:	5b                   	pop    %ebx
4033f6:	c3                   	ret
4033f7:	90                   	nop