7cef23:	89 44 24 34          	mov    %eax,0x34(%esp)
7cef27:	3b ea                	cmp    %edx,%ebp
7cef29:	7c 95                	jl     0x7ceec0
7cef2b:	8b 44 24 14          	mov    0x14(%esp),%eax
7cef2f:	b9 20 00 00 00       	mov    $0x20,%ecx
7cef34:	2b ca                	sub    %edx,%ecx
7cef36:	2b ea                	sub    %edx,%ebp
7cef38:	d3 e8                	shr    %cl,%eax
7cef3a:	8b ca                	mov    %edx,%ecx
7cef3c:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cef40:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7cef44:	8d 0c c1             	lea    (%ecx,%eax,8),%ecx
7cef47:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
7cef4b:	83 fd 10             	cmp    $0x10,%ebp
7cef4e:	0f 8d 7c 00 00 00    	jge    0x7cefd0
7cef54:	b8 10 00 00 00       	mov    $0x10,%eax
7cef59:	2b c5                	sub    %ebp,%eax
7cef5b:	89 44 24 18          	mov    %eax,0x18(%esp)
7cef5f:	90                   	nop
7cef60:	3b f3                	cmp    %ebx,%esi
7cef62:	72 17                	jb     0x7cef7b
7cef64:	57                   	push   %edi
7cef65:	e8 06 25 00 00       	call   0x7d1470
7cef6a:	83 c4 04             	add    $0x4,%esp
7cef6d:	85 c0                	test   %eax,%eax
7cef6f:	0f 85 7f 0f 00 00    	jne    0x7cfef4
7cef75:	8b 77 60             	mov    0x60(%edi),%esi
7cef78:	8b 5f 64             	mov    0x64(%edi),%ebx
7cef7b:	8a 06                	mov    (%esi),%al
7cef7d:	46                   	inc    %esi
7cef7e:	88 44 24 13          	mov    %al,0x13(%esp)
7cef82:	3b f3                	cmp    %ebx,%esi
7cef84:	72 17                	jb     0x7cef9d
7cef86:	57                   	push   %edi
7cef87:	e8 e4 24 00 00       	call   0x7d1470
7cef8c:	83 c4 04             	add    $0x4,%esp
7cef8f:	85 c0                	test   %eax,%eax
7cef91:	0f 85 5d 0f 00 00    	jne    0x7cfef4
7cef97:	8b 77 60             	mov    0x60(%edi),%esi
7cef9a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cef9d:	8a 06                	mov    (%esi),%al
7cef9f:	83 c5 10             	add    $0x10,%ebp
7cefa2:	0f b6 d0             	movzbl %al,%edx
7cefa5:	46                   	inc    %esi
7cefa6:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cefab:	c1 e2 08             	shl    $0x8,%edx
7cefae:	0b d0                	or     %eax,%edx
7cefb0:	8b 44 24 18          	mov    0x18(%esp),%eax
7cefb4:	8b c8                	mov    %eax,%ecx
7cefb6:	83 e8 10             	sub    $0x10,%eax
7cefb9:	d3 e2                	shl    %cl,%edx
7cefbb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cefbf:	0b ca                	or     %edx,%ecx
7cefc1:	89 44 24 18          	mov    %eax,0x18(%esp)
7cefc5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cefc9:	83 fd 10             	cmp    $0x10,%ebp
7cefcc:	7c 92                	jl     0x7cef60
7cefce:	eb 04                	jmp    0x7cefd4
7cefd0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cefd4:	8b c1                	mov    %ecx,%eax
7cefd6:	c1 e8 19             	shr    $0x19,%eax
7cefd9:	0f b7 84 47 9a 79 00 	movzwl 0x799a(%edi,%eax,2),%eax
7cefe0:	00
7cefe1:	83 f8 08             	cmp    $0x8,%eax
7cefe4:	72 32                	jb     0x7cf018
7cefe6:	ba 00 00 00 02       	mov    $0x2000000,%edx
7cefeb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
7ceff0:	d1 fa                	sar    $1,%edx
7ceff2:	0f 84 3c 0f 00 00    	je     0x7cff34
7ceff8:	23 ca                	and    %edx,%ecx
7ceffa:	0f b7 c0             	movzwl %ax,%eax
7ceffd:	f7 d9                	neg    %ecx
7cefff:	1b c9                	sbb    %ecx,%ecx
7cf001:	03 c0                	add    %eax,%eax
7cf003:	f7 d9                	neg    %ecx
7cf005:	0b c8                	or     %eax,%ecx
7cf007:	0f b7 84 4f 9a 79 00 	movzwl 0x799a(%edi,%ecx,2),%eax
7cf00e:	00
7cf00f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf013:	83 f8 08             	cmp    $0x8,%eax
7cf016:	73 d8                	jae    0x7ceff0
7cf018:	0f b7 c0             	movzwl %ax,%eax
7cf01b:	0f b6 8c 07 5a 0c 00 	movzbl 0xc5a(%edi,%eax,1),%ecx
7cf022:	00
7cf023:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cf027:	2b e9                	sub    %ecx,%ebp
7cf029:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7cf02d:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cf031:	03 c8                	add    %eax,%ecx
7cf033:	e9 7e 01 00 00       	jmp    0x7cf1b6
7cf038:	0f 85 d0 00 00 00    	jne    0x7cf10e
7cf03e:	83 fd 10             	cmp    $0x10,%ebp
7cf041:	0f 8d 7b 00 00 00    	jge    0x7cf0c2
7cf047:	b8 10 00 00 00       	mov    $0x10,%eax
7cf04c:	2b c5                	sub    %ebp,%eax
7cf04e:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf052:	3b f3                	cmp    %ebx,%esi
7cf054:	72 17                	jb     0x7cf06d
7cf056:	57                   	push   %edi
7cf057:	e8 14 24 00 00       	call   0x7d1470
7cf05c:	83 c4 04             	add    $0x4,%esp
7cf05f:	85 c0                	test   %eax,%eax
7cf061:	0f 85 8d 0e 00 00    	jne    0x7cfef4
7cf067:	8b 77 60             	mov    0x60(%edi),%esi
7cf06a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf06d:	8a 06                	mov    (%esi),%al
7cf06f:	46                   	inc    %esi
7cf070:	88 44 24 13          	mov    %al,0x13(%esp)
7cf074:	3b f3                	cmp    %ebx,%esi
7cf076:	72 17                	jb     0x7cf08f
7cf078:	57                   	push   %edi
7cf079:	e8 f2 23 00 00       	call   0x7d1470
7cf07e:	83 c4 04             	add    $0x4,%esp
7cf081:	85 c0                	test   %eax,%eax
7cf083:	0f 85 6b 0e 00 00    	jne    0x7cfef4
7cf089:	8b 77 60             	mov    0x60(%edi),%esi
7cf08c:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf08f:	8a 06                	mov    (%esi),%al
7cf091:	83 c5 10             	add    $0x10,%ebp
7cf094:	0f b6 d0             	movzbl %al,%edx
7cf097:	46                   	inc    %esi
7cf098:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf09d:	c1 e2 08             	shl    $0x8,%edx
7cf0a0:	0b d0                	or     %eax,%edx
7cf0a2:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf0a6:	8b c8                	mov    %eax,%ecx
7cf0a8:	83 e8 10             	sub    $0x10,%eax
7cf0ab:	d3 e2                	shl    %cl,%edx
7cf0ad:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf0b1:	0b ca                	or     %edx,%ecx
7cf0b3:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf0b7:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf0bb:	83 fd 10             	cmp    $0x10,%ebp
7cf0be:	7c 92                	jl     0x7cf052
7cf0c0:	eb 04                	jmp    0x7cf0c6
7cf0c2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf0c6:	8b c1                	mov    %ecx,%eax
7cf0c8:	c1 e8 19             	shr    $0x19,%eax
7cf0cb:	0f b7 84 47 9a 79 00 	movzwl 0x799a(%edi,%eax,2),%eax
7cf0d2:	00
7cf0d3:	83 f8 08             	cmp    $0x8,%eax
7cf0d6:	0f 82 3c ff ff ff    	jb     0x7cf018
7cf0dc:	ba 00 00 00 02       	mov    $0x2000000,%edx
7cf0e1:	d1 fa                	sar    $1,%edx
7cf0e3:	0f 84 4b 0e 00 00    	je     0x7cff34
7cf0e9:	23 ca                	and    %edx,%ecx
7cf0eb:	0f b7 c0             	movzwl %ax,%eax
7cf0ee:	f7 d9                	neg    %ecx
7cf0f0:	1b c9                	sbb    %ecx,%ecx
7cf0f2:	03 c0                	add    %eax,%eax
7cf0f4:	f7 d9                	neg    %ecx
7cf0f6:	0b c8                	or     %eax,%ecx
7cf0f8:	0f b7 84 4f 9a 79 00 	movzwl 0x799a(%edi,%ecx,2),%eax
7cf0ff:	00
7cf100:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf104:	83 f8 08             	cmp    $0x8,%eax
7cf107:	73 d8                	jae    0x7cf0e1
7cf109:	e9 0a ff ff ff       	jmp    0x7cf018
7cf10e:	85 d2                	test   %edx,%edx
7cf110:	0f 84 9b 00 00 00    	je     0x7cf1b1
7cf116:	3b ea                	cmp    %edx,%ebp
7cf118:	7d 76                	jge    0x7cf190
7cf11a:	b8 10 00 00 00       	mov    $0x10,%eax
7cf11f:	2b c5                	sub    %ebp,%eax
7cf121:	89 44 24 34          	mov    %eax,0x34(%esp)
7cf125:	3b f3                	cmp    %ebx,%esi
7cf127:	72 17                	jb     0x7cf140
7cf129:	57                   	push   %edi
7cf12a:	e8 41 23 00 00       	call   0x7d1470
7cf12f:	83 c4 04             	add    $0x4,%esp
7cf132:	85 c0                	test   %eax,%eax
7cf134:	0f 85 ba 0d 00 00    	jne    0x7cfef4
7cf13a:	8b 77 60             	mov    0x60(%edi),%esi
7cf13d:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf140:	8a 06                	mov    (%esi),%al
7cf142:	46                   	inc    %esi
7cf143:	88 44 24 13          	mov    %al,0x13(%esp)
7cf147:	3b f3                	cmp    %ebx,%esi
7cf149:	72 17                	jb     0x7cf162
7cf14b:	57                   	push   %edi
7cf14c:	e8 1f 23 00 00       	call   0x7d1470
7cf151:	83 c4 04             	add    $0x4,%esp
7cf154:	85 c0                	test   %eax,%eax
7cf156:	0f 85 98 0d 00 00    	jne    0x7cfef4
7cf15c:	8b 77 60             	mov    0x60(%edi),%esi
7cf15f:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf162:	8a 06                	mov    (%esi),%al
7cf164:	83 c5 10             	add    $0x10,%ebp
7cf167:	0f b6 d0             	movzbl %al,%edx
7cf16a:	46                   	inc    %esi
7cf16b:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf170:	c1 e2 08             	shl    $0x8,%edx
7cf173:	0b d0                	or     %eax,%edx
7cf175:	8b 44 24 34          	mov    0x34(%esp),%eax
7cf179:	8b c8                	mov    %eax,%ecx
7cf17b:	83 e8 10             	sub    $0x10,%eax
7cf17e:	d3 e2                	shl    %cl,%edx
7cf180:	09 54 24 14          	or     %edx,0x14(%esp)
7cf184:	8b 54 24 18          	mov    0x18(%esp),%edx
7cf188:	89 44 24 34          	mov    %eax,0x34(%esp)
7cf18c:	3b ea                	cmp    %edx,%ebp
7cf18e:	7c 95                	jl     0x7cf125
7cf190:	8b 44 24 14          	mov    0x14(%esp),%eax
7cf194:	b9 20 00 00 00       	mov    $0x20,%ecx
7cf199:	2b ca                	sub    %edx,%ecx
7cf19b:	2b ea                	sub    %edx,%ebp
7cf19d:	d3 e8                	shr    %cl,%eax
7cf19f:	8b ca                	mov    %edx,%ecx
7cf1a1:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cf1a5:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7cf1a9:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cf1ad:	03 c8                	add    %eax,%ecx
7cf1af:	eb 05                	jmp    0x7cf1b6
7cf1b1:	b9 01 00 00 00       	mov    $0x1,%ecx
7cf1b6:	8b 54 24 3c          	mov    0x3c(%esp),%edx
7cf1ba:	89 54 24 34          	mov    %edx,0x34(%esp)
7cf1be:	8b 54 24 30          	mov    0x30(%esp),%edx
7cf1c2:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
7cf1c6:	89 54 24 3c          	mov    %edx,0x3c(%esp)
7cf1ca:	89 4c 24 30          	mov    %ecx,0x30(%esp)
7cf1ce:	eb 2c                	jmp    0x7cf1fc
7cf1d0:	8b 44 24 34          	mov    0x34(%esp),%eax
7cf1d4:	8b 54 24 30          	mov    0x30(%esp),%edx
7cf1d8:	89 54 24 34          	mov    %edx,0x34(%esp)
7cf1dc:	89 44 24 30          	mov    %eax,0x30(%esp)
7cf1e0:	eb 16                	jmp    0x7cf1f8
7cf1e2:	8b 44 24 3c          	mov    0x3c(%esp),%eax
7cf1e6:	8b 54 24 30          	mov    0x30(%esp),%edx
7cf1ea:	89 54 24 3c          	mov    %edx,0x3c(%esp)
7cf1ee:	89 44 24 30          	mov    %eax,0x30(%esp)
7cf1f2:	eb 04                	jmp    0x7cf1f8
7cf1f4:	8b 44 24 30          	mov    0x30(%esp),%eax
7cf1f8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cf1fc:	8b 54 24 20          	mov    0x20(%esp),%edx
7cf200:	81 fa 01 01 00 00    	cmp    $0x101,%edx
7cf206:	0f 85 3f 03 00 00    	jne    0x7cf54b
7cf20c:	80 7f 54 00          	cmpb   $0x0,0x54(%edi)
7cf210:	0f 84 35 03 00 00    	je     0x7cf54b
7cf216:	83 fd 03             	cmp    $0x3,%ebp
7cf219:	0f 8d 81 00 00 00    	jge    0x7cf2a0
7cf21f:	b8 10 00 00 00       	mov    $0x10,%eax
7cf224:	2b c5                	sub    %ebp,%eax
7cf226:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf22a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
7cf230:	3b f3                	cmp    %ebx,%esi
7cf232:	72 17                	jb     0x7cf24b
7cf234:	57                   	push   %edi
7cf235:	e8 36 22 00 00       	call   0x7d1470
7cf23a:	83 c4 04             	add    $0x4,%esp
7cf23d:	85 c0                	test   %eax,%eax
7cf23f:	0f 85 af 0c 00 00    	jne    0x7cfef4
7cf245:	8b 77 60             	mov    0x60(%edi),%esi
7cf248:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf24b:	8a 06                	mov    (%esi),%al
7cf24d:	46                   	inc    %esi
7cf24e:	88 44 24 13          	mov    %al,0x13(%esp)
7cf252:	3b f3                	cmp    %ebx,%esi
7cf254:	72 17                	jb     0x7cf26d
7cf256:	57                   	push   %edi
7cf257:	e8 14 22 00 00       	call   0x7d1470
7cf25c:	83 c4 04             	add    $0x4,%esp
7cf25f:	85 c0                	test   %eax,%eax
7cf261:	0f 85 8d 0c 00 00    	jne    0x7cfef4
7cf267:	8b 77 60             	mov    0x60(%edi),%esi
7cf26a:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf26d:	8a 06                	mov    (%esi),%al
7cf26f:	83 c5 10             	add    $0x10,%ebp
7cf272:	0f b6 d0             	movzbl %al,%edx
7cf275:	46                   	inc    %esi
7cf276:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf27b:	c1 e2 08             	shl    $0x8,%edx
7cf27e:	0b d0                	or     %eax,%edx
7cf280:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf284:	8b c8                	mov    %eax,%ecx
7cf286:	83 e8 10             	sub    $0x10,%eax
7cf289:	d3 e2                	shl    %cl,%edx
7cf28b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf28f:	0b ca                	or     %edx,%ecx
7cf291:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf295:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf299:	83 fd 03             	cmp    $0x3,%ebp
7cf29c:	7c 92                	jl     0x7cf230
7cf29e:	eb 04                	jmp    0x7cf2a4
7cf2a0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf2a4:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
7cf2aa:	0f 83 95 00 00 00    	jae    0x7cf345
7cf2b0:	03 c9                	add    %ecx,%ecx
7cf2b2:	4d                   	dec    %ebp
7cf2b3:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf2b7:	83 fd 08             	cmp    $0x8,%ebp
7cf2ba:	7d 79                	jge    0x7cf335
7cf2bc:	b8 10 00 00 00       	mov    $0x10,%eax
7cf2c1:	2b c5                	sub    %ebp,%eax
7cf2c3:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf2c7:	3b f3                	cmp    %ebx,%esi
7cf2c9:	72 17                	jb     0x7cf2e2
7cf2cb:	57                   	push   %edi
7cf2cc:	e8 9f 21 00 00       	call   0x7d1470
7cf2d1:	83 c4 04             	add    $0x4,%esp
7cf2d4:	85 c0                	test   %eax,%eax
7cf2d6:	0f 85 18 0c 00 00    	jne    0x7cfef4
7cf2dc:	8b 77 60             	mov    0x60(%edi),%esi
7cf2df:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf2e2:	8a 06                	mov    (%esi),%al
7cf2e4:	46                   	inc    %esi
7cf2e5:	88 44 24 13          	mov    %al,0x13(%esp)
7cf2e9:	3b f3                	cmp    %ebx,%esi
7cf2eb:	72 17                	jb     0x7cf304
7cf2ed:	57                   	push   %edi
7cf2ee:	e8 7d 21 00 00       	call   0x7d1470
7cf2f3:	83 c4 04             	add    $0x4,%esp
7cf2f6:	85 c0                	test   %eax,%eax
7cf2f8:	0f 85 f6 0b 00 00    	jne    0x7cfef4
7cf2fe:	8b 77 60             	mov    0x60(%edi),%esi
7cf301:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf304:	8a 06                	mov    (%esi),%al
7cf306:	83 c5 10             	add    $0x10,%ebp
7cf309:	0f b6 d0             	movzbl %al,%edx
7cf30c:	46                   	inc    %esi
7cf30d:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf312:	c1 e2 08             	shl    $0x8,%edx
7cf315:	0b d0                	or     %eax,%edx
7cf317:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf31b:	8b c8                	mov    %eax,%ecx
7cf31d:	83 e8 10             	sub    $0x10,%eax
7cf320:	d3 e2                	shl    %cl,%edx
7cf322:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf326:	0b ca                	or     %edx,%ecx
7cf328:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf32c:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf330:	83 fd 08             	cmp    $0x8,%ebp
7cf333:	7c 92                	jl     0x7cf2c7
7cf335:	8b c1                	mov    %ecx,%eax
7cf337:	c1 e1 08             	shl    $0x8,%ecx
7cf33a:	c1 e8 18             	shr    $0x18,%eax
7cf33d:	83 ed 08             	sub    $0x8,%ebp
7cf340:	e9 f4 01 00 00       	jmp    0x7cf539
7cf345:	8b c1                	mov    %ecx,%eax
7cf347:	25 00 00 00 c0       	and    $0xc0000000,%eax
7cf34c:	3d 00 00 00 80       	cmp    $0x80000000,%eax
7cf351:	0f 85 a1 00 00 00    	jne    0x7cf3f8
7cf357:	c1 e1 02             	shl    $0x2,%ecx
7cf35a:	83 ed 02             	sub    $0x2,%ebp
7cf35d:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf361:	83 fd 0a             	cmp    $0xa,%ebp
7cf364:	0f 8d 79 00 00 00    	jge    0x7cf3e3
7cf36a:	b8 10 00 00 00       	mov    $0x10,%eax
7cf36f:	2b c5                	sub    %ebp,%eax
7cf371:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf375:	3b f3                	cmp    %ebx,%esi