7cc910:	76 0f                	jbe    0x7cc921
7cc912:	8d 87 9c 00 00 00    	lea    0x9c(%edi),%eax
7cc918:	50                   	push   %eax
7cc919:	e8 52 16 00 00       	call   0x7cdf70
7cc91e:	83 c4 04             	add    $0x4,%esp
7cc921:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cc925:	8b 54 24 2c          	mov    0x2c(%esp),%edx
7cc929:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7cc930:	8b 44 24 18          	mov    0x18(%esp),%eax
7cc934:	33 c2                	xor    %edx,%eax
7cc936:	a9 00 80 00 00       	test   $0x8000,%eax
7cc93b:	8b 44 24 18          	mov    0x18(%esp),%eax
7cc93f:	74 2a                	je     0x7cc96b
7cc941:	a9 00 40 00 00       	test   $0x4000,%eax
7cc946:	0f 84 cf 00 00 00    	je     0x7cca1b
7cc94c:	f7 c2 00 40 00 00    	test   $0x4000,%edx
7cc952:	0f 85 c3 00 00 00    	jne    0x7cca1b
7cc958:	81 74 24 1c 00 40 00 	xorl   $0x4000,0x1c(%esp)
7cc95f:	00
7cc960:	25 ff 3f 00 00       	and    $0x3fff,%eax
7cc965:	81 ca 00 40 00 00    	or     $0x4000,%edx
7cc96b:	03 c0                	add    %eax,%eax
7cc96d:	89 44 24 18          	mov    %eax,0x18(%esp)
7cc971:	8d 04 12             	lea    (%edx,%edx,1),%eax
7cc974:	83 c8 01             	or     $0x1,%eax
7cc977:	0f b7 d0             	movzwl %ax,%edx
7cc97a:	89 54 24 2c          	mov    %edx,0x2c(%esp)
7cc97e:	80 fb 01             	cmp    $0x1,%bl
7cc981:	73 71                	jae    0x7cc9f4
7cc983:	3b f5                	cmp    %ebp,%esi
7cc985:	72 1b                	jb     0x7cc9a2
7cc987:	57                   	push   %edi
7cc988:	e8 03 17 00 00       	call   0x7ce090
7cc98d:	83 c4 04             	add    $0x4,%esp
7cc990:	85 c0                	test   %eax,%eax
7cc992:	0f 85 f5 0c 00 00    	jne    0x7cd68d
7cc998:	8b 6f 30             	mov    0x30(%edi),%ebp
7cc99b:	8b 77 2c             	mov    0x2c(%edi),%esi
7cc99e:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cc9a2:	8a 3e                	mov    (%esi),%bh
7cc9a4:	46                   	inc    %esi
7cc9a5:	3b f5                	cmp    %ebp,%esi
7cc9a7:	72 1b                	jb     0x7cc9c4
7cc9a9:	57                   	push   %edi
7cc9aa:	e8 e1 16 00 00       	call   0x7ce090
7cc9af:	83 c4 04             	add    $0x4,%esp
7cc9b2:	85 c0                	test   %eax,%eax
7cc9b4:	0f 85 d3 0c 00 00    	jne    0x7cd68d
7cc9ba:	8b 6f 30             	mov    0x30(%edi),%ebp
7cc9bd:	8b 77 2c             	mov    0x2c(%edi),%esi
7cc9c0:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cc9c4:	8a 06                	mov    (%esi),%al
7cc9c6:	b9 10 00 00 00       	mov    $0x10,%ecx
7cc9cb:	0f b6 d7             	movzbl %bh,%edx
7cc9ce:	46                   	inc    %esi
7cc9cf:	c1 e2 08             	shl    $0x8,%edx
7cc9d2:	0f b6 c0             	movzbl %al,%eax
7cc9d5:	0b d0                	or     %eax,%edx
7cc9d7:	0f b6 c3             	movzbl %bl,%eax
7cc9da:	2b c8                	sub    %eax,%ecx
7cc9dc:	80 c3 10             	add    $0x10,%bl
7cc9df:	d3 e2                	shl    %cl,%edx
7cc9e1:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cc9e5:	0b ca                	or     %edx,%ecx
7cc9e7:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cc9eb:	80 fb 01             	cmp    $0x1,%bl
7cc9ee:	72 93                	jb     0x7cc983
7cc9f0:	8b 54 24 2c          	mov    0x2c(%esp),%edx
7cc9f4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cc9f8:	c1 e9 1f             	shr    $0x1f,%ecx
7cc9fb:	03 c0                	add    %eax,%eax
7cc9fd:	0b c8                	or     %eax,%ecx
7cc9ff:	0f b7 c1             	movzwl %cx,%eax
7cca02:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cca06:	03 c9                	add    %ecx,%ecx
7cca08:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cca0c:	fe cb                	dec    %bl
7cca0e:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cca12:	88 5c 24 12          	mov    %bl,0x12(%esp)
7cca16:	e9 15 ff ff ff       	jmp    0x7cc930
7cca1b:	8b 44 24 40          	mov    0x40(%esp),%eax
7cca1f:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
7cca26:	00
7cca27:	8a 90 d8 c3 c2 00    	mov    0xc2c3d8(%eax),%dl
7cca2d:	88 54 24 13          	mov    %dl,0x13(%esp)
7cca31:	84 d2                	test   %dl,%dl
7cca33:	0f 84 bf 00 00 00    	je     0x7ccaf8
7cca39:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7cca40:	80 fb 10             	cmp    $0x10,%bl
7cca43:	77 6a                	ja     0x7ccaaf
7cca45:	3b f5                	cmp    %ebp,%esi
7cca47:	72 1b                	jb     0x7cca64
7cca49:	57                   	push   %edi
7cca4a:	e8 41 16 00 00       	call   0x7ce090
7cca4f:	83 c4 04             	add    $0x4,%esp
7cca52:	85 c0                	test   %eax,%eax
7cca54:	0f 85 33 0c 00 00    	jne    0x7cd68d
7cca5a:	8b 6f 30             	mov    0x30(%edi),%ebp
7cca5d:	8b 77 2c             	mov    0x2c(%edi),%esi
7cca60:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cca64:	8a 3e                	mov    (%esi),%bh
7cca66:	46                   	inc    %esi
7cca67:	3b f5                	cmp    %ebp,%esi
7cca69:	72 1b                	jb     0x7cca86
7cca6b:	57                   	push   %edi
7cca6c:	e8 1f 16 00 00       	call   0x7ce090
7cca71:	83 c4 04             	add    $0x4,%esp
7cca74:	85 c0                	test   %eax,%eax
7cca76:	0f 85 11 0c 00 00    	jne    0x7cd68d
7cca7c:	8b 6f 30             	mov    0x30(%edi),%ebp
7cca7f:	8b 77 2c             	mov    0x2c(%edi),%esi
7cca82:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cca86:	8a 06                	mov    (%esi),%al
7cca88:	b9 10 00 00 00       	mov    $0x10,%ecx
7cca8d:	0f b6 d7             	movzbl %bh,%edx
7cca90:	46                   	inc    %esi
7cca91:	c1 e2 08             	shl    $0x8,%edx
7cca94:	0f b6 c0             	movzbl %al,%eax
7cca97:	0b d0                	or     %eax,%edx
7cca99:	0f b6 c3             	movzbl %bl,%eax
7cca9c:	2b c8                	sub    %eax,%ecx
7cca9e:	d3 e2                	shl    %cl,%edx
7ccaa0:	09 54 24 14          	or     %edx,0x14(%esp)
7ccaa4:	80 c3 10             	add    $0x10,%bl
7ccaa7:	8a 54 24 13          	mov    0x13(%esp),%dl
7ccaab:	88 5c 24 12          	mov    %bl,0x12(%esp)
7ccaaf:	38 54 24 12          	cmp    %dl,0x12(%esp)
7ccab3:	b9 20 00 00 00       	mov    $0x20,%ecx
7ccab8:	0f b6 44 24 12       	movzbl 0x12(%esp),%eax
7ccabd:	0f b6 da             	movzbl %dl,%ebx
7ccac0:	0f 42 d8             	cmovb  %eax,%ebx
7ccac3:	8b 44 24 14          	mov    0x14(%esp),%eax
7ccac7:	28 5c 24 12          	sub    %bl,0x12(%esp)
7ccacb:	0f b6 d3             	movzbl %bl,%edx
7ccace:	2b ca                	sub    %edx,%ecx
7ccad0:	d3 e8                	shr    %cl,%eax
7ccad2:	8b ca                	mov    %edx,%ecx
7ccad4:	d3 64 24 38          	shll   %cl,0x38(%esp)
7ccad8:	8a 54 24 13          	mov    0x13(%esp),%dl
7ccadc:	09 44 24 38          	or     %eax,0x38(%esp)
7ccae0:	d3 64 24 14          	shll   %cl,0x14(%esp)
7ccae4:	2a d3                	sub    %bl,%dl
7ccae6:	8a 5c 24 12          	mov    0x12(%esp),%bl
7ccaea:	88 54 24 13          	mov    %dl,0x13(%esp)
7ccaee:	0f 85 4c ff ff ff    	jne    0x7cca40
7ccaf4:	8b 44 24 40          	mov    0x40(%esp),%eax
7ccaf8:	0f b6 80 bc c3 c2 00 	movzbl 0xc2c3bc(%eax),%eax
7ccaff:	8b 4c 24 38          	mov    0x38(%esp),%ecx
7ccb03:	83 c1 05             	add    $0x5,%ecx
7ccb06:	03 c1                	add    %ecx,%eax
7ccb08:	89 44 24 30          	mov    %eax,0x30(%esp)
7ccb0c:	8b 44 24 18          	mov    0x18(%esp),%eax
7ccb10:	0f b7 c8             	movzwl %ax,%ecx
7ccb13:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
7ccb19:	0f b7 40 02          	movzwl 0x2(%eax),%eax
7ccb1d:	89 44 24 40          	mov    %eax,0x40(%esp)
7ccb21:	8b 44 24 2c          	mov    0x2c(%esp),%eax
7ccb25:	0f b7 d0             	movzwl %ax,%edx
7ccb28:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7ccb2c:	2b d1                	sub    %ecx,%edx
7ccb2e:	0f b7 c0             	movzwl %ax,%eax
7ccb31:	2b c1                	sub    %ecx,%eax
7ccb33:	89 54 24 48          	mov    %edx,0x48(%esp)
7ccb37:	40                   	inc    %eax
7ccb38:	0f b7 ca             	movzwl %dx,%ecx
7ccb3b:	0f af 44 24 40       	imul   0x40(%esp),%eax
7ccb40:	33 d2                	xor    %edx,%edx
7ccb42:	41                   	inc    %ecx
7ccb43:	48                   	dec    %eax
7ccb44:	f7 f1                	div    %ecx
7ccb46:	8b 97 94 00 00 00    	mov    0x94(%edi),%edx
7ccb4c:	0f b7 c0             	movzwl %ax,%eax
7ccb4f:	89 44 24 4c          	mov    %eax,0x4c(%esp)
7ccb53:	b8 01 00 00 00       	mov    $0x1,%eax
7ccb58:	89 44 24 2c          	mov    %eax,0x2c(%esp)
7ccb5c:	3b d0                	cmp    %eax,%edx
7ccb5e:	7e 25                	jle    0x7ccb85
7ccb60:	8b 8f 98 00 00 00    	mov    0x98(%edi),%ecx
7ccb66:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
7ccb6a:	83 c1 06             	add    $0x6,%ecx
7ccb6d:	0f 1f 00             	nopl   (%eax)
7ccb70:	66 39 39             	cmp    %di,(%ecx)
7ccb73:	76 08                	jbe    0x7ccb7d
7ccb75:	40                   	inc    %eax
7ccb76:	83 c1 04             	add    $0x4,%ecx
7ccb79:	3b c2                	cmp    %edx,%eax
7ccb7b:	7c f3                	jl     0x7ccb70
7ccb7d:	8b 7c 24 54          	mov    0x54(%esp),%edi
7ccb81:	89 44 24 2c          	mov    %eax,0x2c(%esp)
7ccb85:	8b 97 98 00 00 00    	mov    0x98(%edi),%edx
7ccb8b:	0f b7 4c 82 fc       	movzwl -0x4(%edx,%eax,4),%ecx
7ccb90:	0f b7 44 82 fe       	movzwl -0x2(%edx,%eax,4),%eax
7ccb95:	33 d2                	xor    %edx,%edx
7ccb97:	89 4c 24 38          	mov    %ecx,0x38(%esp)
7ccb9b:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7ccb9f:	41                   	inc    %ecx
7ccba0:	0f af c1             	imul   %ecx,%eax
7ccba3:	f7 74 24 40          	divl   0x40(%esp)
7ccba7:	8b 54 24 18          	mov    0x18(%esp),%edx
7ccbab:	4a                   	dec    %edx
7ccbac:	03 c2                	add    %edx,%eax
7ccbae:	8b 97 98 00 00 00    	mov    0x98(%edi),%edx
7ccbb4:	0f b7 c0             	movzwl %ax,%eax
7ccbb7:	89 44 24 24          	mov    %eax,0x24(%esp)
7ccbbb:	8b 44 24 2c          	mov    0x2c(%esp),%eax
7ccbbf:	0f b7 44 82 02       	movzwl 0x2(%edx,%eax,4),%eax
7ccbc4:	33 d2                	xor    %edx,%edx
7ccbc6:	0f af c1             	imul   %ecx,%eax
7ccbc9:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
7ccbcd:	f7 74 24 40          	divl   0x40(%esp)
7ccbd1:	01 44 24 18          	add    %eax,0x18(%esp)
7ccbd5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
7ccbdc:	00 00 00 00
7ccbe0:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
7ccbe6:	49                   	dec    %ecx
7ccbe7:	66 83 44 88 02 08    	addw   $0x8,0x2(%eax,%ecx,4)
7ccbed:	85 c9                	test   %ecx,%ecx
7ccbef:	7f ef                	jg     0x7ccbe0
7ccbf1:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
7ccbf7:	b9 d8 0e 00 00       	mov    $0xed8,%ecx
7ccbfc:	66 39 48 02          	cmp    %cx,0x2(%eax)
7ccc00:	76 0f                	jbe    0x7ccc11
7ccc02:	8d 87 90 00 00 00    	lea    0x90(%edi),%eax
7ccc08:	50                   	push   %eax
7ccc09:	e8 62 13 00 00       	call   0x7cdf70
7ccc0e:	83 c4 04             	add    $0x4,%esp
7ccc11:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7ccc15:	8b 54 24 24          	mov    0x24(%esp),%edx
7ccc19:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7ccc20:	8b 44 24 18          	mov    0x18(%esp),%eax
7ccc24:	33 c2                	xor    %edx,%eax
7ccc26:	a9 00 80 00 00       	test   $0x8000,%eax
7ccc2b:	8b 44 24 18          	mov    0x18(%esp),%eax
7ccc2f:	74 2a                	je     0x7ccc5b
7ccc31:	a9 00 40 00 00       	test   $0x4000,%eax
7ccc36:	0f 84 cf 00 00 00    	je     0x7ccd0b
7ccc3c:	f7 c2 00 40 00 00    	test   $0x4000,%edx
7ccc42:	0f 85 c3 00 00 00    	jne    0x7ccd0b
7ccc48:	81 74 24 1c 00 40 00 	xorl   $0x4000,0x1c(%esp)
7ccc4f:	00
7ccc50:	25 ff 3f 00 00       	and    $0x3fff,%eax
7ccc55:	81 ca 00 40 00 00    	or     $0x4000,%edx
7ccc5b:	03 c0                	add    %eax,%eax
7ccc5d:	89 44 24 18          	mov    %eax,0x18(%esp)
7ccc61:	8d 04 12             	lea    (%edx,%edx,1),%eax
7ccc64:	83 c8 01             	or     $0x1,%eax
7ccc67:	0f b7 d0             	movzwl %ax,%edx
7ccc6a:	89 54 24 24          	mov    %edx,0x24(%esp)
7ccc6e:	80 fb 01             	cmp    $0x1,%bl
7ccc71:	73 71                	jae    0x7ccce4
7ccc73:	3b f5                	cmp    %ebp,%esi
7ccc75:	72 1b                	jb     0x7ccc92
7ccc77:	57                   	push   %edi
7ccc78:	e8 13 14 00 00       	call   0x7ce090
7ccc7d:	83 c4 04             	add    $0x4,%esp
7ccc80:	85 c0                	test   %eax,%eax
7ccc82:	0f 85 05 0a 00 00    	jne    0x7cd68d
7ccc88:	8b 6f 30             	mov    0x30(%edi),%ebp
7ccc8b:	8b 77 2c             	mov    0x2c(%edi),%esi
7ccc8e:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7ccc92:	8a 3e                	mov    (%esi),%bh
7ccc94:	46                   	inc    %esi
7ccc95:	3b f5                	cmp    %ebp,%esi
7ccc97:	72 1b                	jb     0x7cccb4
7ccc99:	57                   	push   %edi
7ccc9a:	e8 f1 13 00 00       	call   0x7ce090
7ccc9f:	83 c4 04             	add    $0x4,%esp
7ccca2:	85 c0                	test   %eax,%eax
7ccca4:	0f 85 e3 09 00 00    	jne    0x7cd68d
7cccaa:	8b 6f 30             	mov    0x30(%edi),%ebp
7cccad:	8b 77 2c             	mov    0x2c(%edi),%esi
7cccb0:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cccb4:	8a 06                	mov    (%esi),%al
7cccb6:	b9 10 00 00 00       	mov    $0x10,%ecx
7cccbb:	0f b6 d7             	movzbl %bh,%edx
7cccbe:	46                   	inc    %esi
7cccbf:	c1 e2 08             	shl    $0x8,%edx
7cccc2:	0f b6 c0             	movzbl %al,%eax
7cccc5:	0b d0                	or     %eax,%edx
7cccc7:	0f b6 c3             	movzbl %bl,%eax
7cccca:	2b c8                	sub    %eax,%ecx
7ccccc:	80 c3 10             	add    $0x10,%bl
7ccccf:	d3 e2                	shl    %cl,%edx
7cccd1:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cccd5:	0b ca                	or     %edx,%ecx
7cccd7:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cccdb:	80 fb 01             	cmp    $0x1,%bl
7cccde:	72 93                	jb     0x7ccc73
7ccce0:	8b 54 24 24          	mov    0x24(%esp),%edx
7ccce4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7ccce8:	c1 e9 1f             	shr    $0x1f,%ecx
7ccceb:	03 c0                	add    %eax,%eax
7ccced:	0b c8                	or     %eax,%ecx
7cccef:	0f b7 c1             	movzwl %cx,%eax
7cccf2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cccf6:	03 c9                	add    %ecx,%ecx
7cccf8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cccfc:	fe cb                	dec    %bl
7cccfe:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7ccd02:	88 5c 24 12          	mov    %bl,0x12(%esp)
7ccd06:	e9 15 ff ff ff       	jmp    0x7ccc20
7ccd0b:	8b 44 24 38          	mov    0x38(%esp),%eax
7ccd0f:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
7ccd16:	00
7ccd17:	8a 90 90 c3 c2 00    	mov    0xc2c390(%eax),%dl
7ccd1d:	88 54 24 13          	mov    %dl,0x13(%esp)
7ccd21:	84 d2                	test   %dl,%dl
7ccd23:	0f 84 bf 00 00 00    	je     0x7ccde8
7ccd29:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7ccd30:	80 fb 10             	cmp    $0x10,%bl
7ccd33:	77 6a                	ja     0x7ccd9f
7ccd35:	3b f5                	cmp    %ebp,%esi
7ccd37:	72 1b                	jb     0x7ccd54
7ccd39:	57                   	push   %edi
7ccd3a:	e8 51 13 00 00       	call   0x7ce090
7ccd3f:	83 c4 04             	add    $0x4,%esp
7ccd42:	85 c0                	test   %eax,%eax
7ccd44:	0f 85 43 09 00 00    	jne    0x7cd68d
7ccd4a:	8b 6f 30             	mov    0x30(%edi),%ebp
7ccd4d:	8b 77 2c             	mov    0x2c(%edi),%esi
7ccd50:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7ccd54:	8a 3e                	mov    (%esi),%bh
7ccd56:	46                   	inc    %esi
7ccd57:	3b f5                	cmp    %ebp,%esi
7ccd59:	72 1b                	jb     0x7ccd76
7ccd5b:	57                   	push   %edi
7ccd5c:	e8 2f 13 00 00       	call   0x7ce090
7ccd61:	83 c4 04             	add    $0x4,%esp
7ccd64:	85 c0                	test   %eax,%eax
7ccd66:	0f 85 21 09 00 00    	jne    0x7cd68d
7ccd6c:	8b 6f 30             	mov    0x30(%edi),%ebp
7ccd6f:	8b 77 2c             	mov    0x2c(%edi),%esi
7ccd72:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7ccd76:	8a 06                	mov    (%esi),%al
7ccd78:	b9 10 00 00 00       	mov    $0x10,%ecx
7ccd7d:	0f b6 d7             	movzbl %bh,%edx
7ccd80:	46                   	inc    %esi
7ccd81:	c1 e2 08             	shl    $0x8,%edx
7ccd84:	0f b6 c0             	movzbl %al,%eax
7ccd87:	0b d0                	or     %eax,%edx
7ccd89:	0f b6 c3             	movzbl %bl,%eax
7ccd8c:	2b c8                	sub    %eax,%ecx
7ccd8e:	d3 e2                	shl    %cl,%edx
7ccd90:	09 54 24 14          	or     %edx,0x14(%esp)
7ccd94:	80 c3 10             	add    $0x10,%bl
7ccd97:	8a 54 24 13          	mov    0x13(%esp),%dl
7ccd9b:	88 5c 24 12          	mov    %bl,0x12(%esp)
7ccd9f:	38 54 24 12          	cmp    %dl,0x12(%esp)
7ccda3:	b9 20 00 00 00       	mov    $0x20,%ecx
7ccda8:	0f b6 44 24 12       	movzbl 0x12(%esp),%eax