53ef56:	89 83 28 04 00 00    	mov    %eax,0x428(%ebx)
53ef5c:	8b 43 08             	mov    0x8(%ebx),%eax
53ef5f:	c1 e0 02             	shl    $0x2,%eax
53ef62:	e8 4d a1 ec ff       	call   0x4090b4
53ef67:	89 83 2c 04 00 00    	mov    %eax,0x42c(%ebx)
53ef6d:	8b 83 30 04 00 00    	mov    0x430(%ebx),%eax
53ef73:	f7 ab 34 04 00 00    	imull  0x434(%ebx)
53ef79:	8d 04 40             	lea    (%eax,%eax,2),%eax
53ef7c:	89 43 18             	mov    %eax,0x18(%ebx)
53ef7f:	89 73 1c             	mov    %esi,0x1c(%ebx)
53ef82:	8b 3b                	mov    (%ebx),%edi
53ef84:	4f                   	dec    %edi
53ef85:	85 ff                	test   %edi,%edi
53ef87:	7c 42                	jl     0x53efcb
53ef89:	47                   	inc    %edi
53ef8a:	33 f6                	xor    %esi,%esi
53ef8c:	8b c6                	mov    %esi,%eax
53ef8e:	03 c0                	add    %eax,%eax
53ef90:	8b 53 20             	mov    0x20(%ebx),%edx
53ef93:	8d 0c c2             	lea    (%edx,%eax,8),%ecx
53ef96:	8b c6                	mov    %esi,%eax
53ef98:	c1 e0 0c             	shl    $0xc,%eax
53ef9b:	99                   	cltd
53ef9c:	f7 3b                	idivl  (%ebx)
53ef9e:	89 01                	mov    %eax,(%ecx)
53efa0:	8b 01                	mov    (%ecx),%eax
53efa2:	89 41 04             	mov    %eax,0x4(%ecx)
53efa5:	8b 01                	mov    (%ecx),%eax
53efa7:	89 41 08             	mov    %eax,0x8(%ecx)
53efaa:	b8 00 00 01 00       	mov    $0x10000,%eax
53efaf:	33 d2                	xor    %edx,%edx
53efb1:	f7 33                	divl   (%ebx)
53efb3:	8b 93 28 04 00 00    	mov    0x428(%ebx),%edx
53efb9:	89 04 b2             	mov    %eax,(%edx,%esi,4)
53efbc:	8b 83 24 04 00 00    	mov    0x424(%ebx),%eax
53efc2:	33 d2                	xor    %edx,%edx
53efc4:	89 14 b0             	mov    %edx,(%eax,%esi,4)
53efc7:	46                   	inc    %esi
53efc8:	4f                   	dec    %edi
53efc9:	75 c1                	jne    0x53ef8c
53efcb:	5f                   	pop    %edi
53efcc:	5e                   	pop    %esi
53efcd:	5b                   	pop    %ebx
53efce:	59                   	pop    %ecx
53efcf:	5d                   	pop    %ebp
53efd0:	c2 04 00             	ret    $0x4
53efd3:	00 00                	add    %al,(%eax)
53efd5:	00 c8                	add    %cl,%al
53efd7:	42                   	inc    %edx
53efd8:	00 00                	add    %al,(%eax)
53efda:	e8 41 53 8b d8       	call   0xd8df4320
53efdf:	8b 83 2c 04 00 00    	mov    0x42c(%ebx),%eax
53efe5:	e8 e2 37 ec ff       	call   0x4027cc
53efea:	8b 83 28 04 00 00    	mov    0x428(%ebx),%eax
53eff0:	e8 d7 37 ec ff       	call   0x4027cc
53eff5:	8b 83 24 04 00 00    	mov    0x424(%ebx),%eax
53effb:	e8 cc 37 ec ff       	call   0x4027cc
53f000:	8b 43 20             	mov    0x20(%ebx),%eax
53f003:	e8 c4 37 ec ff       	call   0x4027cc
53f008:	5b                   	pop    %ebx
53f009:	c3                   	ret
53f00a:	8b c0                	mov    %eax,%eax
53f00c:	53                   	push   %ebx
53f00d:	56                   	push   %esi
53f00e:	57                   	push   %edi
53f00f:	8b 18                	mov    (%eax),%ebx
53f011:	4b                   	dec    %ebx
53f012:	85 db                	test   %ebx,%ebx
53f014:	7c 28                	jl     0x53f03e
53f016:	43                   	inc    %ebx
53f017:	33 c9                	xor    %ecx,%ecx
53f019:	33 d2                	xor    %edx,%edx
53f01b:	8b f1                	mov    %ecx,%esi
53f01d:	03 f6                	add    %esi,%esi
53f01f:	8b 78 20             	mov    0x20(%eax),%edi
53f022:	8d 34 f7             	lea    (%edi,%esi,8),%esi
53f025:	c1 2c 96 04          	shrl   $0x4,(%esi,%edx,4)
53f029:	42                   	inc    %edx
53f02a:	83 fa 03             	cmp    $0x3,%edx
53f02d:	75 ec                	jne    0x53f01b
53f02f:	8b d1                	mov    %ecx,%edx
53f031:	03 d2                	add    %edx,%edx
53f033:	8b 70 20             	mov    0x20(%eax),%esi
53f036:	89 4c d6 0c          	mov    %ecx,0xc(%esi,%edx,8)
53f03a:	41                   	inc    %ecx
53f03b:	4b                   	dec    %ebx
53f03c:	75 db                	jne    0x53f019
53f03e:	5f                   	pop    %edi
53f03f:	5e                   	pop    %esi
53f040:	5b                   	pop    %ebx
53f041:	c3                   	ret
53f042:	8b c0                	mov    %eax,%eax
53f044:	53                   	push   %ebx
53f045:	56                   	push   %esi
53f046:	57                   	push   %edi
53f047:	8b 38                	mov    (%eax),%edi
53f049:	4f                   	dec    %edi
53f04a:	85 ff                	test   %edi,%edi
53f04c:	7c 2a                	jl     0x53f078
53f04e:	47                   	inc    %edi
53f04f:	33 c9                	xor    %ecx,%ecx
53f051:	8b f1                	mov    %ecx,%esi
53f053:	03 f6                	add    %esi,%esi
53f055:	8b 58 20             	mov    0x20(%eax),%ebx
53f058:	8a 1c f3             	mov    (%ebx,%esi,8),%bl
53f05b:	88 1a                	mov    %bl,(%edx)
53f05d:	8b 58 20             	mov    0x20(%eax),%ebx
53f060:	8a 5c f3 04          	mov    0x4(%ebx,%esi,8),%bl
53f064:	88 5a 01             	mov    %bl,0x1(%edx)
53f067:	8b 58 20             	mov    0x20(%eax),%ebx
53f06a:	8a 5c f3 08          	mov    0x8(%ebx,%esi,8),%bl
53f06e:	88 5a 02             	mov    %bl,0x2(%edx)
53f071:	41                   	inc    %ecx
53f072:	83 c2 03             	add    $0x3,%edx
53f075:	4f                   	dec    %edi
53f076:	75 d9                	jne    0x53f051
53f078:	5f                   	pop    %edi
53f079:	5e                   	pop    %esi
53f07a:	5b                   	pop    %ebx
53f07b:	c3                   	ret
53f07c:	53                   	push   %ebx
53f07d:	56                   	push   %esi
53f07e:	57                   	push   %edi
53f07f:	55                   	push   %ebp
53f080:	83 c4 e8             	add    $0xffffffe8,%esp
53f083:	33 d2                	xor    %edx,%edx
53f085:	89 54 24 0c          	mov    %edx,0xc(%esp)
53f089:	33 d2                	xor    %edx,%edx
53f08b:	89 54 24 10          	mov    %edx,0x10(%esp)
53f08f:	8b 10                	mov    (%eax),%edx
53f091:	4a                   	dec    %edx
53f092:	85 d2                	test   %edx,%edx
53f094:	0f 8c fc 00 00 00    	jl     0x53f196
53f09a:	42                   	inc    %edx
53f09b:	89 54 24 14          	mov    %edx,0x14(%esp)
53f09f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
53f0a6:	8b 14 24             	mov    (%esp),%edx
53f0a9:	03 d2                	add    %edx,%edx
53f0ab:	8b 48 20             	mov    0x20(%eax),%ecx
53f0ae:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
53f0b1:	89 54 24 08          	mov    %edx,0x8(%esp)
53f0b5:	8b 14 24             	mov    (%esp),%edx
53f0b8:	89 54 24 04          	mov    %edx,0x4(%esp)
53f0bc:	8b 54 24 08          	mov    0x8(%esp),%edx
53f0c0:	8b 7a 04             	mov    0x4(%edx),%edi
53f0c3:	8b 14 24             	mov    (%esp),%edx
53f0c6:	42                   	inc    %edx
53f0c7:	8b 08                	mov    (%eax),%ecx
53f0c9:	49                   	dec    %ecx
53f0ca:	2b ca                	sub    %edx,%ecx
53f0cc:	7c 1c                	jl     0x53f0ea
53f0ce:	41                   	inc    %ecx
53f0cf:	8b da                	mov    %edx,%ebx
53f0d1:	03 db                	add    %ebx,%ebx
53f0d3:	8b 70 20             	mov    0x20(%eax),%esi
53f0d6:	8d 34 de             	lea    (%esi,%ebx,8),%esi
53f0d9:	8b 6e 04             	mov    0x4(%esi),%ebp
53f0dc:	3b fd                	cmp    %ebp,%edi
53f0de:	7e 06                	jle    0x53f0e6
53f0e0:	89 54 24 04          	mov    %edx,0x4(%esp)
53f0e4:	8b fd                	mov    %ebp,%edi
53f0e6:	42                   	inc    %edx
53f0e7:	49                   	dec    %ecx
53f0e8:	75 e5                	jne    0x53f0cf
53f0ea:	8b 54 24 04          	mov    0x4(%esp),%edx
53f0ee:	03 d2                	add    %edx,%edx
53f0f0:	8b 48 20             	mov    0x20(%eax),%ecx
53f0f3:	8d 34 d1             	lea    (%ecx,%edx,8),%esi
53f0f6:	8b 14 24             	mov    (%esp),%edx
53f0f9:	3b 54 24 04          	cmp    0x4(%esp),%edx
53f0fd:	74 4c                	je     0x53f14b
53f0ff:	8b 16                	mov    (%esi),%edx
53f101:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f105:	8b 09                	mov    (%ecx),%ecx
53f107:	89 0e                	mov    %ecx,(%esi)
53f109:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f10d:	89 11                	mov    %edx,(%ecx)
53f10f:	8b 56 04             	mov    0x4(%esi),%edx
53f112:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f116:	8b 49 04             	mov    0x4(%ecx),%ecx
53f119:	89 4e 04             	mov    %ecx,0x4(%esi)
53f11c:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f120:	89 51 04             	mov    %edx,0x4(%ecx)
53f123:	8b 56 08             	mov    0x8(%esi),%edx
53f126:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f12a:	8b 49 08             	mov    0x8(%ecx),%ecx
53f12d:	89 4e 08             	mov    %ecx,0x8(%esi)
53f130:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f134:	89 51 08             	mov    %edx,0x8(%ecx)
53f137:	8b 56 0c             	mov    0xc(%esi),%edx
53f13a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f13e:	8b 49 0c             	mov    0xc(%ecx),%ecx
53f141:	89 4e 0c             	mov    %ecx,0xc(%esi)
53f144:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f148:	89 51 0c             	mov    %edx,0xc(%ecx)
53f14b:	3b 7c 24 0c          	cmp    0xc(%esp),%edi
53f14f:	74 38                	je     0x53f189
53f151:	8b 54 24 0c          	mov    0xc(%esp),%edx
53f155:	8b 4c 24 10          	mov    0x10(%esp),%ecx
53f159:	03 0c 24             	add    (%esp),%ecx
53f15c:	d1 e9                	shr    $1,%ecx
53f15e:	89 4c 90 24          	mov    %ecx,0x24(%eax,%edx,4)
53f162:	8b 54 24 0c          	mov    0xc(%esp),%edx
53f166:	42                   	inc    %edx
53f167:	8b cf                	mov    %edi,%ecx
53f169:	49                   	dec    %ecx
53f16a:	2b ca                	sub    %edx,%ecx
53f16c:	7c 10                	jl     0x53f17e
53f16e:	41                   	inc    %ecx
53f16f:	8d 54 90 24          	lea    0x24(%eax,%edx,4),%edx
53f173:	8b 1c 24             	mov    (%esp),%ebx
53f176:	89 1a                	mov    %ebx,(%edx)
53f178:	83 c2 04             	add    $0x4,%edx
53f17b:	49                   	dec    %ecx
53f17c:	75 f5                	jne    0x53f173
53f17e:	89 7c 24 0c          	mov    %edi,0xc(%esp)
53f182:	8b 14 24             	mov    (%esp),%edx
53f185:	89 54 24 10          	mov    %edx,0x10(%esp)
53f189:	ff 04 24             	incl   (%esp)
53f18c:	ff 4c 24 14          	decl   0x14(%esp)
53f190:	0f 85 10 ff ff ff    	jne    0x53f0a6
53f196:	8b 54 24 0c          	mov    0xc(%esp),%edx
53f19a:	8b 48 04             	mov    0x4(%eax),%ecx
53f19d:	03 4c 24 10          	add    0x10(%esp),%ecx
53f1a1:	d1 e9                	shr    $1,%ecx
53f1a3:	89 4c 90 24          	mov    %ecx,0x24(%eax,%edx,4)
53f1a7:	8b 54 24 0c          	mov    0xc(%esp),%edx
53f1ab:	42                   	inc    %edx
53f1ac:	81 fa ff 00 00 00    	cmp    $0xff,%edx
53f1b2:	7f 15                	jg     0x53f1c9
53f1b4:	8d 4c 90 24          	lea    0x24(%eax,%edx,4),%ecx
53f1b8:	8b 58 04             	mov    0x4(%eax),%ebx
53f1bb:	89 19                	mov    %ebx,(%ecx)
53f1bd:	42                   	inc    %edx
53f1be:	83 c1 04             	add    $0x4,%ecx
53f1c1:	81 fa 00 01 00 00    	cmp    $0x100,%edx
53f1c7:	75 ef                	jne    0x53f1b8
53f1c9:	83 c4 18             	add    $0x18,%esp
53f1cc:	5d                   	pop    %ebp
53f1cd:	5f                   	pop    %edi
53f1ce:	5e                   	pop    %esi
53f1cf:	5b                   	pop    %ebx
53f1d0:	c3                   	ret
53f1d1:	8d 40 00             	lea    0x0(%eax),%eax
53f1d4:	55                   	push   %ebp
53f1d5:	8b ec                	mov    %esp,%ebp
53f1d7:	83 c4 ec             	add    $0xffffffec,%esp
53f1da:	53                   	push   %ebx
53f1db:	56                   	push   %esi
53f1dc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
53f1df:	89 55 fc             	mov    %edx,-0x4(%ebp)
53f1e2:	c7 45 f4 e8 03 00 00 	movl   $0x3e8,-0xc(%ebp)
53f1e9:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
53f1f0:	8b 55 f8             	mov    -0x8(%ebp),%edx
53f1f3:	8b 74 90 24          	mov    0x24(%eax,%edx,4),%esi
53f1f7:	8b d6                	mov    %esi,%edx
53f1f9:	4a                   	dec    %edx
53f1fa:	e9 c3 00 00 00       	jmp    0x53f2c2
53f1ff:	3b 30                	cmp    (%eax),%esi
53f201:	7d 5d                	jge    0x53f260
53f203:	8b ce                	mov    %esi,%ecx
53f205:	03 c9                	add    %ecx,%ecx
53f207:	8b 58 20             	mov    0x20(%eax),%ebx
53f20a:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
53f20d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
53f210:	8b 4d f0             	mov    -0x10(%ebp),%ecx
53f213:	8b 59 04             	mov    0x4(%ecx),%ebx
53f216:	2b 5d f8             	sub    -0x8(%ebp),%ebx
53f219:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
53f21c:	7c 04                	jl     0x53f222
53f21e:	8b 30                	mov    (%eax),%esi
53f220:	eb 3e                	jmp    0x53f260
53f222:	46                   	inc    %esi
53f223:	85 db                	test   %ebx,%ebx
53f225:	7d 02                	jge    0x53f229
53f227:	f7 db                	neg    %ebx
53f229:	8b 4d f0             	mov    -0x10(%ebp),%ecx
53f22c:	8b 09                	mov    (%ecx),%ecx
53f22e:	2b 4d fc             	sub    -0x4(%ebp),%ecx
53f231:	85 c9                	test   %ecx,%ecx
53f233:	7d 02                	jge    0x53f237
53f235:	f7 d9                	neg    %ecx
53f237:	03 d9                	add    %ecx,%ebx
53f239:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
53f23c:	7d 22                	jge    0x53f260
53f23e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
53f241:	8b 49 08             	mov    0x8(%ecx),%ecx
53f244:	2b 4d 08             	sub    0x8(%ebp),%ecx
53f247:	85 c9                	test   %ecx,%ecx
53f249:	7d 02                	jge    0x53f24d
53f24b:	f7 d9                	neg    %ecx
53f24d:	03 d9                	add    %ecx,%ebx
53f24f:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
53f252:	7d 0c                	jge    0x53f260
53f254:	89 5d f4             	mov    %ebx,-0xc(%ebp)
53f257:	8b 4d f0             	mov    -0x10(%ebp),%ecx
53f25a:	8b 49 0c             	mov    0xc(%ecx),%ecx
53f25d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
53f260:	85 d2                	test   %edx,%edx
53f262:	7c 5e                	jl     0x53f2c2
53f264:	8b ca                	mov    %edx,%ecx
53f266:	03 c9                	add    %ecx,%ecx
53f268:	8b 58 20             	mov    0x20(%eax),%ebx
53f26b:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
53f26e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
53f271:	8b 4d f0             	mov    -0x10(%ebp),%ecx
53f274:	8b 5d f8             	mov    -0x8(%ebp),%ebx
53f277:	2b 59 04             	sub    0x4(%ecx),%ebx
53f27a:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
53f27d:	7c 05                	jl     0x53f284
53f27f:	83 ca ff             	or     $0xffffffff,%edx
53f282:	eb 3e                	jmp    0x53f2c2
53f284:	4a                   	dec    %edx
53f285:	85 db                	test   %ebx,%ebx
53f287:	7d 02                	jge    0x53f28b
53f289:	f7 db                	neg    %ebx
53f28b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
53f28e:	8b 09                	mov    (%ecx),%ecx
53f290:	2b 4d fc             	sub    -0x4(%ebp),%ecx
53f293:	85 c9                	test   %ecx,%ecx
53f295:	7d 02                	jge    0x53f299
53f297:	f7 d9                	neg    %ecx
53f299:	03 d9                	add    %ecx,%ebx
53f29b:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
53f29e:	7d 22                	jge    0x53f2c2
53f2a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
53f2a3:	8b 49 08             	mov    0x8(%ecx),%ecx
53f2a6:	2b 4d 08             	sub    0x8(%ebp),%ecx
53f2a9:	85 c9                	test   %ecx,%ecx
53f2ab:	7d 02                	jge    0x53f2af
53f2ad:	f7 d9                	neg    %ecx
53f2af:	03 d9                	add    %ecx,%ebx
53f2b1:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
53f2b4:	7d 0c                	jge    0x53f2c2
53f2b6:	89 5d f4             	mov    %ebx,-0xc(%ebp)
53f2b9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
53f2bc:	8b 49 0c             	mov    0xc(%ecx),%ecx
53f2bf:	89 4d ec             	mov    %ecx,-0x14(%ebp)
53f2c2:	3b 30                	cmp    (%eax),%esi
53f2c4:	0f 8c 35 ff ff ff    	jl     0x53f1ff
53f2ca:	85 d2                	test   %edx,%edx
53f2cc:	0f 8d 2d ff ff ff    	jge    0x53f1ff
53f2d2:	8b 45 ec             	mov    -0x14(%ebp),%eax
53f2d5:	5e                   	pop    %esi
53f2d6:	5b                   	pop    %ebx
53f2d7:	8b e5                	mov    %ebp,%esp
53f2d9:	5d                   	pop    %ebp
53f2da:	c2 04 00             	ret    $0x4
53f2dd:	8d 40 00             	lea    0x0(%eax),%eax
53f2e0:	55                   	push   %ebp