4e8033:	03 de                	add    %esi,%ebx
4e8035:	81 c3 00 00 08 00    	add    $0x80000,%ebx
4e803b:	c1 fb 14             	sar    $0x14,%ebx
4e803e:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
4e8044:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
4e8047:	88 19                	mov    %bl,(%ecx)
4e8049:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4e804c:	2b de                	sub    %esi,%ebx
4e804e:	8b 75 f4             	mov    -0xc(%ebp),%esi
4e8051:	81 c3 00 00 08 00    	add    $0x80000,%ebx
4e8057:	c1 fb 14             	sar    $0x14,%ebx
4e805a:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
4e8060:	83 c0 20             	add    $0x20,%eax
4e8063:	8a 1c 1e             	mov    (%esi,%ebx,1),%bl
4e8066:	88 59 01             	mov    %bl,0x1(%ecx)
4e8069:	42                   	inc    %edx
4e806a:	83 45 ec 04          	addl   $0x4,-0x14(%ebp)
4e806e:	83 fa 02             	cmp    $0x2,%edx
4e8071:	0f 8c 31 ff ff ff    	jl     0x4e7fa8
4e8077:	5f                   	pop    %edi
4e8078:	5e                   	pop    %esi
4e8079:	5b                   	pop    %ebx
4e807a:	8b e5                	mov    %ebp,%esp
4e807c:	5d                   	pop    %ebp
4e807d:	c2 08 00             	ret    $0x8
4e8080:	55                   	push   %ebp
4e8081:	8b ec                	mov    %esp,%ebp
4e8083:	56                   	push   %esi
4e8084:	8b b0 44 01 00 00    	mov    0x144(%eax),%esi
4e808a:	8b 42 50             	mov    0x50(%edx),%eax
4e808d:	0f bf 11             	movswl (%ecx),%edx
4e8090:	0f af 10             	imul   (%eax),%edx
4e8093:	8b c2                	mov    %edx,%eax
4e8095:	81 c6 80 00 00 00    	add    $0x80,%esi
4e809b:	83 c0 04             	add    $0x4,%eax
4e809e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4e80a1:	c1 f8 03             	sar    $0x3,%eax
4e80a4:	25 ff 03 00 00       	and    $0x3ff,%eax
4e80a9:	8a 14 06             	mov    (%esi,%eax,1),%dl
4e80ac:	8b 01                	mov    (%ecx),%eax
4e80ae:	8b 4d 08             	mov    0x8(%ebp),%ecx
4e80b1:	88 14 08             	mov    %dl,(%eax,%ecx,1)
4e80b4:	5e                   	pop    %esi
4e80b5:	5d                   	pop    %ebp
4e80b6:	c2 08 00             	ret    $0x8
4e80b9:	8d 40 00             	lea    0x0(%eax),%eax
4e80bc:	53                   	push   %ebx
4e80bd:	8b d8                	mov    %eax,%ebx
4e80bf:	8b 03                	mov    (%ebx),%eax
4e80c1:	c7 40 14 66 00 00 00 	movl   $0x66,0x14(%eax)
4e80c8:	ba 01 00 00 00       	mov    $0x1,%edx
4e80cd:	8b c3                	mov    %ebx,%eax
4e80cf:	8b 08                	mov    (%eax),%ecx
4e80d1:	ff 51 04             	call   *0x4(%ecx)
4e80d4:	8b 93 b8 01 00 00    	mov    0x1b8(%ebx),%edx
4e80da:	8b 42 0c             	mov    0xc(%edx),%eax
4e80dd:	85 c0                	test   %eax,%eax
4e80df:	74 0f                	je     0x4e80f0
4e80e1:	8b 13                	mov    (%ebx),%edx
4e80e3:	8b c3                	mov    %ebx,%eax
4e80e5:	c7 42 14 3d 00 00 00 	movl   $0x3d,0x14(%edx)
4e80ec:	8b 10                	mov    (%eax),%edx
4e80ee:	ff 12                	call   *(%edx)
4e80f0:	33 d2                	xor    %edx,%edx
4e80f2:	8d 83 e4 00 00 00    	lea    0xe4(%ebx),%eax
4e80f8:	c6 00 00             	movb   $0x0,(%eax)
4e80fb:	c6 40 10 01          	movb   $0x1,0x10(%eax)
4e80ff:	c6 40 20 05          	movb   $0x5,0x20(%eax)
4e8103:	42                   	inc    %edx
4e8104:	40                   	inc    %eax
4e8105:	83 fa 10             	cmp    $0x10,%edx
4e8108:	7c ee                	jl     0x4e80f8
4e810a:	33 c9                	xor    %ecx,%ecx
4e810c:	33 c0                	xor    %eax,%eax
4e810e:	89 8b 14 01 00 00    	mov    %ecx,0x114(%ebx)
4e8114:	89 43 28             	mov    %eax,0x28(%ebx)
4e8117:	33 d2                	xor    %edx,%edx
4e8119:	33 c9                	xor    %ecx,%ecx
4e811b:	89 93 2c 01 00 00    	mov    %edx,0x12c(%ebx)
4e8121:	89 8b 18 01 00 00    	mov    %ecx,0x118(%ebx)
4e8127:	c6 83 1c 01 00 00 01 	movb   $0x1,0x11c(%ebx)
4e812e:	c6 83 1d 01 00 00 01 	movb   $0x1,0x11d(%ebx)
4e8135:	c6 83 1e 01 00 00 00 	movb   $0x0,0x11e(%ebx)
4e813c:	66 c7 83 20 01 00 00 	movw   $0x1,0x120(%ebx)
4e8143:	01 00
4e8145:	66 c7 83 22 01 00 00 	movw   $0x1,0x122(%ebx)
4e814c:	01 00
4e814e:	33 c0                	xor    %eax,%eax
4e8150:	89 83 24 01 00 00    	mov    %eax,0x124(%ebx)
4e8156:	b8 01 00 00 00       	mov    $0x1,%eax
4e815b:	c6 83 28 01 00 00 00 	movb   $0x0,0x128(%ebx)
4e8162:	8b 93 b8 01 00 00    	mov    0x1b8(%ebx),%edx
4e8168:	c7 42 0c 01 00 00 00 	movl   $0x1,0xc(%edx)
4e816f:	5b                   	pop    %ebx
4e8170:	c3                   	ret
4e8171:	90                   	nop
4e8172:	90                   	nop
4e8173:	90                   	nop
4e8174:	53                   	push   %ebx
4e8175:	56                   	push   %esi
4e8176:	57                   	push   %edi
4e8177:	55                   	push   %ebp
4e8178:	83 c4 f0             	add    $0xfffffff0,%esp
4e817b:	8b d8                	mov    %eax,%ebx
4e817d:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4e8181:	89 14 24             	mov    %edx,(%esp)
4e8184:	8b 43 18             	mov    0x18(%ebx),%eax
4e8187:	89 44 24 0c          	mov    %eax,0xc(%esp)
4e818b:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e818f:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e8193:	8b 78 04             	mov    0x4(%eax),%edi
4e8196:	8b 32                	mov    (%edx),%esi
4e8198:	8b 04 24             	mov    (%esp),%eax
4e819b:	85 ff                	test   %edi,%edi
4e819d:	89 83 dc 00 00 00    	mov    %eax,0xdc(%ebx)
4e81a3:	8b 54 24 04          	mov    0x4(%esp),%edx
4e81a7:	89 93 e0 00 00 00    	mov    %edx,0xe0(%ebx)
4e81ad:	75 21                	jne    0x4e81d0
4e81af:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e81b3:	8b c3                	mov    %ebx,%eax
4e81b5:	ff 56 0c             	call   *0xc(%esi)
4e81b8:	85 c0                	test   %eax,%eax
4e81ba:	75 07                	jne    0x4e81c3
4e81bc:	33 c0                	xor    %eax,%eax
4e81be:	e9 2d 03 00 00       	jmp    0x4e84f0
4e81c3:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e81c7:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e81cb:	8b 78 04             	mov    0x4(%eax),%edi
4e81ce:	8b 32                	mov    (%edx),%esi
4e81d0:	4f                   	dec    %edi
4e81d1:	0f b6 2e             	movzbl (%esi),%ebp
4e81d4:	c1 e5 08             	shl    $0x8,%ebp
4e81d7:	46                   	inc    %esi
4e81d8:	85 ff                	test   %edi,%edi
4e81da:	75 21                	jne    0x4e81fd
4e81dc:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e81e0:	8b c3                	mov    %ebx,%eax
4e81e2:	ff 56 0c             	call   *0xc(%esi)
4e81e5:	85 c0                	test   %eax,%eax
4e81e7:	75 07                	jne    0x4e81f0
4e81e9:	33 c0                	xor    %eax,%eax
4e81eb:	e9 00 03 00 00       	jmp    0x4e84f0
4e81f0:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e81f4:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e81f8:	8b 78 04             	mov    0x4(%eax),%edi
4e81fb:	8b 32                	mov    (%edx),%esi
4e81fd:	4f                   	dec    %edi
4e81fe:	33 c0                	xor    %eax,%eax
4e8200:	8a 06                	mov    (%esi),%al
4e8202:	03 e8                	add    %eax,%ebp
4e8204:	46                   	inc    %esi
4e8205:	85 ff                	test   %edi,%edi
4e8207:	75 21                	jne    0x4e822a
4e8209:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e820d:	8b c3                	mov    %ebx,%eax
4e820f:	ff 56 0c             	call   *0xc(%esi)
4e8212:	85 c0                	test   %eax,%eax
4e8214:	75 07                	jne    0x4e821d
4e8216:	33 c0                	xor    %eax,%eax
4e8218:	e9 d3 02 00 00       	jmp    0x4e84f0
4e821d:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e8221:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e8225:	8b 78 04             	mov    0x4(%eax),%edi
4e8228:	8b 32                	mov    (%edx),%esi
4e822a:	4f                   	dec    %edi
4e822b:	33 c0                	xor    %eax,%eax
4e822d:	8a 06                	mov    (%esi),%al
4e822f:	89 83 d4 00 00 00    	mov    %eax,0xd4(%ebx)
4e8235:	46                   	inc    %esi
4e8236:	85 ff                	test   %edi,%edi
4e8238:	75 21                	jne    0x4e825b
4e823a:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e823e:	8b c3                	mov    %ebx,%eax
4e8240:	ff 56 0c             	call   *0xc(%esi)
4e8243:	85 c0                	test   %eax,%eax
4e8245:	75 07                	jne    0x4e824e
4e8247:	33 c0                	xor    %eax,%eax
4e8249:	e9 a2 02 00 00       	jmp    0x4e84f0
4e824e:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e8252:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e8256:	8b 78 04             	mov    0x4(%eax),%edi
4e8259:	8b 32                	mov    (%edx),%esi
4e825b:	33 c0                	xor    %eax,%eax
4e825d:	4f                   	dec    %edi
4e825e:	8a 06                	mov    (%esi),%al
4e8260:	46                   	inc    %esi
4e8261:	c1 e0 08             	shl    $0x8,%eax
4e8264:	85 ff                	test   %edi,%edi
4e8266:	89 43 20             	mov    %eax,0x20(%ebx)
4e8269:	75 21                	jne    0x4e828c
4e826b:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e826f:	8b c3                	mov    %ebx,%eax
4e8271:	ff 56 0c             	call   *0xc(%esi)
4e8274:	85 c0                	test   %eax,%eax
4e8276:	75 07                	jne    0x4e827f
4e8278:	33 c0                	xor    %eax,%eax
4e827a:	e9 71 02 00 00       	jmp    0x4e84f0
4e827f:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e8283:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e8287:	8b 78 04             	mov    0x4(%eax),%edi
4e828a:	8b 32                	mov    (%edx),%esi
4e828c:	4f                   	dec    %edi
4e828d:	33 c0                	xor    %eax,%eax
4e828f:	8a 06                	mov    (%esi),%al
4e8291:	01 43 20             	add    %eax,0x20(%ebx)
4e8294:	46                   	inc    %esi
4e8295:	85 ff                	test   %edi,%edi
4e8297:	75 21                	jne    0x4e82ba
4e8299:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e829d:	8b c3                	mov    %ebx,%eax
4e829f:	ff 56 0c             	call   *0xc(%esi)
4e82a2:	85 c0                	test   %eax,%eax
4e82a4:	75 07                	jne    0x4e82ad
4e82a6:	33 c0                	xor    %eax,%eax
4e82a8:	e9 43 02 00 00       	jmp    0x4e84f0
4e82ad:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e82b1:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e82b5:	8b 78 04             	mov    0x4(%eax),%edi
4e82b8:	8b 32                	mov    (%edx),%esi
4e82ba:	33 c0                	xor    %eax,%eax
4e82bc:	4f                   	dec    %edi
4e82bd:	8a 06                	mov    (%esi),%al
4e82bf:	46                   	inc    %esi
4e82c0:	c1 e0 08             	shl    $0x8,%eax
4e82c3:	85 ff                	test   %edi,%edi
4e82c5:	89 43 1c             	mov    %eax,0x1c(%ebx)
4e82c8:	75 21                	jne    0x4e82eb
4e82ca:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e82ce:	8b c3                	mov    %ebx,%eax
4e82d0:	ff 56 0c             	call   *0xc(%esi)
4e82d3:	85 c0                	test   %eax,%eax
4e82d5:	75 07                	jne    0x4e82de
4e82d7:	33 c0                	xor    %eax,%eax
4e82d9:	e9 12 02 00 00       	jmp    0x4e84f0
4e82de:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e82e2:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e82e6:	8b 78 04             	mov    0x4(%eax),%edi
4e82e9:	8b 32                	mov    (%edx),%esi
4e82eb:	4f                   	dec    %edi
4e82ec:	33 c0                	xor    %eax,%eax
4e82ee:	8a 06                	mov    (%esi),%al
4e82f0:	01 43 1c             	add    %eax,0x1c(%ebx)
4e82f3:	46                   	inc    %esi
4e82f4:	85 ff                	test   %edi,%edi
4e82f6:	75 21                	jne    0x4e8319
4e82f8:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e82fc:	8b c3                	mov    %ebx,%eax
4e82fe:	ff 56 0c             	call   *0xc(%esi)
4e8301:	85 c0                	test   %eax,%eax
4e8303:	75 07                	jne    0x4e830c
4e8305:	33 c0                	xor    %eax,%eax
4e8307:	e9 e4 01 00 00       	jmp    0x4e84f0
4e830c:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e8310:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e8314:	8b 78 04             	mov    0x4(%eax),%edi
4e8317:	8b 32                	mov    (%edx),%esi
4e8319:	33 c0                	xor    %eax,%eax
4e831b:	4f                   	dec    %edi
4e831c:	8a 06                	mov    (%esi),%al
4e831e:	46                   	inc    %esi
4e831f:	83 ed 08             	sub    $0x8,%ebp
4e8322:	89 43 24             	mov    %eax,0x24(%ebx)
4e8325:	8b 03                	mov    (%ebx),%eax
4e8327:	83 c0 18             	add    $0x18,%eax
4e832a:	8b 93 a0 01 00 00    	mov    0x1a0(%ebx),%edx
4e8330:	89 10                	mov    %edx,(%eax)
4e8332:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
4e8335:	89 48 04             	mov    %ecx,0x4(%eax)
4e8338:	8b 53 20             	mov    0x20(%ebx),%edx
4e833b:	89 50 08             	mov    %edx,0x8(%eax)
4e833e:	8b 4b 24             	mov    0x24(%ebx),%ecx
4e8341:	89 48 0c             	mov    %ecx,0xc(%eax)
4e8344:	8b 03                	mov    (%ebx),%eax
4e8346:	c7 40 14 64 00 00 00 	movl   $0x64,0x14(%eax)
4e834d:	ba 01 00 00 00       	mov    $0x1,%edx
4e8352:	8b c3                	mov    %ebx,%eax
4e8354:	8b 08                	mov    (%eax),%ecx
4e8356:	ff 51 04             	call   *0x4(%ecx)
4e8359:	8b 83 b8 01 00 00    	mov    0x1b8(%ebx),%eax
4e835f:	8b 50 10             	mov    0x10(%eax),%edx
4e8362:	85 d2                	test   %edx,%edx
4e8364:	74 0f                	je     0x4e8375
4e8366:	8b 0b                	mov    (%ebx),%ecx
4e8368:	8b c3                	mov    %ebx,%eax
4e836a:	c7 41 14 3a 00 00 00 	movl   $0x3a,0x14(%ecx)
4e8371:	8b 10                	mov    (%eax),%edx
4e8373:	ff 12                	call   *(%edx)
4e8375:	8b 4b 20             	mov    0x20(%ebx),%ecx
4e8378:	85 c9                	test   %ecx,%ecx
4e837a:	76 0e                	jbe    0x4e838a
4e837c:	8b 43 1c             	mov    0x1c(%ebx),%eax
4e837f:	85 c0                	test   %eax,%eax
4e8381:	76 07                	jbe    0x4e838a
4e8383:	8b 53 24             	mov    0x24(%ebx),%edx
4e8386:	85 d2                	test   %edx,%edx
4e8388:	7f 0f                	jg     0x4e8399
4e838a:	8b 0b                	mov    (%ebx),%ecx
4e838c:	8b c3                	mov    %ebx,%eax
4e838e:	c7 41 14 20 00 00 00 	movl   $0x20,0x14(%ecx)
4e8395:	8b 10                	mov    (%eax),%edx
4e8397:	ff 12                	call   *(%edx)
4e8399:	8b 4b 24             	mov    0x24(%ebx),%ecx
4e839c:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
4e839f:	3b e9                	cmp    %ecx,%ebp
4e83a1:	74 0f                	je     0x4e83b2
4e83a3:	8b 03                	mov    (%ebx),%eax
4e83a5:	c7 40 14 0b 00 00 00 	movl   $0xb,0x14(%eax)
4e83ac:	8b c3                	mov    %ebx,%eax
4e83ae:	8b 10                	mov    (%eax),%edx
4e83b0:	ff 12                	call   *(%edx)
4e83b2:	8b 8b d8 00 00 00    	mov    0xd8(%ebx),%ecx
4e83b8:	85 c9                	test   %ecx,%ecx
4e83ba:	75 21                	jne    0x4e83dd
4e83bc:	8b 4b 24             	mov    0x24(%ebx),%ecx
4e83bf:	ba 01 00 00 00       	mov    $0x1,%edx
4e83c4:	8b c1                	mov    %ecx,%eax
4e83c6:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
4e83c9:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
4e83cc:	8b c3                	mov    %ebx,%eax
4e83ce:	c1 e1 02             	shl    $0x2,%ecx
4e83d1:	8b 68 04             	mov    0x4(%eax),%ebp
4e83d4:	ff 55 00             	call   *0x0(%ebp)
4e83d7:	89 83 d8 00 00 00    	mov    %eax,0xd8(%ebx)
4e83dd:	33 c0                	xor    %eax,%eax
4e83df:	89 44 24 08          	mov    %eax,0x8(%esp)
4e83e3:	8b ab d8 00 00 00    	mov    0xd8(%ebx),%ebp
4e83e9:	e9 d4 00 00 00       	jmp    0x4e84c2
4e83ee:	8b 44 24 08          	mov    0x8(%esp),%eax
4e83f2:	85 ff                	test   %edi,%edi
4e83f4:	89 45 04             	mov    %eax,0x4(%ebp)
4e83f7:	75 21                	jne    0x4e841a
4e83f9:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e83fd:	8b c3                	mov    %ebx,%eax
4e83ff:	ff 56 0c             	call   *0xc(%esi)
4e8402:	85 c0                	test   %eax,%eax
4e8404:	75 07                	jne    0x4e840d
4e8406:	33 c0                	xor    %eax,%eax
4e8408:	e9 e3 00 00 00       	jmp    0x4e84f0
4e840d:	8b 54 24 0c          	mov    0xc(%esp),%edx
4e8411:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e8415:	8b 78 04             	mov    0x4(%eax),%edi
4e8418:	8b 32                	mov    (%edx),%esi
4e841a:	4f                   	dec    %edi
4e841b:	33 c0                	xor    %eax,%eax
4e841d:	8a 06                	mov    (%esi),%al
4e841f:	89 45 00             	mov    %eax,0x0(%ebp)
4e8422:	46                   	inc    %esi
4e8423:	85 ff                	test   %edi,%edi
4e8425:	75 21                	jne    0x4e8448
4e8427:	8b 74 24 0c          	mov    0xc(%esp),%esi