505f29:	eb 0d                	jmp    0x505f38
505f2b:	85 db                	test   %ebx,%ebx
505f2d:	74 09                	je     0x505f38
505f2f:	53                   	push   %ebx
505f30:	e8 8b c1 00 00       	call   0x5120c0
505f35:	83 c4 04             	add    $0x4,%esp
505f38:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505f3b:	33 c0                	xor    %eax,%eax
505f3d:	83 ff 65             	cmp    $0x65,%edi
505f40:	0f 44 f8             	cmove  %eax,%edi
505f43:	33 cd                	xor    %ebp,%ecx
505f45:	8b c7                	mov    %edi,%eax
505f47:	5f                   	pop    %edi
505f48:	5e                   	pop    %esi
505f49:	5b                   	pop    %ebx
505f4a:	e8 8b b5 0d 00       	call   0x5e14da
505f4f:	8b e5                	mov    %ebp,%esp
505f51:	5d                   	pop    %ebp
505f52:	c3                   	ret
505f53:	cc                   	int3
505f54:	cc                   	int3
505f55:	cc                   	int3
505f56:	cc                   	int3
505f57:	cc                   	int3
505f58:	cc                   	int3
505f59:	cc                   	int3
505f5a:	cc                   	int3
505f5b:	cc                   	int3
505f5c:	cc                   	int3
505f5d:	cc                   	int3
505f5e:	cc                   	int3
505f5f:	cc                   	int3
505f60:	55                   	push   %ebp
505f61:	8b ec                	mov    %esp,%ebp
505f63:	8b 45 10             	mov    0x10(%ebp),%eax
505f66:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
505f6c:	8b 45 08             	mov    0x8(%ebp),%eax
505f6f:	8b 40 28             	mov    0x28(%eax),%eax
505f72:	5d                   	pop    %ebp
505f73:	c3                   	ret
505f74:	cc                   	int3
505f75:	cc                   	int3
505f76:	cc                   	int3
505f77:	cc                   	int3
505f78:	cc                   	int3
505f79:	cc                   	int3
505f7a:	cc                   	int3
505f7b:	cc                   	int3
505f7c:	cc                   	int3
505f7d:	cc                   	int3
505f7e:	cc                   	int3
505f7f:	cc                   	int3
505f80:	55                   	push   %ebp
505f81:	8b ec                	mov    %esp,%ebp
505f83:	83 ec 18             	sub    $0x18,%esp
505f86:	a1 d4 89 72 00       	mov    0x7289d4,%eax
505f8b:	33 c5                	xor    %ebp,%eax
505f8d:	89 45 fc             	mov    %eax,-0x4(%ebp)
505f90:	53                   	push   %ebx
505f91:	8b 5d 08             	mov    0x8(%ebp),%ebx
505f94:	56                   	push   %esi
505f95:	8b 75 0c             	mov    0xc(%ebp),%esi
505f98:	89 75 ec             	mov    %esi,-0x14(%ebp)
505f9b:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
505fa2:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
505fa9:	57                   	push   %edi
505faa:	8b 7d 10             	mov    0x10(%ebp),%edi
505fad:	89 7d f4             	mov    %edi,-0xc(%ebp)
505fb0:	83 fe 01             	cmp    $0x1,%esi
505fb3:	76 13                	jbe    0x505fc8
505fb5:	80 7b 10 01          	cmpb   $0x1,0x10(%ebx)
505fb9:	74 06                	je     0x505fc1
505fbb:	f6 45 14 02          	testb  $0x2,0x14(%ebp)
505fbf:	74 07                	je     0x505fc8
505fc1:	b8 01 00 00 00       	mov    $0x1,%eax
505fc6:	eb 02                	jmp    0x505fca
505fc8:	33 c0                	xor    %eax,%eax
505fca:	83 fe 01             	cmp    $0x1,%esi
505fcd:	77 36                	ja     0x506005
505fcf:	85 f6                	test   %esi,%esi
505fd1:	75 32                	jne    0x506005
505fd3:	68 fc c4 6b 00       	push   $0x6bc4fc
505fd8:	68 de de 00 00       	push   $0xdede
505fdd:	68 94 c4 6b 00       	push   $0x6bc494
505fe2:	68 78 c4 6b 00       	push   $0x6bc478
505fe7:	6a 0b                	push   $0xb
505fe9:	e8 f2 9f fd ff       	call   0x4dffe0
505fee:	83 c4 14             	add    $0x14,%esp
505ff1:	8d 46 0b             	lea    0xb(%esi),%eax
505ff4:	5f                   	pop    %edi
505ff5:	5e                   	pop    %esi
505ff6:	5b                   	pop    %ebx
505ff7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505ffa:	33 cd                	xor    %ebp,%ecx
505ffc:	e8 d9 b4 0d 00       	call   0x5e14da
506001:	8b e5                	mov    %ebp,%esp
506003:	5d                   	pop    %ebp
506004:	c3                   	ret
506005:	85 c0                	test   %eax,%eax
506007:	0f 84 32 01 00 00    	je     0x50613f
50600d:	8b 83 d8 00 00 00    	mov    0xd8(%ebx),%eax
506013:	85 c0                	test   %eax,%eax
506015:	74 33                	je     0x50604a
506017:	8d 4d f8             	lea    -0x8(%ebp),%ecx
50601a:	51                   	push   %ecx
50601b:	56                   	push   %esi
50601c:	50                   	push   %eax
50601d:	e8 fe 93 04 00       	call   0x54f420
506022:	83 c4 0c             	add    $0xc,%esp
506025:	85 c0                	test   %eax,%eax
506027:	74 17                	je     0x506040
506029:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
50602f:	5f                   	pop    %edi
506030:	5e                   	pop    %esi
506031:	5b                   	pop    %ebx
506032:	8b 4d fc             	mov    -0x4(%ebp),%ecx
506035:	33 cd                	xor    %ebp,%ecx
506037:	e8 9e b4 0d 00       	call   0x5e14da
50603c:	8b e5                	mov    %ebp,%esp
50603e:	5d                   	pop    %ebp
50603f:	c3                   	ret
506040:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
506044:	0f 85 f5 00 00 00    	jne    0x50613f
50604a:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
506050:	8d 4e ff             	lea    -0x1(%esi),%ecx
506053:	6a 00                	push   $0x0
506055:	99                   	cltd
506056:	51                   	push   %ecx
506057:	52                   	push   %edx
506058:	50                   	push   %eax
506059:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
506060:	e8 9b ba 0d 00       	call   0x5e1b00
506065:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
506068:	8d 7d f8             	lea    -0x8(%ebp),%edi
50606b:	57                   	push   %edi
50606c:	8b bb 98 00 00 00    	mov    0x98(%ebx),%edi
506072:	8b f0                	mov    %eax,%esi
506074:	57                   	push   %edi
506075:	8b 01                	mov    (%ecx),%eax
506077:	52                   	push   %edx
506078:	56                   	push   %esi
506079:	51                   	push   %ecx
50607a:	8b 40 44             	mov    0x44(%eax),%eax
50607d:	ff d0                	call   *%eax
50607f:	8b c8                	mov    %eax,%ecx
506081:	83 c4 14             	add    $0x14,%esp
506084:	89 4d e8             	mov    %ecx,-0x18(%ebp)
506087:	85 c9                	test   %ecx,%ecx
506089:	0f 85 8e 00 00 00    	jne    0x50611d
50608f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
506092:	85 c9                	test   %ecx,%ecx
506094:	0f 84 9f 00 00 00    	je     0x506139
50609a:	80 7b 10 01          	cmpb   $0x1,0x10(%ebx)
50609e:	77 05                	ja     0x5060a5
5060a0:	38 43 0c             	cmp    %al,0xc(%ebx)
5060a3:	74 1b                	je     0x5060c0
5060a5:	8b 75 ec             	mov    -0x14(%ebp),%esi
5060a8:	56                   	push   %esi
5060a9:	53                   	push   %ebx
5060aa:	e8 b1 c7 02 00       	call   0x532860
5060af:	8b f8                	mov    %eax,%edi
5060b1:	83 c4 08             	add    $0x8,%esp
5060b4:	89 7d f0             	mov    %edi,-0x10(%ebp)
5060b7:	85 ff                	test   %edi,%edi
5060b9:	75 1b                	jne    0x5060d6
5060bb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5060be:	eb 03                	jmp    0x5060c3
5060c0:	8b 75 ec             	mov    -0x14(%ebp),%esi
5060c3:	8d 45 f0             	lea    -0x10(%ebp),%eax
5060c6:	50                   	push   %eax
5060c7:	51                   	push   %ecx
5060c8:	56                   	push   %esi
5060c9:	53                   	push   %ebx
5060ca:	e8 11 67 00 00       	call   0x50c7e0
5060cf:	8b 7d f0             	mov    -0x10(%ebp),%edi
5060d2:	8b c8                	mov    %eax,%ecx
5060d4:	eb 24                	jmp    0x5060fa
5060d6:	ff 75 f8             	push   -0x8(%ebp)
5060d9:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
5060df:	8d 4e ff             	lea    -0x1(%esi),%ecx
5060e2:	6a 00                	push   $0x0
5060e4:	99                   	cltd
5060e5:	51                   	push   %ecx
5060e6:	52                   	push   %edx
5060e7:	50                   	push   %eax
5060e8:	e8 13 ba 0d 00       	call   0x5e1b00
5060ed:	52                   	push   %edx
5060ee:	50                   	push   %eax
5060ef:	ff 73 3c             	push   0x3c(%ebx)
5060f2:	e8 c9 bd 02 00       	call   0x531ec0
5060f7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5060fa:	83 c4 10             	add    $0x10,%esp
5060fd:	85 ff                	test   %edi,%edi
5060ff:	74 18                	je     0x506119
506101:	8b 45 f4             	mov    -0xc(%ebp),%eax
506104:	89 38                	mov    %edi,(%eax)
506106:	33 c0                	xor    %eax,%eax
506108:	5f                   	pop    %edi
506109:	5e                   	pop    %esi
50610a:	5b                   	pop    %ebx
50610b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50610e:	33 cd                	xor    %ebp,%ecx
506110:	e8 c5 b3 0d 00       	call   0x5e14da
506115:	8b e5                	mov    %ebp,%esp
506117:	5d                   	pop    %ebp
506118:	c3                   	ret
506119:	85 c9                	test   %ecx,%ecx
50611b:	74 1f                	je     0x50613c
50611d:	8b 45 f4             	mov    -0xc(%ebp),%eax
506120:	5f                   	pop    %edi
506121:	5e                   	pop    %esi
506122:	5b                   	pop    %ebx
506123:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
506129:	8b c1                	mov    %ecx,%eax
50612b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50612e:	33 cd                	xor    %ebp,%ecx
506130:	e8 a5 b3 0d 00       	call   0x5e14da
506135:	8b e5                	mov    %ebp,%esp
506137:	5d                   	pop    %ebp
506138:	c3                   	ret
506139:	8b 75 ec             	mov    -0x14(%ebp),%esi
50613c:	8b 7d f4             	mov    -0xc(%ebp),%edi
50613f:	ff 75 14             	push   0x14(%ebp)
506142:	57                   	push   %edi
506143:	56                   	push   %esi
506144:	53                   	push   %ebx
506145:	e8 16 00 00 00       	call   0x506160
50614a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50614d:	83 c4 10             	add    $0x10,%esp
506150:	33 cd                	xor    %ebp,%ecx
506152:	5f                   	pop    %edi
506153:	5e                   	pop    %esi
506154:	5b                   	pop    %ebx
506155:	e8 80 b3 0d 00       	call   0x5e14da
50615a:	8b e5                	mov    %ebp,%esp
50615c:	5d                   	pop    %ebp
50615d:	c3                   	ret
50615e:	cc                   	int3
50615f:	cc                   	int3
506160:	55                   	push   %ebp
506161:	8b ec                	mov    %esp,%ebp
506163:	51                   	push   %ecx
506164:	57                   	push   %edi
506165:	8b 7d 0c             	mov    0xc(%ebp),%edi
506168:	85 ff                	test   %edi,%edi
50616a:	75 26                	jne    0x506192
50616c:	68 fc c4 6b 00       	push   $0x6bc4fc
506171:	68 6c de 00 00       	push   $0xde6c
506176:	68 94 c4 6b 00       	push   $0x6bc494
50617b:	68 78 c4 6b 00       	push   $0x6bc478
506180:	6a 0b                	push   $0xb
506182:	e8 59 9e fd ff       	call   0x4dffe0
506187:	83 c4 14             	add    $0x14,%esp
50618a:	8d 47 0b             	lea    0xb(%edi),%eax
50618d:	5f                   	pop    %edi
50618e:	8b e5                	mov    %ebp,%esp
506190:	5d                   	pop    %ebp
506191:	c3                   	ret
506192:	53                   	push   %ebx
506193:	56                   	push   %esi
506194:	8b 75 08             	mov    0x8(%ebp),%esi
506197:	8b 8e d4 00 00 00    	mov    0xd4(%esi),%ecx
50619d:	0f b6 41 21          	movzbl 0x21(%ecx),%eax
5061a1:	83 e0 03             	and    $0x3,%eax
5061a4:	50                   	push   %eax
5061a5:	57                   	push   %edi
5061a6:	ff 71 2c             	push   0x2c(%ecx)
5061a9:	ff 15 90 18 72 00    	call   *0x721890
5061af:	83 c4 0c             	add    $0xc,%esp
5061b2:	89 45 0c             	mov    %eax,0xc(%ebp)
5061b5:	85 c0                	test   %eax,%eax
5061b7:	75 2a                	jne    0x5061e3
5061b9:	8d 45 0c             	lea    0xc(%ebp),%eax
5061bc:	50                   	push   %eax
5061bd:	57                   	push   %edi
5061be:	ff b6 d4 00 00 00    	push   0xd4(%esi)
5061c4:	e8 a7 e1 02 00       	call   0x534370
5061c9:	83 c4 0c             	add    $0xc,%esp
5061cc:	85 c0                	test   %eax,%eax
5061ce:	0f 85 49 01 00 00    	jne    0x50631d
5061d4:	8b 45 0c             	mov    0xc(%ebp),%eax
5061d7:	85 c0                	test   %eax,%eax
5061d9:	75 08                	jne    0x5061e3
5061db:	8d 78 07             	lea    0x7(%eax),%edi
5061de:	e9 3c 01 00 00       	jmp    0x50631f
5061e3:	8b 58 04             	mov    0x4(%eax),%ebx
5061e6:	8b 8e d4 00 00 00    	mov    0xd4(%esi),%ecx
5061ec:	83 3b 00             	cmpl   $0x0,(%ebx)
5061ef:	75 0f                	jne    0x506200
5061f1:	50                   	push   %eax
5061f2:	57                   	push   %edi
5061f3:	51                   	push   %ecx
5061f4:	e8 c7 a0 00 00       	call   0x5102c0
5061f9:	83 c4 0c             	add    $0xc,%esp
5061fc:	8b d8                	mov    %eax,%ebx
5061fe:	eb 07                	jmp    0x506207
506200:	ff 41 0c             	incl   0xc(%ecx)
506203:	66 ff 43 1e          	incw   0x1e(%ebx)
506207:	8b 45 10             	mov    0x10(%ebp),%eax
50620a:	8a 4d 14             	mov    0x14(%ebp),%cl
50620d:	80 e1 01             	and    $0x1,%cl
506210:	89 18                	mov    %ebx,(%eax)
506212:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
506216:	74 13                	je     0x50622b
506218:	84 c9                	test   %cl,%cl
50621a:	75 0f                	jne    0x50622b
50621c:	ff 86 b8 00 00 00    	incl   0xb8(%esi)
506222:	33 c0                	xor    %eax,%eax
506224:	5e                   	pop    %esi
506225:	5b                   	pop    %ebx
506226:	5f                   	pop    %edi
506227:	8b e5                	mov    %ebp,%esp
506229:	5d                   	pop    %ebp
50622a:	c3                   	ret
50622b:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
506231:	0f 87 b8 00 00 00    	ja     0x5062ef
506237:	a1 18 19 72 00       	mov    0x721918,%eax
50623c:	99                   	cltd
50623d:	f7 be 98 00 00 00    	idivl  0x98(%esi)
506243:	40                   	inc    %eax
506244:	3b f8                	cmp    %eax,%edi
506246:	0f 84 a3 00 00 00    	je     0x5062ef
50624c:	89 73 14             	mov    %esi,0x14(%ebx)
50624f:	8b 46 3c             	mov    0x3c(%esi),%eax
506252:	83 38 00             	cmpl   $0x0,(%eax)
506255:	74 2c                	je     0x506283
506257:	39 7e 18             	cmp    %edi,0x18(%esi)
50625a:	72 27                	jb     0x506283
50625c:	84 c9                	test   %cl,%cl
50625e:	75 23                	jne    0x506283
506260:	ff 86 bc 00 00 00    	incl   0xbc(%esi)
506266:	53                   	push   %ebx
506267:	e8 84 b1 00 00       	call   0x5113f0
50626c:	8b f8                	mov    %eax,%edi
50626e:	83 c4 04             	add    $0x4,%esp
506271:	85 ff                	test   %edi,%edi
506273:	74 71                	je     0x5062e6
506275:	53                   	push   %ebx
506276:	e8 85 e0 02 00       	call   0x534300
50627b:	83 c4 04             	add    $0x4,%esp
50627e:	e9 9c 00 00 00       	jmp    0x50631f
506283:	3b be 9c 00 00 00    	cmp    0x9c(%esi),%edi
506289:	76 13                	jbe    0x50629e
50628b:	53                   	push   %ebx
50628c:	bf 0d 00 00 00       	mov    $0xd,%edi
506291:	e8 6a e0 02 00       	call   0x534300
506296:	83 c4 04             	add    $0x4,%esp
506299:	e9 81 00 00 00       	jmp    0x50631f
50629e:	84 c9                	test   %cl,%cl
5062a0:	74 31                	je     0x5062d3