507e22:	57                   	push   %edi
507e23:	b9 a4 da 68 00       	mov    $0x68daa4,%ecx
507e28:	33 d2                	xor    %edx,%edx
507e2a:	8b c3                	mov    %ebx,%eax
507e2c:	e8 4f ff ff ff       	call   0x507d80
507e31:	56                   	push   %esi
507e32:	57                   	push   %edi
507e33:	b9 a4 db 68 00       	mov    $0x68dba4,%ecx
507e38:	ba 01 00 00 00       	mov    $0x1,%edx
507e3d:	8b c3                	mov    %ebx,%eax
507e3f:	e8 3c ff ff ff       	call   0x507d80
507e44:	5f                   	pop    %edi
507e45:	5e                   	pop    %esi
507e46:	5b                   	pop    %ebx
507e47:	c3                   	ret
507e48:	8b c8                	mov    %eax,%ecx
507e4a:	85 c9                	test   %ecx,%ecx
507e4c:	7f 05                	jg     0x507e53
507e4e:	b9 01 00 00 00       	mov    $0x1,%ecx
507e53:	83 f9 64             	cmp    $0x64,%ecx
507e56:	7e 05                	jle    0x507e5d
507e58:	b9 64 00 00 00       	mov    $0x64,%ecx
507e5d:	83 f9 32             	cmp    $0x32,%ecx
507e60:	7d 0c                	jge    0x507e6e
507e62:	b8 88 13 00 00       	mov    $0x1388,%eax
507e67:	99                   	cltd
507e68:	f7 f9                	idiv   %ecx
507e6a:	8b c8                	mov    %eax,%ecx
507e6c:	eb 0b                	jmp    0x507e79
507e6e:	03 c9                	add    %ecx,%ecx
507e70:	b8 c8 00 00 00       	mov    $0xc8,%eax
507e75:	2b c1                	sub    %ecx,%eax
507e77:	8b c8                	mov    %eax,%ecx
507e79:	8b c1                	mov    %ecx,%eax
507e7b:	c3                   	ret
507e7c:	53                   	push   %ebx
507e7d:	56                   	push   %esi
507e7e:	8b f1                	mov    %ecx,%esi
507e80:	8b d8                	mov    %eax,%ebx
507e82:	8b c2                	mov    %edx,%eax
507e84:	e8 bf ff ff ff       	call   0x507e48
507e89:	8b d0                	mov    %eax,%edx
507e8b:	8b ce                	mov    %esi,%ecx
507e8d:	8b c3                	mov    %ebx,%eax
507e8f:	e8 84 ff ff ff       	call   0x507e18
507e94:	5e                   	pop    %esi
507e95:	5b                   	pop    %ebx
507e96:	c3                   	ret
507e97:	90                   	nop
507e98:	55                   	push   %ebp
507e99:	8b ec                	mov    %esp,%ebp
507e9b:	53                   	push   %ebx
507e9c:	8b da                	mov    %edx,%ebx
507e9e:	56                   	push   %esi
507e9f:	57                   	push   %edi
507ea0:	83 3b 00             	cmpl   $0x0,(%ebx)
507ea3:	8b f8                	mov    %eax,%edi
507ea5:	8b f1                	mov    %ecx,%esi
507ea7:	75 09                	jne    0x507eb2
507ea9:	8b c7                	mov    %edi,%eax
507eab:	e8 a8 fd ff ff       	call   0x507c58
507eb0:	89 03                	mov    %eax,(%ebx)
507eb2:	6a 11                	push   $0x11
507eb4:	56                   	push   %esi
507eb5:	8b 13                	mov    (%ebx),%edx
507eb7:	52                   	push   %edx
507eb8:	e8 0f 34 ff ff       	call   0x4fb2cc
507ebd:	83 c4 0c             	add    $0xc,%esp
507ec0:	68 00 01 00 00       	push   $0x100
507ec5:	8b 4d 08             	mov    0x8(%ebp),%ecx
507ec8:	51                   	push   %ecx
507ec9:	8b 03                	mov    (%ebx),%eax
507ecb:	83 c0 11             	add    $0x11,%eax
507ece:	50                   	push   %eax
507ecf:	e8 f8 33 ff ff       	call   0x4fb2cc
507ed4:	83 c4 0c             	add    $0xc,%esp
507ed7:	8b 13                	mov    (%ebx),%edx
507ed9:	33 c9                	xor    %ecx,%ecx
507edb:	89 8a 14 01 00 00    	mov    %ecx,0x114(%edx)
507ee1:	5f                   	pop    %edi
507ee2:	5e                   	pop    %esi
507ee3:	5b                   	pop    %ebx
507ee4:	5d                   	pop    %ebp
507ee5:	c2 04 00             	ret    $0x4
507ee8:	53                   	push   %ebx
507ee9:	8b d8                	mov    %eax,%ebx
507eeb:	68 b5 dc 68 00       	push   $0x68dcb5
507ef0:	b9 a4 dc 68 00       	mov    $0x68dca4,%ecx
507ef5:	8d 53 50             	lea    0x50(%ebx),%edx
507ef8:	8b c3                	mov    %ebx,%eax
507efa:	e8 99 ff ff ff       	call   0x507e98
507eff:	68 ef dc 68 00       	push   $0x68dcef
507f04:	b9 de dc 68 00       	mov    $0x68dcde,%ecx
507f09:	8d 53 60             	lea    0x60(%ebx),%edx
507f0c:	8b c3                	mov    %ebx,%eax
507f0e:	e8 85 ff ff ff       	call   0x507e98
507f13:	68 d2 dc 68 00       	push   $0x68dcd2
507f18:	b9 c1 dc 68 00       	mov    $0x68dcc1,%ecx
507f1d:	8d 53 54             	lea    0x54(%ebx),%edx
507f20:	8b c3                	mov    %ebx,%eax
507f22:	e8 71 ff ff ff       	call   0x507e98
507f27:	68 a2 dd 68 00       	push   $0x68dda2
507f2c:	b9 91 dd 68 00       	mov    $0x68dd91,%ecx
507f31:	8d 53 64             	lea    0x64(%ebx),%edx
507f34:	8b c3                	mov    %ebx,%eax
507f36:	e8 5d ff ff ff       	call   0x507e98
507f3b:	5b                   	pop    %ebx
507f3c:	c3                   	ret
507f3d:	90                   	nop
507f3e:	90                   	nop
507f3f:	90                   	nop
507f40:	53                   	push   %ebx
507f41:	8b d8                	mov    %eax,%ebx
507f43:	56                   	push   %esi
507f44:	83 7b 10 64          	cmpl   $0x64,0x10(%ebx)
507f48:	74 15                	je     0x507f5f
507f4a:	8b 03                	mov    (%ebx),%eax
507f4c:	c7 40 14 12 00 00 00 	movl   $0x12,0x14(%eax)
507f53:	8b 53 10             	mov    0x10(%ebx),%edx
507f56:	89 50 18             	mov    %edx,0x18(%eax)
507f59:	8b c3                	mov    %ebx,%eax
507f5b:	8b 10                	mov    (%eax),%edx
507f5d:	ff 12                	call   *(%edx)
507f5f:	83 7b 3c 00          	cmpl   $0x0,0x3c(%ebx)
507f63:	75 11                	jne    0x507f76
507f65:	8b c3                	mov    %ebx,%eax
507f67:	b9 48 03 00 00       	mov    $0x348,%ecx
507f6c:	33 d2                	xor    %edx,%edx
507f6e:	8b 70 04             	mov    0x4(%eax),%esi
507f71:	ff 16                	call   *(%esi)
507f73:	89 43 3c             	mov    %eax,0x3c(%ebx)
507f76:	c7 43 30 08 00 00 00 	movl   $0x8,0x30(%ebx)
507f7d:	b9 01 00 00 00       	mov    $0x1,%ecx
507f82:	ba 4b 00 00 00       	mov    $0x4b,%edx
507f87:	8b c3                	mov    %ebx,%eax
507f89:	e8 ee fe ff ff       	call   0x507e7c
507f8e:	8b c3                	mov    %ebx,%eax
507f90:	e8 53 ff ff ff       	call   0x507ee8
507f95:	33 d2                	xor    %edx,%edx
507f97:	8d 43 70             	lea    0x70(%ebx),%eax
507f9a:	c6 00 00             	movb   $0x0,(%eax)
507f9d:	c6 40 10 01          	movb   $0x1,0x10(%eax)
507fa1:	c6 40 20 05          	movb   $0x5,0x20(%eax)
507fa5:	42                   	inc    %edx
507fa6:	40                   	inc    %eax
507fa7:	83 fa 10             	cmp    $0x10,%edx
507faa:	7c ee                	jl     0x507f9a
507fac:	33 d2                	xor    %edx,%edx
507fae:	33 c9                	xor    %ecx,%ecx
507fb0:	89 93 a4 00 00 00    	mov    %edx,0xa4(%ebx)
507fb6:	89 8b a0 00 00 00    	mov    %ecx,0xa0(%ebx)
507fbc:	33 c0                	xor    %eax,%eax
507fbe:	33 d2                	xor    %edx,%edx
507fc0:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
507fc6:	33 c9                	xor    %ecx,%ecx
507fc8:	89 93 ac 00 00 00    	mov    %edx,0xac(%ebx)
507fce:	89 8b b0 00 00 00    	mov    %ecx,0xb0(%ebx)
507fd4:	83 7b 30 08          	cmpl   $0x8,0x30(%ebx)
507fd8:	7e 0a                	jle    0x507fe4
507fda:	c7 83 b0 00 00 00 01 	movl   $0x1,0xb0(%ebx)
507fe1:	00 00 00
507fe4:	33 c0                	xor    %eax,%eax
507fe6:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
507fec:	33 d2                	xor    %edx,%edx
507fee:	89 93 b8 00 00 00    	mov    %edx,0xb8(%ebx)
507ff4:	33 c9                	xor    %ecx,%ecx
507ff6:	89 8b bc 00 00 00    	mov    %ecx,0xbc(%ebx)
507ffc:	33 c0                	xor    %eax,%eax
507ffe:	89 83 c0 00 00 00    	mov    %eax,0xc0(%ebx)
508004:	33 d2                	xor    %edx,%edx
508006:	89 93 c4 00 00 00    	mov    %edx,0xc4(%ebx)
50800c:	c6 83 cc 00 00 00 00 	movb   $0x0,0xcc(%ebx)
508013:	66 c7 83 ce 00 00 00 	movw   $0x1,0xce(%ebx)
50801a:	01 00
50801c:	66 c7 83 d0 00 00 00 	movw   $0x1,0xd0(%ebx)
508023:	01 00
508025:	8b c3                	mov    %ebx,%eax
508027:	e8 04 00 00 00       	call   0x508030
50802c:	5e                   	pop    %esi
50802d:	5b                   	pop    %ebx
50802e:	c3                   	ret
50802f:	90                   	nop
508030:	8b 50 24             	mov    0x24(%eax),%edx
508033:	83 fa 05             	cmp    $0x5,%edx
508036:	77 5e                	ja     0x508096
508038:	ff 24 95 3f 80 50 00 	jmp    *0x50803f(,%edx,4)
50803f:	8e 80 50 00 57 80    	mov    -0x7fa8ffb0(%eax),%es
508045:	50                   	push   %eax
508046:	00 62 80             	add    %ah,-0x80(%edx)
508049:	50                   	push   %eax
50804a:	00 6d 80             	add    %ch,-0x80(%ebp)
50804d:	50                   	push   %eax
50804e:	00 78 80             	add    %bh,-0x80(%eax)
508051:	50                   	push   %eax
508052:	00 83 80 50 00 ba    	add    %al,-0x45ffaf80(%ebx)
508058:	01 00                	add    %eax,(%eax)
50805a:	00 00                	add    %al,(%eax)
50805c:	e8 43 00 00 00       	call   0x5080a4
508061:	c3                   	ret
508062:	ba 03 00 00 00       	mov    $0x3,%edx
508067:	e8 38 00 00 00       	call   0x5080a4
50806c:	c3                   	ret
50806d:	ba 03 00 00 00       	mov    $0x3,%edx
508072:	e8 2d 00 00 00       	call   0x5080a4
508077:	c3                   	ret
508078:	ba 04 00 00 00       	mov    $0x4,%edx
50807d:	e8 22 00 00 00       	call   0x5080a4
508082:	c3                   	ret
508083:	ba 05 00 00 00       	mov    $0x5,%edx
508088:	e8 17 00 00 00       	call   0x5080a4
50808d:	c3                   	ret
50808e:	33 d2                	xor    %edx,%edx
508090:	e8 0f 00 00 00       	call   0x5080a4
508095:	c3                   	ret
508096:	8b 08                	mov    (%eax),%ecx
508098:	c7 41 14 07 00 00 00 	movl   $0x7,0x14(%ecx)
50809f:	8b 10                	mov    (%eax),%edx
5080a1:	ff 12                	call   *(%edx)
5080a3:	c3                   	ret
5080a4:	53                   	push   %ebx
5080a5:	8b d8                	mov    %eax,%ebx
5080a7:	56                   	push   %esi
5080a8:	8b f2                	mov    %edx,%esi
5080aa:	83 7b 10 64          	cmpl   $0x64,0x10(%ebx)
5080ae:	74 15                	je     0x5080c5
5080b0:	8b 03                	mov    (%ebx),%eax
5080b2:	c7 40 14 12 00 00 00 	movl   $0x12,0x14(%eax)
5080b9:	8b 53 10             	mov    0x10(%ebx),%edx
5080bc:	89 50 18             	mov    %edx,0x18(%eax)
5080bf:	8b c3                	mov    %ebx,%eax
5080c1:	8b 10                	mov    (%eax),%edx
5080c3:	ff 12                	call   *(%edx)
5080c5:	89 73 38             	mov    %esi,0x38(%ebx)
5080c8:	33 c9                	xor    %ecx,%ecx
5080ca:	89 8b c8 00 00 00    	mov    %ecx,0xc8(%ebx)
5080d0:	33 c0                	xor    %eax,%eax
5080d2:	89 83 d4 00 00 00    	mov    %eax,0xd4(%ebx)
5080d8:	83 fe 05             	cmp    $0x5,%esi
5080db:	0f 87 66 03 00 00    	ja     0x508447
5080e1:	ff 24 b5 e8 80 50 00 	jmp    *0x5080e8(,%esi,4)
5080e8:	e0 83                	loopne 0x50806d
5080ea:	50                   	push   %eax
5080eb:	00 00                	add    %al,(%eax)
5080ed:	81 50 00 3a 81 50 00 	adcl   $0x50813a,0x0(%eax)
5080f4:	c8 81 50 00          	enter  $0x5081,$0x0
5080f8:	62 82 50 00 1b 83    	bound  %eax,-0x7ce4ffb0(%edx)
5080fe:	50                   	push   %eax
5080ff:	00 c7                	add    %al,%bh
508101:	83 c8 00             	or     $0x0,%eax
508104:	00 00                	add    %al,(%eax)
508106:	01 00                	add    %eax,(%eax)
508108:	00 00                	add    %al,(%eax)
50810a:	c7 43 34 01 00 00 00 	movl   $0x1,0x34(%ebx)
508111:	8b 43 3c             	mov    0x3c(%ebx),%eax
508114:	33 d2                	xor    %edx,%edx
508116:	33 c9                	xor    %ecx,%ecx
508118:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
50811e:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
508125:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
50812c:	89 50 10             	mov    %edx,0x10(%eax)
50812f:	33 d2                	xor    %edx,%edx
508131:	89 48 14             	mov    %ecx,0x14(%eax)
508134:	89 50 18             	mov    %edx,0x18(%eax)
508137:	5e                   	pop    %esi
508138:	5b                   	pop    %ebx
508139:	c3                   	ret
50813a:	c7 83 d4 00 00 00 01 	movl   $0x1,0xd4(%ebx)
508141:	00 00 00
508144:	c7 43 34 03 00 00 00 	movl   $0x3,0x34(%ebx)
50814b:	8b 43 3c             	mov    0x3c(%ebx),%eax
50814e:	33 c9                	xor    %ecx,%ecx
508150:	33 d2                	xor    %edx,%edx
508152:	c7 00 52 00 00 00    	movl   $0x52,(%eax)
508158:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
50815f:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
508166:	89 48 10             	mov    %ecx,0x10(%eax)
508169:	33 c9                	xor    %ecx,%ecx
50816b:	89 50 14             	mov    %edx,0x14(%eax)
50816e:	89 48 18             	mov    %ecx,0x18(%eax)
508171:	8b 43 3c             	mov    0x3c(%ebx),%eax
508174:	33 d2                	xor    %edx,%edx
508176:	83 c0 54             	add    $0x54,%eax
508179:	33 c9                	xor    %ecx,%ecx
50817b:	c7 00 47 00 00 00    	movl   $0x47,(%eax)
508181:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
508188:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
50818f:	89 50 10             	mov    %edx,0x10(%eax)
508192:	33 d2                	xor    %edx,%edx
508194:	89 48 14             	mov    %ecx,0x14(%eax)
508197:	89 50 18             	mov    %edx,0x18(%eax)
50819a:	8b 43 3c             	mov    0x3c(%ebx),%eax
50819d:	33 c9                	xor    %ecx,%ecx
50819f:	05 a8 00 00 00       	add    $0xa8,%eax
5081a4:	33 d2                	xor    %edx,%edx
5081a6:	c7 00 42 00 00 00    	movl   $0x42,(%eax)
5081ac:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
5081b3:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
5081ba:	89 48 10             	mov    %ecx,0x10(%eax)
5081bd:	33 c9                	xor    %ecx,%ecx
5081bf:	89 50 14             	mov    %edx,0x14(%eax)
5081c2:	89 48 18             	mov    %ecx,0x18(%eax)
5081c5:	5e                   	pop    %esi
5081c6:	5b                   	pop    %ebx
5081c7:	c3                   	ret
5081c8:	c7 83 c8 00 00 00 01 	movl   $0x1,0xc8(%ebx)
5081cf:	00 00 00
5081d2:	c7 43 34 03 00 00 00 	movl   $0x3,0x34(%ebx)
5081d9:	8b 43 3c             	mov    0x3c(%ebx),%eax
5081dc:	33 d2                	xor    %edx,%edx
5081de:	33 c9                	xor    %ecx,%ecx
5081e0:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
5081e6:	c7 40 08 02 00 00 00 	movl   $0x2,0x8(%eax)
5081ed:	c7 40 0c 02 00 00 00 	movl   $0x2,0xc(%eax)
5081f4:	89 50 10             	mov    %edx,0x10(%eax)
5081f7:	33 d2                	xor    %edx,%edx
5081f9:	89 48 14             	mov    %ecx,0x14(%eax)
5081fc:	89 50 18             	mov    %edx,0x18(%eax)
5081ff:	8b 43 3c             	mov    0x3c(%ebx),%eax
508202:	83 c0 54             	add    $0x54,%eax
508205:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
50820b:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
508212:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
508219:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
508220:	c7 40 14 01 00 00 00 	movl   $0x1,0x14(%eax)
508227:	c7 40 18 01 00 00 00 	movl   $0x1,0x18(%eax)
50822e:	8b 43 3c             	mov    0x3c(%ebx),%eax
508231:	05 a8 00 00 00       	add    $0xa8,%eax
508236:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
50823c:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
508243:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
50824a:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
508251:	c7 40 14 01 00 00 00 	movl   $0x1,0x14(%eax)
508258:	c7 40 18 01 00 00 00 	movl   $0x1,0x18(%eax)
50825f:	5e                   	pop    %esi
508260:	5b                   	pop    %ebx
508261:	c3                   	ret
508262:	c7 83 d4 00 00 00 01 	movl   $0x1,0xd4(%ebx)
508269:	00 00 00
50826c:	c7 43 34 04 00 00 00 	movl   $0x4,0x34(%ebx)
508273:	8b 43 3c             	mov    0x3c(%ebx),%eax
508276:	33 d2                	xor    %edx,%edx
508278:	33 c9                	xor    %ecx,%ecx
50827a:	c7 00 43 00 00 00    	movl   $0x43,(%eax)
508280:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
508287:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
50828e:	89 50 10             	mov    %edx,0x10(%eax)
508291:	33 d2                	xor    %edx,%edx
508293:	89 48 14             	mov    %ecx,0x14(%eax)
508296:	89 50 18             	mov    %edx,0x18(%eax)
508299:	8b 43 3c             	mov    0x3c(%ebx),%eax