7cd010:	80 fb 10             	cmp    $0x10,%bl
7cd013:	77 6a                	ja     0x7cd07f
7cd015:	3b f5                	cmp    %ebp,%esi
7cd017:	72 1b                	jb     0x7cd034
7cd019:	57                   	push   %edi
7cd01a:	e8 71 10 00 00       	call   0x7ce090
7cd01f:	83 c4 04             	add    $0x4,%esp
7cd022:	85 c0                	test   %eax,%eax
7cd024:	0f 85 63 06 00 00    	jne    0x7cd68d
7cd02a:	8b 6f 30             	mov    0x30(%edi),%ebp
7cd02d:	8b 77 2c             	mov    0x2c(%edi),%esi
7cd030:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cd034:	8a 3e                	mov    (%esi),%bh
7cd036:	46                   	inc    %esi
7cd037:	3b f5                	cmp    %ebp,%esi
7cd039:	72 1b                	jb     0x7cd056
7cd03b:	57                   	push   %edi
7cd03c:	e8 4f 10 00 00       	call   0x7ce090
7cd041:	83 c4 04             	add    $0x4,%esp
7cd044:	85 c0                	test   %eax,%eax
7cd046:	0f 85 41 06 00 00    	jne    0x7cd68d
7cd04c:	8b 6f 30             	mov    0x30(%edi),%ebp
7cd04f:	8b 77 2c             	mov    0x2c(%edi),%esi
7cd052:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cd056:	8a 06                	mov    (%esi),%al
7cd058:	b9 10 00 00 00       	mov    $0x10,%ecx
7cd05d:	0f b6 d7             	movzbl %bh,%edx
7cd060:	46                   	inc    %esi
7cd061:	c1 e2 08             	shl    $0x8,%edx
7cd064:	0f b6 c0             	movzbl %al,%eax
7cd067:	0b d0                	or     %eax,%edx
7cd069:	0f b6 c3             	movzbl %bl,%eax
7cd06c:	2b c8                	sub    %eax,%ecx
7cd06e:	d3 e2                	shl    %cl,%edx
7cd070:	09 54 24 14          	or     %edx,0x14(%esp)
7cd074:	80 c3 10             	add    $0x10,%bl
7cd077:	8a 54 24 13          	mov    0x13(%esp),%dl
7cd07b:	88 5c 24 12          	mov    %bl,0x12(%esp)
7cd07f:	38 54 24 12          	cmp    %dl,0x12(%esp)
7cd083:	b9 20 00 00 00       	mov    $0x20,%ecx
7cd088:	0f b6 44 24 12       	movzbl 0x12(%esp),%eax
7cd08d:	0f b6 da             	movzbl %dl,%ebx
7cd090:	0f 42 d8             	cmovb  %eax,%ebx
7cd093:	8b 44 24 14          	mov    0x14(%esp),%eax
7cd097:	28 5c 24 12          	sub    %bl,0x12(%esp)
7cd09b:	0f b6 d3             	movzbl %bl,%edx
7cd09e:	2b ca                	sub    %edx,%ecx
7cd0a0:	d3 e8                	shr    %cl,%eax
7cd0a2:	8b ca                	mov    %edx,%ecx
7cd0a4:	d3 64 24 2c          	shll   %cl,0x2c(%esp)
7cd0a8:	8a 54 24 13          	mov    0x13(%esp),%dl
7cd0ac:	09 44 24 2c          	or     %eax,0x2c(%esp)
7cd0b0:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cd0b4:	2a d3                	sub    %bl,%dl
7cd0b6:	8a 5c 24 12          	mov    0x12(%esp),%bl
7cd0ba:	88 54 24 13          	mov    %dl,0x13(%esp)
7cd0be:	0f 85 4c ff ff ff    	jne    0x7cd010
7cd0c4:	8b 44 24 38          	mov    0x38(%esp),%eax
7cd0c8:	8b 14 85 e8 c2 c2 00 	mov    0xc2c2e8(,%eax,4),%edx
7cd0cf:	b8 04 00 00 00       	mov    $0x4,%eax
7cd0d4:	e9 db 02 00 00       	jmp    0x7cd3b4
7cd0d9:	0f b7 c8             	movzwl %ax,%ecx
7cd0dc:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
7cd0e2:	0f b7 d2             	movzwl %dx,%edx
7cd0e5:	2b d1                	sub    %ecx,%edx
7cd0e7:	89 54 24 48          	mov    %edx,0x48(%esp)
7cd0eb:	0f b7 40 02          	movzwl 0x2(%eax),%eax
7cd0ef:	89 44 24 40          	mov    %eax,0x40(%esp)
7cd0f3:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cd0f7:	0f b7 c0             	movzwl %ax,%eax
7cd0fa:	2b c1                	sub    %ecx,%eax
7cd0fc:	0f b7 ca             	movzwl %dx,%ecx
7cd0ff:	40                   	inc    %eax
7cd100:	33 d2                	xor    %edx,%edx
7cd102:	0f af 44 24 40       	imul   0x40(%esp),%eax
7cd107:	41                   	inc    %ecx
7cd108:	48                   	dec    %eax
7cd109:	f7 f1                	div    %ecx
7cd10b:	8b 57 7c             	mov    0x7c(%edi),%edx
7cd10e:	0f b7 c0             	movzwl %ax,%eax
7cd111:	89 44 24 4c          	mov    %eax,0x4c(%esp)
7cd115:	b8 01 00 00 00       	mov    $0x1,%eax
7cd11a:	89 44 24 30          	mov    %eax,0x30(%esp)
7cd11e:	3b d0                	cmp    %eax,%edx
7cd120:	7e 23                	jle    0x7cd145
7cd122:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
7cd128:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
7cd12c:	83 c1 06             	add    $0x6,%ecx
7cd12f:	90                   	nop
7cd130:	66 39 39             	cmp    %di,(%ecx)
7cd133:	76 08                	jbe    0x7cd13d
7cd135:	40                   	inc    %eax
7cd136:	83 c1 04             	add    $0x4,%ecx
7cd139:	3b c2                	cmp    %edx,%eax
7cd13b:	7c f3                	jl     0x7cd130
7cd13d:	8b 7c 24 54          	mov    0x54(%esp),%edi
7cd141:	89 44 24 30          	mov    %eax,0x30(%esp)
7cd145:	8b 97 80 00 00 00    	mov    0x80(%edi),%edx
7cd14b:	0f b7 4c 82 fc       	movzwl -0x4(%edx,%eax,4),%ecx
7cd150:	0f b7 44 82 fe       	movzwl -0x2(%edx,%eax,4),%eax
7cd155:	33 d2                	xor    %edx,%edx
7cd157:	89 4c 24 38          	mov    %ecx,0x38(%esp)
7cd15b:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7cd15f:	41                   	inc    %ecx
7cd160:	0f af c1             	imul   %ecx,%eax
7cd163:	f7 74 24 40          	divl   0x40(%esp)
7cd167:	8b 54 24 18          	mov    0x18(%esp),%edx
7cd16b:	4a                   	dec    %edx
7cd16c:	03 c2                	add    %edx,%eax
7cd16e:	8b 97 80 00 00 00    	mov    0x80(%edi),%edx
7cd174:	0f b7 c0             	movzwl %ax,%eax
7cd177:	89 44 24 24          	mov    %eax,0x24(%esp)
7cd17b:	8b 44 24 30          	mov    0x30(%esp),%eax
7cd17f:	0f b7 44 82 02       	movzwl 0x2(%edx,%eax,4),%eax
7cd184:	33 d2                	xor    %edx,%edx
7cd186:	0f af c1             	imul   %ecx,%eax
7cd189:	8b 4c 24 30          	mov    0x30(%esp),%ecx
7cd18d:	f7 74 24 40          	divl   0x40(%esp)
7cd191:	01 44 24 18          	add    %eax,0x18(%esp)
7cd195:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
7cd19c:	00 00 00 00
7cd1a0:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
7cd1a6:	49                   	dec    %ecx
7cd1a7:	66 83 44 88 02 08    	addw   $0x8,0x2(%eax,%ecx,4)
7cd1ad:	85 c9                	test   %ecx,%ecx
7cd1af:	7f ef                	jg     0x7cd1a0
7cd1b1:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
7cd1b7:	b9 d8 0e 00 00       	mov    $0xed8,%ecx
7cd1bc:	66 39 48 02          	cmp    %cx,0x2(%eax)
7cd1c0:	76 0c                	jbe    0x7cd1ce
7cd1c2:	8d 47 78             	lea    0x78(%edi),%eax
7cd1c5:	50                   	push   %eax
7cd1c6:	e8 a5 0d 00 00       	call   0x7cdf70
7cd1cb:	83 c4 04             	add    $0x4,%esp
7cd1ce:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cd1d2:	8b 54 24 24          	mov    0x24(%esp),%edx
7cd1d6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
7cd1dd:	00 00 00
7cd1e0:	8b 44 24 18          	mov    0x18(%esp),%eax
7cd1e4:	33 c2                	xor    %edx,%eax
7cd1e6:	a9 00 80 00 00       	test   $0x8000,%eax
7cd1eb:	8b 44 24 18          	mov    0x18(%esp),%eax
7cd1ef:	74 2a                	je     0x7cd21b
7cd1f1:	a9 00 40 00 00       	test   $0x4000,%eax
7cd1f6:	0f 84 cf 00 00 00    	je     0x7cd2cb
7cd1fc:	f7 c2 00 40 00 00    	test   $0x4000,%edx
7cd202:	0f 85 c3 00 00 00    	jne    0x7cd2cb
7cd208:	81 74 24 1c 00 40 00 	xorl   $0x4000,0x1c(%esp)
7cd20f:	00
7cd210:	25 ff 3f 00 00       	and    $0x3fff,%eax
7cd215:	81 ca 00 40 00 00    	or     $0x4000,%edx
7cd21b:	03 c0                	add    %eax,%eax
7cd21d:	89 44 24 18          	mov    %eax,0x18(%esp)
7cd221:	8d 04 12             	lea    (%edx,%edx,1),%eax
7cd224:	83 c8 01             	or     $0x1,%eax
7cd227:	0f b7 d0             	movzwl %ax,%edx
7cd22a:	89 54 24 24          	mov    %edx,0x24(%esp)
7cd22e:	80 fb 01             	cmp    $0x1,%bl
7cd231:	73 71                	jae    0x7cd2a4
7cd233:	3b f5                	cmp    %ebp,%esi
7cd235:	72 1b                	jb     0x7cd252
7cd237:	57                   	push   %edi
7cd238:	e8 53 0e 00 00       	call   0x7ce090
7cd23d:	83 c4 04             	add    $0x4,%esp
7cd240:	85 c0                	test   %eax,%eax
7cd242:	0f 85 45 04 00 00    	jne    0x7cd68d
7cd248:	8b 6f 30             	mov    0x30(%edi),%ebp
7cd24b:	8b 77 2c             	mov    0x2c(%edi),%esi
7cd24e:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cd252:	8a 3e                	mov    (%esi),%bh
7cd254:	46                   	inc    %esi
7cd255:	3b f5                	cmp    %ebp,%esi
7cd257:	72 1b                	jb     0x7cd274
7cd259:	57                   	push   %edi
7cd25a:	e8 31 0e 00 00       	call   0x7ce090
7cd25f:	83 c4 04             	add    $0x4,%esp
7cd262:	85 c0                	test   %eax,%eax
7cd264:	0f 85 23 04 00 00    	jne    0x7cd68d
7cd26a:	8b 6f 30             	mov    0x30(%edi),%ebp
7cd26d:	8b 77 2c             	mov    0x2c(%edi),%esi
7cd270:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cd274:	8a 06                	mov    (%esi),%al
7cd276:	b9 10 00 00 00       	mov    $0x10,%ecx
7cd27b:	0f b6 d7             	movzbl %bh,%edx
7cd27e:	46                   	inc    %esi
7cd27f:	c1 e2 08             	shl    $0x8,%edx
7cd282:	0f b6 c0             	movzbl %al,%eax
7cd285:	0b d0                	or     %eax,%edx
7cd287:	0f b6 c3             	movzbl %bl,%eax
7cd28a:	2b c8                	sub    %eax,%ecx
7cd28c:	80 c3 10             	add    $0x10,%bl
7cd28f:	d3 e2                	shl    %cl,%edx
7cd291:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cd295:	0b ca                	or     %edx,%ecx
7cd297:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cd29b:	80 fb 01             	cmp    $0x1,%bl
7cd29e:	72 93                	jb     0x7cd233
7cd2a0:	8b 54 24 24          	mov    0x24(%esp),%edx
7cd2a4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cd2a8:	c1 e9 1f             	shr    $0x1f,%ecx
7cd2ab:	03 c0                	add    %eax,%eax
7cd2ad:	0b c8                	or     %eax,%ecx
7cd2af:	0f b7 c1             	movzwl %cx,%eax
7cd2b2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cd2b6:	03 c9                	add    %ecx,%ecx
7cd2b8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cd2bc:	fe cb                	dec    %bl
7cd2be:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cd2c2:	88 5c 24 12          	mov    %bl,0x12(%esp)
7cd2c6:	e9 15 ff ff ff       	jmp    0x7cd1e0
7cd2cb:	8b 44 24 38          	mov    0x38(%esp),%eax
7cd2cf:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
7cd2d6:	00
7cd2d7:	8a 90 90 c3 c2 00    	mov    0xc2c390(%eax),%dl
7cd2dd:	88 54 24 13          	mov    %dl,0x13(%esp)
7cd2e1:	84 d2                	test   %dl,%dl
7cd2e3:	0f 84 bf 00 00 00    	je     0x7cd3a8
7cd2e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7cd2f0:	80 fb 10             	cmp    $0x10,%bl
7cd2f3:	77 6a                	ja     0x7cd35f
7cd2f5:	3b f5                	cmp    %ebp,%esi
7cd2f7:	72 1b                	jb     0x7cd314
7cd2f9:	57                   	push   %edi
7cd2fa:	e8 91 0d 00 00       	call   0x7ce090
7cd2ff:	83 c4 04             	add    $0x4,%esp
7cd302:	85 c0                	test   %eax,%eax
7cd304:	0f 85 83 03 00 00    	jne    0x7cd68d
7cd30a:	8b 6f 30             	mov    0x30(%edi),%ebp
7cd30d:	8b 77 2c             	mov    0x2c(%edi),%esi
7cd310:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cd314:	8a 3e                	mov    (%esi),%bh
7cd316:	46                   	inc    %esi
7cd317:	3b f5                	cmp    %ebp,%esi
7cd319:	72 1b                	jb     0x7cd336
7cd31b:	57                   	push   %edi
7cd31c:	e8 6f 0d 00 00       	call   0x7ce090
7cd321:	83 c4 04             	add    $0x4,%esp
7cd324:	85 c0                	test   %eax,%eax
7cd326:	0f 85 61 03 00 00    	jne    0x7cd68d
7cd32c:	8b 6f 30             	mov    0x30(%edi),%ebp
7cd32f:	8b 77 2c             	mov    0x2c(%edi),%esi
7cd332:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cd336:	8a 06                	mov    (%esi),%al
7cd338:	b9 10 00 00 00       	mov    $0x10,%ecx
7cd33d:	0f b6 d7             	movzbl %bh,%edx
7cd340:	46                   	inc    %esi
7cd341:	c1 e2 08             	shl    $0x8,%edx
7cd344:	0f b6 c0             	movzbl %al,%eax
7cd347:	0b d0                	or     %eax,%edx
7cd349:	0f b6 c3             	movzbl %bl,%eax
7cd34c:	2b c8                	sub    %eax,%ecx
7cd34e:	d3 e2                	shl    %cl,%edx
7cd350:	09 54 24 14          	or     %edx,0x14(%esp)
7cd354:	80 c3 10             	add    $0x10,%bl
7cd357:	8a 54 24 13          	mov    0x13(%esp),%dl
7cd35b:	88 5c 24 12          	mov    %bl,0x12(%esp)
7cd35f:	38 54 24 12          	cmp    %dl,0x12(%esp)
7cd363:	b9 20 00 00 00       	mov    $0x20,%ecx
7cd368:	0f b6 44 24 12       	movzbl 0x12(%esp),%eax
7cd36d:	0f b6 da             	movzbl %dl,%ebx
7cd370:	0f 42 d8             	cmovb  %eax,%ebx
7cd373:	8b 44 24 14          	mov    0x14(%esp),%eax
7cd377:	28 5c 24 12          	sub    %bl,0x12(%esp)
7cd37b:	0f b6 d3             	movzbl %bl,%edx
7cd37e:	2b ca                	sub    %edx,%ecx
7cd380:	d3 e8                	shr    %cl,%eax
7cd382:	8b ca                	mov    %edx,%ecx
7cd384:	d3 64 24 2c          	shll   %cl,0x2c(%esp)
7cd388:	8a 54 24 13          	mov    0x13(%esp),%dl
7cd38c:	09 44 24 2c          	or     %eax,0x2c(%esp)
7cd390:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cd394:	2a d3                	sub    %bl,%dl
7cd396:	8a 5c 24 12          	mov    0x12(%esp),%bl
7cd39a:	88 54 24 13          	mov    %dl,0x13(%esp)
7cd39e:	0f 85 4c ff ff ff    	jne    0x7cd2f0
7cd3a4:	8b 44 24 38          	mov    0x38(%esp),%eax
7cd3a8:	8b 14 85 e8 c2 c2 00 	mov    0xc2c2e8(,%eax,4),%edx
7cd3af:	b8 03 00 00 00       	mov    $0x3,%eax
7cd3b4:	89 44 24 30          	mov    %eax,0x30(%esp)
7cd3b8:	03 54 24 2c          	add    0x2c(%esp),%edx
7cd3bc:	29 44 24 3c          	sub    %eax,0x3c(%esp)
7cd3c0:	42                   	inc    %edx
7cd3c1:	8b 4c 24 28          	mov    0x28(%esp),%ecx
7cd3c5:	8b 5f 10             	mov    0x10(%edi),%ebx
7cd3c8:	03 44 24 28          	add    0x28(%esp),%eax
7cd3cc:	03 4c 24 34          	add    0x34(%esp),%ecx
7cd3d0:	8b 7c 24 54          	mov    0x54(%esp),%edi
7cd3d4:	89 54 24 40          	mov    %edx,0x40(%esp)
7cd3d8:	3b c3                	cmp    %ebx,%eax
7cd3da:	0f 87 a7 00 00 00    	ja     0x7cd487
7cd3e0:	8b 44 24 40          	mov    0x40(%esp),%eax
7cd3e4:	8b 54 24 30          	mov    0x30(%esp),%edx
7cd3e8:	3b 44 24 28          	cmp    0x28(%esp),%eax
7cd3ec:	76 52                	jbe    0x7cd440
7cd3ee:	2b 44 24 28          	sub    0x28(%esp),%eax
7cd3f2:	89 44 24 40          	mov    %eax,0x40(%esp)
7cd3f6:	3b c3                	cmp    %ebx,%eax
7cd3f8:	0f 8f 9a 02 00 00    	jg     0x7cd698
7cd3fe:	2b d8                	sub    %eax,%ebx
7cd400:	03 5c 24 34          	add    0x34(%esp),%ebx
7cd404:	3b c2                	cmp    %edx,%eax
7cd406:	7d 1d                	jge    0x7cd425
7cd408:	2b d0                	sub    %eax,%edx
7cd40a:	85 c0                	test   %eax,%eax
7cd40c:	7e 13                	jle    0x7cd421
7cd40e:	8b f8                	mov    %eax,%edi
7cd410:	8a 03                	mov    (%ebx),%al
7cd412:	8d 5b 01             	lea    0x1(%ebx),%ebx
7cd415:	4f                   	dec    %edi
7cd416:	88 01                	mov    %al,(%ecx)
7cd418:	41                   	inc    %ecx
7cd419:	85 ff                	test   %edi,%edi
7cd41b:	7f f3                	jg     0x7cd410
7cd41d:	8b 7c 24 54          	mov    0x54(%esp),%edi
7cd421:	8b 5c 24 34          	mov    0x34(%esp),%ebx
7cd425:	85 d2                	test   %edx,%edx
7cd427:	7e 35                	jle    0x7cd45e
7cd429:	2b d9                	sub    %ecx,%ebx
7cd42b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
7cd430:	8a 04 19             	mov    (%ecx,%ebx,1),%al
7cd433:	8d 49 01             	lea    0x1(%ecx),%ecx
7cd436:	4a                   	dec    %edx
7cd437:	88 41 ff             	mov    %al,-0x1(%ecx)
7cd43a:	85 d2                	test   %edx,%edx
7cd43c:	7f f2                	jg     0x7cd430
7cd43e:	eb 1e                	jmp    0x7cd45e
7cd440:	8b d9                	mov    %ecx,%ebx
7cd442:	2b d8                	sub    %eax,%ebx
7cd444:	8b 44 24 30          	mov    0x30(%esp),%eax
7cd448:	85 c0                	test   %eax,%eax
7cd44a:	7e 16                	jle    0x7cd462
7cd44c:	0f 1f 40 00          	nopl   0x0(%eax)
7cd450:	8a 03                	mov    (%ebx),%al
7cd452:	8d 49 01             	lea    0x1(%ecx),%ecx
7cd455:	4a                   	dec    %edx
7cd456:	88 41 ff             	mov    %al,-0x1(%ecx)
7cd459:	43                   	inc    %ebx
7cd45a:	85 d2                	test   %edx,%edx
7cd45c:	7f f2                	jg     0x7cd450
7cd45e:	8b 44 24 30          	mov    0x30(%esp),%eax
7cd462:	8a 5c 24 12          	mov    0x12(%esp),%bl
7cd466:	8b 54 24 24          	mov    0x24(%esp),%edx
7cd46a:	8b 4c 24 28          	mov    0x28(%esp),%ecx
7cd46e:	03 c8                	add    %eax,%ecx
7cd470:	89 4c 24 28          	mov    %ecx,0x28(%esp)
7cd474:	3b 4c 24 44          	cmp    0x44(%esp),%ecx
7cd478:	0f 82 62 ef ff ff    	jb     0x7cc3e0
7cd47e:	89 4c 24 28          	mov    %ecx,0x28(%esp)
7cd482:	e9 bd 00 00 00       	jmp    0x7cd544
7cd487:	8b 5c 24 28          	mov    0x28(%esp),%ebx