403121:	0f b6 1a             	movzbl (%edx),%ebx
403124:	3a cb                	cmp    %bl,%cl
403126:	76 02                	jbe    0x40312a
403128:	8b cb                	mov    %ebx,%ecx
40312a:	88 08                	mov    %cl,(%eax)
40312c:	42                   	inc    %edx
40312d:	40                   	inc    %eax
40312e:	0f b6 c9             	movzbl %cl,%ecx
403131:	92                   	xchg   %eax,%edx
403132:	e8 a5 fd ff ff       	call   0x402edc
403137:	5b                   	pop    %ebx
403138:	c3                   	ret
403139:	8d 40 00             	lea    0x0(%eax),%eax
40313c:	53                   	push   %ebx
40313d:	56                   	push   %esi
40313e:	57                   	push   %edi
40313f:	89 c6                	mov    %eax,%esi
403141:	89 d7                	mov    %edx,%edi
403143:	31 c0                	xor    %eax,%eax
403145:	31 d2                	xor    %edx,%edx
403147:	8a 06                	mov    (%esi),%al
403149:	8a 17                	mov    (%edi),%dl
40314b:	46                   	inc    %esi
40314c:	47                   	inc    %edi
40314d:	29 d0                	sub    %edx,%eax
40314f:	77 02                	ja     0x403153
403151:	01 c2                	add    %eax,%edx
403153:	52                   	push   %edx
403154:	c1 ea 02             	shr    $0x2,%edx
403157:	74 26                	je     0x40317f
403159:	8b 0e                	mov    (%esi),%ecx
40315b:	8b 1f                	mov    (%edi),%ebx
40315d:	39 d9                	cmp    %ebx,%ecx
40315f:	75 44                	jne    0x4031a5
403161:	4a                   	dec    %edx
403162:	74 15                	je     0x403179
403164:	8b 4e 04             	mov    0x4(%esi),%ecx
403167:	8b 5f 04             	mov    0x4(%edi),%ebx
40316a:	39 d9                	cmp    %ebx,%ecx
40316c:	75 37                	jne    0x4031a5
40316e:	83 c6 08             	add    $0x8,%esi
403171:	83 c7 08             	add    $0x8,%edi
403174:	4a                   	dec    %edx
403175:	75 e2                	jne    0x403159
403177:	eb 06                	jmp    0x40317f
403179:	83 c6 04             	add    $0x4,%esi
40317c:	83 c7 04             	add    $0x4,%edi
40317f:	5a                   	pop    %edx
403180:	83 e2 03             	and    $0x3,%edx
403183:	74 1c                	je     0x4031a1
403185:	8a 0e                	mov    (%esi),%cl
403187:	3a 0f                	cmp    (%edi),%cl
403189:	75 2f                	jne    0x4031ba
40318b:	4a                   	dec    %edx
40318c:	74 13                	je     0x4031a1
40318e:	8a 4e 01             	mov    0x1(%esi),%cl
403191:	3a 4f 01             	cmp    0x1(%edi),%cl
403194:	75 24                	jne    0x4031ba
403196:	4a                   	dec    %edx
403197:	74 08                	je     0x4031a1
403199:	8a 4e 02             	mov    0x2(%esi),%cl
40319c:	3a 4f 02             	cmp    0x2(%edi),%cl
40319f:	75 19                	jne    0x4031ba
4031a1:	01 c0                	add    %eax,%eax
4031a3:	eb 15                	jmp    0x4031ba
4031a5:	5a                   	pop    %edx
4031a6:	38 d9                	cmp    %bl,%cl
4031a8:	75 10                	jne    0x4031ba
4031aa:	38 fd                	cmp    %bh,%ch
4031ac:	75 0c                	jne    0x4031ba
4031ae:	c1 e9 10             	shr    $0x10,%ecx
4031b1:	c1 eb 10             	shr    $0x10,%ebx
4031b4:	38 d9                	cmp    %bl,%cl
4031b6:	75 02                	jne    0x4031ba
4031b8:	38 fd                	cmp    %bh,%ch
4031ba:	5f                   	pop    %edi
4031bb:	5e                   	pop    %esi
4031bc:	5b                   	pop    %ebx
4031bd:	c3                   	ret
4031be:	8b c0                	mov    %eax,%eax
4031c0:	53                   	push   %ebx
4031c1:	56                   	push   %esi
4031c2:	51                   	push   %ecx
4031c3:	89 ce                	mov    %ecx,%esi
4031c5:	c1 ee 02             	shr    $0x2,%esi
4031c8:	74 26                	je     0x4031f0
4031ca:	8b 08                	mov    (%eax),%ecx
4031cc:	8b 1a                	mov    (%edx),%ebx
4031ce:	39 d9                	cmp    %ebx,%ecx
4031d0:	75 45                	jne    0x403217
4031d2:	4e                   	dec    %esi
4031d3:	74 15                	je     0x4031ea
4031d5:	8b 48 04             	mov    0x4(%eax),%ecx
4031d8:	8b 5a 04             	mov    0x4(%edx),%ebx
4031db:	39 d9                	cmp    %ebx,%ecx
4031dd:	75 38                	jne    0x403217
4031df:	83 c0 08             	add    $0x8,%eax
4031e2:	83 c2 08             	add    $0x8,%edx
4031e5:	4e                   	dec    %esi
4031e6:	75 e2                	jne    0x4031ca
4031e8:	eb 06                	jmp    0x4031f0
4031ea:	83 c0 04             	add    $0x4,%eax
4031ed:	83 c2 04             	add    $0x4,%edx
4031f0:	5e                   	pop    %esi
4031f1:	83 e6 03             	and    $0x3,%esi
4031f4:	74 36                	je     0x40322c
4031f6:	8a 08                	mov    (%eax),%cl
4031f8:	3a 0a                	cmp    (%edx),%cl
4031fa:	75 30                	jne    0x40322c
4031fc:	4e                   	dec    %esi
4031fd:	74 13                	je     0x403212
4031ff:	8a 48 01             	mov    0x1(%eax),%cl
403202:	3a 4a 01             	cmp    0x1(%edx),%cl
403205:	75 25                	jne    0x40322c
403207:	4e                   	dec    %esi
403208:	74 08                	je     0x403212
40320a:	8a 48 02             	mov    0x2(%eax),%cl
40320d:	3a 4a 02             	cmp    0x2(%edx),%cl
403210:	75 1a                	jne    0x40322c
403212:	31 c0                	xor    %eax,%eax
403214:	5e                   	pop    %esi
403215:	5b                   	pop    %ebx
403216:	c3                   	ret
403217:	5e                   	pop    %esi
403218:	38 d9                	cmp    %bl,%cl
40321a:	75 10                	jne    0x40322c
40321c:	38 fd                	cmp    %bh,%ch
40321e:	75 0c                	jne    0x40322c
403220:	c1 e9 10             	shr    $0x10,%ecx
403223:	c1 eb 10             	shr    $0x10,%ebx
403226:	38 d9                	cmp    %bl,%cl
403228:	75 02                	jne    0x40322c
40322a:	38 fd                	cmp    %bh,%ch
40322c:	5e                   	pop    %esi
40322d:	5b                   	pop    %ebx
40322e:	c3                   	ret
40322f:	90                   	nop
403230:	83 fa 20             	cmp    $0x20,%edx
403233:	88 cd                	mov    %cl,%ch
403235:	7c 3d                	jl     0x403274
403237:	66 89 08             	mov    %cx,(%eax)
40323a:	66 89 48 02          	mov    %cx,0x2(%eax)
40323e:	66 89 48 04          	mov    %cx,0x4(%eax)
403242:	66 89 48 06          	mov    %cx,0x6(%eax)
403246:	83 ea 10             	sub    $0x10,%edx
403249:	dd 00                	fldl   (%eax)
40324b:	dd 14 02             	fstl   (%edx,%eax,1)
40324e:	dd 54 02 08          	fstl   0x8(%edx,%eax,1)
403252:	89 c1                	mov    %eax,%ecx
403254:	83 e1 07             	and    $0x7,%ecx
403257:	83 e9 08             	sub    $0x8,%ecx
40325a:	29 c8                	sub    %ecx,%eax
40325c:	01 ca                	add    %ecx,%edx
40325e:	01 d0                	add    %edx,%eax
403260:	f7 da                	neg    %edx
403262:	dd 14 02             	fstl   (%edx,%eax,1)
403265:	dd 54 02 08          	fstl   0x8(%edx,%eax,1)
403269:	83 c2 10             	add    $0x10,%edx
40326c:	7c f4                	jl     0x403262
40326e:	dd c0                	ffree  %st(0)
403270:	c3                   	ret
403271:	90                   	nop
403272:	90                   	nop
403273:	90                   	nop
403274:	85 d2                	test   %edx,%edx
403276:	7e 50                	jle    0x4032c8
403278:	88 4c 02 ff          	mov    %cl,-0x1(%edx,%eax,1)
40327c:	83 e2 fe             	and    $0xfffffffe,%edx
40327f:	f7 da                	neg    %edx
403281:	8d 14 55 c8 32 40 00 	lea    0x4032c8(,%edx,2),%edx
403288:	ff e2                	jmp    *%edx
40328a:	90                   	nop
40328b:	90                   	nop
40328c:	66 89 48 1c          	mov    %cx,0x1c(%eax)
403290:	66 89 48 1a          	mov    %cx,0x1a(%eax)
403294:	66 89 48 18          	mov    %cx,0x18(%eax)
403298:	66 89 48 16          	mov    %cx,0x16(%eax)
40329c:	66 89 48 14          	mov    %cx,0x14(%eax)
4032a0:	66 89 48 12          	mov    %cx,0x12(%eax)
4032a4:	66 89 48 10          	mov    %cx,0x10(%eax)
4032a8:	66 89 48 0e          	mov    %cx,0xe(%eax)
4032ac:	66 89 48 0c          	mov    %cx,0xc(%eax)
4032b0:	66 89 48 0a          	mov    %cx,0xa(%eax)
4032b4:	66 89 48 08          	mov    %cx,0x8(%eax)
4032b8:	66 89 48 06          	mov    %cx,0x6(%eax)
4032bc:	66 89 48 04          	mov    %cx,0x4(%eax)
4032c0:	66 89 48 02          	mov    %cx,0x2(%eax)
4032c4:	66 89 08             	mov    %cx,(%eax)
4032c7:	c3                   	ret
4032c8:	c3                   	ret
4032c9:	8d 40 00             	lea    0x0(%eax),%eax
4032cc:	53                   	push   %ebx
4032cd:	56                   	push   %esi
4032ce:	57                   	push   %edi
4032cf:	89 c6                	mov    %eax,%esi
4032d1:	50                   	push   %eax
4032d2:	85 c0                	test   %eax,%eax
4032d4:	74 6c                	je     0x403342
4032d6:	31 c0                	xor    %eax,%eax
4032d8:	31 db                	xor    %ebx,%ebx
4032da:	bf cc cc cc 0c       	mov    $0xccccccc,%edi
4032df:	8a 1e                	mov    (%esi),%bl
4032e1:	46                   	inc    %esi
4032e2:	80 fb 20             	cmp    $0x20,%bl
4032e5:	74 f8                	je     0x4032df
4032e7:	b5 00                	mov    $0x0,%ch
4032e9:	80 fb 2d             	cmp    $0x2d,%bl
4032ec:	74 62                	je     0x403350
4032ee:	80 fb 2b             	cmp    $0x2b,%bl
4032f1:	74 5f                	je     0x403352
4032f3:	80 fb 24             	cmp    $0x24,%bl
4032f6:	74 5f                	je     0x403357
4032f8:	80 fb 78             	cmp    $0x78,%bl
4032fb:	74 5a                	je     0x403357
4032fd:	80 fb 58             	cmp    $0x58,%bl
403300:	74 55                	je     0x403357
403302:	80 fb 30             	cmp    $0x30,%bl
403305:	75 13                	jne    0x40331a
403307:	8a 1e                	mov    (%esi),%bl
403309:	46                   	inc    %esi
40330a:	80 fb 78             	cmp    $0x78,%bl
40330d:	74 48                	je     0x403357
40330f:	80 fb 58             	cmp    $0x58,%bl
403312:	74 43                	je     0x403357
403314:	84 db                	test   %bl,%bl
403316:	74 20                	je     0x403338
403318:	eb 04                	jmp    0x40331e
40331a:	84 db                	test   %bl,%bl
40331c:	74 2d                	je     0x40334b
40331e:	80 eb 30             	sub    $0x30,%bl
403321:	80 fb 09             	cmp    $0x9,%bl
403324:	77 25                	ja     0x40334b
403326:	39 f8                	cmp    %edi,%eax
403328:	77 21                	ja     0x40334b
40332a:	8d 04 80             	lea    (%eax,%eax,4),%eax
40332d:	01 c0                	add    %eax,%eax
40332f:	01 d8                	add    %ebx,%eax
403331:	8a 1e                	mov    (%esi),%bl
403333:	46                   	inc    %esi
403334:	84 db                	test   %bl,%bl
403336:	75 e6                	jne    0x40331e
403338:	fe cd                	dec    %ch
40333a:	74 09                	je     0x403345
40333c:	85 c0                	test   %eax,%eax
40333e:	7d 54                	jge    0x403394
403340:	eb 09                	jmp    0x40334b
403342:	46                   	inc    %esi
403343:	eb 06                	jmp    0x40334b
403345:	f7 d8                	neg    %eax
403347:	7e 4b                	jle    0x403394
403349:	78 49                	js     0x403394
40334b:	5b                   	pop    %ebx
40334c:	29 de                	sub    %ebx,%esi
40334e:	eb 47                	jmp    0x403397
403350:	fe c5                	inc    %ch
403352:	8a 1e                	mov    (%esi),%bl
403354:	46                   	inc    %esi
403355:	eb 9c                	jmp    0x4032f3
403357:	bf ff ff ff 0f       	mov    $0xfffffff,%edi
40335c:	8a 1e                	mov    (%esi),%bl
40335e:	46                   	inc    %esi
40335f:	84 db                	test   %bl,%bl
403361:	74 df                	je     0x403342
403363:	80 fb 61             	cmp    $0x61,%bl
403366:	72 03                	jb     0x40336b
403368:	80 eb 20             	sub    $0x20,%bl
40336b:	80 eb 30             	sub    $0x30,%bl
40336e:	80 fb 09             	cmp    $0x9,%bl
403371:	76 0b                	jbe    0x40337e
403373:	80 eb 11             	sub    $0x11,%bl
403376:	80 fb 05             	cmp    $0x5,%bl
403379:	77 d0                	ja     0x40334b
40337b:	80 c3 0a             	add    $0xa,%bl
40337e:	39 f8                	cmp    %edi,%eax
403380:	77 c9                	ja     0x40334b
403382:	c1 e0 04             	shl    $0x4,%eax
403385:	01 d8                	add    %ebx,%eax
403387:	8a 1e                	mov    (%esi),%bl
403389:	46                   	inc    %esi
40338a:	84 db                	test   %bl,%bl
40338c:	75 d5                	jne    0x403363
40338e:	fe cd                	dec    %ch
403390:	75 02                	jne    0x403394
403392:	f7 d8                	neg    %eax
403394:	59                   	pop    %ecx
403395:	31 f6                	xor    %esi,%esi
403397:	89 32                	mov    %esi,(%edx)
403399:	5f                   	pop    %edi
40339a:	5e                   	pop    %esi
40339b:	5b                   	pop    %ebx
40339c:	c3                   	ret
40339d:	8d 40 00             	lea    0x0(%eax),%eax
4033a0:	b9 ff 00 00 00       	mov    $0xff,%ecx
4033a5:	e8 02 00 00 00       	call   0x4033ac
4033aa:	c3                   	ret
4033ab:	90                   	nop
4033ac:	53                   	push   %ebx
4033ad:	50                   	push   %eax
4033ae:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
4033b4:	76 05                	jbe    0x4033bb
4033b6:	b9 ff 00 00 00       	mov    $0xff,%ecx
4033bb:	8a 1a                	mov    (%edx),%bl
4033bd:	42                   	inc    %edx
4033be:	84 db                	test   %bl,%bl
4033c0:	74 06                	je     0x4033c8
4033c2:	40                   	inc    %eax
4033c3:	88 18                	mov    %bl,(%eax)
4033c5:	49                   	dec    %ecx
4033c6:	75 f3                	jne    0x4033bb
4033c8:	5a                   	pop    %edx
4033c9:	29 d0                	sub    %edx,%eax
4033cb:	88 02                	mov    %al,(%edx)
4033cd:	5b                   	pop    %ebx
4033ce:	c3                   	ret
4033cf:	90                   	nop
4033d0:	e9 03 00 00 00       	jmp    0x4033d8
4033d5:	c3                   	ret
4033d6:	8b c0                	mov    %eax,%eax
4033d8:	53                   	push   %ebx
4033d9:	31 db                	xor    %ebx,%ebx
4033db:	85 c0                	test   %eax,%eax
4033dd:	7c 4d                	jl     0x40342c
4033df:	0f 84 9a 00 00 00    	je     0x40347f
4033e5:	3d 00 14 00 00       	cmp    $0x1400,%eax
4033ea:	0f 8d 81 00 00 00    	jge    0x403471
4033f0:	89 c2                	mov    %eax,%edx
4033f2:	83 e2 1f             	and    $0x1f,%edx
4033f5:	8d 14 92             	lea    (%edx,%edx,4),%edx
4033f8:	db ac 53 8b 34 40 00 	fldt   0x40348b(%ebx,%edx,2)
4033ff:	de c9                	fmulp  %st,%st(1)
403401:	c1 e8 05             	shr    $0x5,%eax
403404:	74 79                	je     0x40347f
403406:	89 c2                	mov    %eax,%edx
403408:	83 e2 0f             	and    $0xf,%edx
40340b:	74 0c                	je     0x403419
40340d:	8d 14 92             	lea    (%edx,%edx,4),%edx
403410:	db ac 53 c1 35 40 00 	fldt   0x4035c1(%ebx,%edx,2)
403417:	de c9                	fmulp  %st,%st(1)
403419:	c1 e8 04             	shr    $0x4,%eax
40341c:	74 61                	je     0x40347f
40341e:	8d 04 80             	lea    (%eax,%eax,4),%eax
403421:	db ac 43 57 36 40 00 	fldt   0x403657(%ebx,%eax,2)
403428:	de c9                	fmulp  %st,%st(1)
40342a:	eb 53                	jmp    0x40347f
40342c:	f7 d8                	neg    %eax
40342e:	3d 00 14 00 00       	cmp    $0x1400,%eax
403433:	7d 46                	jge    0x40347b
403435:	89 c2                	mov    %eax,%edx
403437:	83 e2 1f             	and    $0x1f,%edx
40343a:	8d 14 92             	lea    (%edx,%edx,4),%edx