500f21:	8b ec                	mov    %esp,%ebp
500f23:	83 ec 14             	sub    $0x14,%esp
500f26:	a1 d4 89 72 00       	mov    0x7289d4,%eax
500f2b:	33 c5                	xor    %ebp,%eax
500f2d:	89 45 fc             	mov    %eax,-0x4(%ebp)
500f30:	8b 4d 10             	mov    0x10(%ebp),%ecx
500f33:	8b 55 08             	mov    0x8(%ebp),%edx
500f36:	89 55 f0             	mov    %edx,-0x10(%ebp)
500f39:	89 4d ec             	mov    %ecx,-0x14(%ebp)
500f3c:	56                   	push   %esi
500f3d:	8b 75 0c             	mov    0xc(%ebp),%esi
500f40:	85 c9                	test   %ecx,%ecx
500f42:	0f 84 a2 00 00 00    	je     0x500fea
500f48:	85 f6                	test   %esi,%esi
500f4a:	74 04                	je     0x500f50
500f4c:	8b 06                	mov    (%esi),%eax
500f4e:	eb 02                	jmp    0x500f52
500f50:	33 c0                	xor    %eax,%eax
500f52:	83 39 00             	cmpl   $0x0,(%ecx)
500f55:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
500f5c:	0f 8e 88 00 00 00    	jle    0x500fea
500f62:	53                   	push   %ebx
500f63:	8d 1c 80             	lea    (%eax,%eax,4),%ebx
500f66:	57                   	push   %edi
500f67:	c1 e3 02             	shl    $0x2,%ebx
500f6a:	8d 79 0c             	lea    0xc(%ecx),%edi
500f6d:	0f 1f 00             	nopl   (%eax)
500f70:	8b 47 f8             	mov    -0x8(%edi),%eax
500f73:	85 c0                	test   %eax,%eax
500f75:	74 13                	je     0x500f8a
500f77:	6a 00                	push   $0x0
500f79:	6a 00                	push   $0x0
500f7b:	50                   	push   %eax
500f7c:	ff 32                	push   (%edx)
500f7e:	e8 dd f8 ff ff       	call   0x500860
500f83:	83 c4 10             	add    $0x10,%esp
500f86:	8b d0                	mov    %eax,%edx
500f88:	eb 02                	jmp    0x500f8c
500f8a:	33 d2                	xor    %edx,%edx
500f8c:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
500f90:	74 26                	je     0x500fb8
500f92:	85 d2                	test   %edx,%edx
500f94:	74 22                	je     0x500fb8
500f96:	8d 45 f8             	lea    -0x8(%ebp),%eax
500f99:	50                   	push   %eax
500f9a:	52                   	push   %edx
500f9b:	e8 80 64 02 00       	call   0x527420
500fa0:	83 c4 08             	add    $0x8,%esp
500fa3:	85 c0                	test   %eax,%eax
500fa5:	74 11                	je     0x500fb8
500fa7:	81 62 04 ff fb ff cf 	andl   $0xcffffbff,0x4(%edx)
500fae:	c6 02 77             	movb   $0x77,(%edx)
500fb1:	c7 42 08 00 00 00 00 	movl   $0x0,0x8(%edx)
500fb8:	52                   	push   %edx
500fb9:	56                   	push   %esi
500fba:	ff 75 f0             	push   -0x10(%ebp)
500fbd:	e8 be 65 02 00       	call   0x527580
500fc2:	8b f0                	mov    %eax,%esi
500fc4:	83 c4 0c             	add    $0xc,%esp
500fc7:	85 f6                	test   %esi,%esi
500fc9:	74 06                	je     0x500fd1
500fcb:	8a 0f                	mov    (%edi),%cl
500fcd:	88 4c 33 0c          	mov    %cl,0xc(%ebx,%esi,1)
500fd1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
500fd4:	83 c7 14             	add    $0x14,%edi
500fd7:	8b 45 ec             	mov    -0x14(%ebp),%eax
500fda:	41                   	inc    %ecx
500fdb:	8b 55 f0             	mov    -0x10(%ebp),%edx
500fde:	83 c3 14             	add    $0x14,%ebx
500fe1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
500fe4:	3b 08                	cmp    (%eax),%ecx
500fe6:	7c 88                	jl     0x500f70
500fe8:	5f                   	pop    %edi
500fe9:	5b                   	pop    %ebx
500fea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
500fed:	8b c6                	mov    %esi,%eax
500fef:	33 cd                	xor    %ebp,%ecx
500ff1:	5e                   	pop    %esi
500ff2:	e8 e3 04 0e 00       	call   0x5e14da
500ff7:	8b e5                	mov    %ebp,%esp
500ff9:	5d                   	pop    %ebp
500ffa:	c3                   	ret
500ffb:	cc                   	int3
500ffc:	cc                   	int3
500ffd:	cc                   	int3
500ffe:	cc                   	int3
500fff:	cc                   	int3
501000:	55                   	push   %ebp
501001:	8b ec                	mov    %esp,%ebp
501003:	51                   	push   %ecx
501004:	8b 45 0c             	mov    0xc(%ebp),%eax
501007:	53                   	push   %ebx
501008:	56                   	push   %esi
501009:	57                   	push   %edi
50100a:	8b 08                	mov    (%eax),%ecx
50100c:	8d 58 04             	lea    0x4(%eax),%ebx
50100f:	8b 7d 08             	mov    0x8(%ebp),%edi
501012:	89 4d fc             	mov    %ecx,-0x4(%ebp)
501015:	8b 03                	mov    (%ebx),%eax
501017:	85 c0                	test   %eax,%eax
501019:	74 0d                	je     0x501028
50101b:	50                   	push   %eax
50101c:	57                   	push   %edi
50101d:	e8 8e 57 02 00       	call   0x5267b0
501022:	8b 4d fc             	mov    -0x4(%ebp),%ecx
501025:	83 c4 08             	add    $0x8,%esp
501028:	8b 73 04             	mov    0x4(%ebx),%esi
50102b:	85 f6                	test   %esi,%esi
50102d:	0f 84 ac 00 00 00    	je     0x5010df
501033:	85 ff                	test   %edi,%edi
501035:	74 50                	je     0x501087
501037:	83 bf f8 01 00 00 00 	cmpl   $0x0,0x1f8(%edi)
50103e:	74 0f                	je     0x50104f
501040:	56                   	push   %esi
501041:	57                   	push   %edi
501042:	e8 29 84 00 00       	call   0x509470
501047:	83 c4 08             	add    $0x8,%esp
50104a:	e9 8d 00 00 00       	jmp    0x5010dc
50104f:	3b b7 4c 01 00 00    	cmp    0x14c(%edi),%esi
501055:	73 30                	jae    0x501087
501057:	3b b7 44 01 00 00    	cmp    0x144(%edi),%esi
50105d:	72 10                	jb     0x50106f
50105f:	8b 87 40 01 00 00    	mov    0x140(%edi),%eax
501065:	89 06                	mov    %eax,(%esi)
501067:	89 b7 40 01 00 00    	mov    %esi,0x140(%edi)
50106d:	eb 70                	jmp    0x5010df
50106f:	3b b7 48 01 00 00    	cmp    0x148(%edi),%esi
501075:	72 10                	jb     0x501087
501077:	8b 87 38 01 00 00    	mov    0x138(%edi),%eax
50107d:	89 06                	mov    %eax,(%esi)
50107f:	89 b7 38 01 00 00    	mov    %esi,0x138(%edi)
501085:	eb 58                	jmp    0x5010df
501087:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
50108e:	74 42                	je     0x5010d2
501090:	a1 90 ff 72 00       	mov    0x72ff90,%eax
501095:	85 c0                	test   %eax,%eax
501097:	74 0a                	je     0x5010a3
501099:	50                   	push   %eax
50109a:	ff 15 60 18 72 00    	call   *0x721860
5010a0:	83 c4 04             	add    $0x4,%esp
5010a3:	56                   	push   %esi
5010a4:	ff 15 3c 18 72 00    	call   *0x72183c
5010aa:	29 05 20 00 73 00    	sub    %eax,0x730020
5010b0:	ff 0d 44 00 73 00    	decl   0x730044
5010b6:	56                   	push   %esi
5010b7:	ff 15 34 18 72 00    	call   *0x721834
5010bd:	a1 90 ff 72 00       	mov    0x72ff90,%eax
5010c2:	83 c4 08             	add    $0x8,%esp
5010c5:	85 c0                	test   %eax,%eax
5010c7:	74 13                	je     0x5010dc
5010c9:	50                   	push   %eax
5010ca:	ff 15 68 18 72 00    	call   *0x721868
5010d0:	eb 07                	jmp    0x5010d9
5010d2:	56                   	push   %esi
5010d3:	ff 15 34 18 72 00    	call   *0x721834
5010d9:	83 c4 04             	add    $0x4,%esp
5010dc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5010df:	49                   	dec    %ecx
5010e0:	83 c3 14             	add    $0x14,%ebx
5010e3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5010e6:	85 c9                	test   %ecx,%ecx
5010e8:	0f 8f 27 ff ff ff    	jg     0x501015
5010ee:	ff 75 0c             	push   0xc(%ebp)
5010f1:	57                   	push   %edi
5010f2:	e8 79 02 02 00       	call   0x521370
5010f7:	83 c4 08             	add    $0x8,%esp
5010fa:	5f                   	pop    %edi
5010fb:	5e                   	pop    %esi
5010fc:	5b                   	pop    %ebx
5010fd:	8b e5                	mov    %ebp,%esp
5010ff:	5d                   	pop    %ebp
501100:	c3                   	ret
501101:	cc                   	int3
501102:	cc                   	int3
501103:	cc                   	int3
501104:	cc                   	int3
501105:	cc                   	int3
501106:	cc                   	int3
501107:	cc                   	int3
501108:	cc                   	int3
501109:	cc                   	int3
50110a:	cc                   	int3
50110b:	cc                   	int3
50110c:	cc                   	int3
50110d:	cc                   	int3
50110e:	cc                   	int3
50110f:	cc                   	int3
501110:	55                   	push   %ebp
501111:	8b ec                	mov    %esp,%ebp
501113:	8b 55 18             	mov    0x18(%ebp),%edx
501116:	80 3a ae             	cmpb   $0xae,(%edx)
501119:	75 11                	jne    0x50112c
50111b:	8b 45 1c             	mov    0x1c(%ebp),%eax
50111e:	83 c0 ca             	add    $0xffffffca,%eax
501121:	83 f8 03             	cmp    $0x3,%eax
501124:	77 06                	ja     0x50112c
501126:	8b 42 14             	mov    0x14(%edx),%eax
501129:	8b 50 04             	mov    0x4(%eax),%edx
50112c:	80 3a a4             	cmpb   $0xa4,(%edx)
50112f:	75 16                	jne    0x501147
501131:	8b 4d 14             	mov    0x14(%ebp),%ecx
501134:	8b 42 1c             	mov    0x1c(%edx),%eax
501137:	89 01                	mov    %eax,(%ecx)
501139:	0f bf 42 20          	movswl 0x20(%edx),%eax
50113d:	89 41 04             	mov    %eax,0x4(%ecx)
501140:	b8 01 00 00 00       	mov    $0x1,%eax
501145:	5d                   	pop    %ebp
501146:	c3                   	ret
501147:	56                   	push   %esi
501148:	8b 75 0c             	mov    0xc(%ebp),%esi
50114b:	8b c6                	mov    %esi,%eax
50114d:	57                   	push   %edi
50114e:	8b 7d 10             	mov    0x10(%ebp),%edi
501151:	0b c7                	or     %edi,%eax
501153:	74 12                	je     0x501167
501155:	8b ce                	mov    %esi,%ecx
501157:	8b c7                	mov    %edi,%eax
501159:	83 c1 ff             	add    $0xffffffff,%ecx
50115c:	83 d0 ff             	adc    $0xffffffff,%eax
50115f:	23 ce                	and    %esi,%ecx
501161:	23 c7                	and    %edi,%eax
501163:	0b c8                	or     %eax,%ecx
501165:	74 06                	je     0x50116d
501167:	5f                   	pop    %edi
501168:	33 c0                	xor    %eax,%eax
50116a:	5e                   	pop    %esi
50116b:	5d                   	pop    %ebp
50116c:	c3                   	ret
50116d:	52                   	push   %edx
50116e:	ff 75 14             	push   0x14(%ebp)
501171:	57                   	push   %edi
501172:	56                   	push   %esi
501173:	ff 75 08             	push   0x8(%ebp)
501176:	e8 15 00 00 00       	call   0x501190
50117b:	83 c4 14             	add    $0x14,%esp
50117e:	5f                   	pop    %edi
50117f:	5e                   	pop    %esi
501180:	5d                   	pop    %ebp
501181:	c3                   	ret
501182:	cc                   	int3
501183:	cc                   	int3
501184:	cc                   	int3
501185:	cc                   	int3
501186:	cc                   	int3
501187:	cc                   	int3
501188:	cc                   	int3
501189:	cc                   	int3
50118a:	cc                   	int3
50118b:	cc                   	int3
50118c:	cc                   	int3
50118d:	cc                   	int3
50118e:	cc                   	int3
50118f:	cc                   	int3
501190:	55                   	push   %ebp
501191:	8b ec                	mov    %esp,%ebp
501193:	8b 45 10             	mov    0x10(%ebp),%eax
501196:	33 d2                	xor    %edx,%edx
501198:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50119b:	85 c0                	test   %eax,%eax
50119d:	75 05                	jne    0x5011a4
50119f:	83 f9 01             	cmp    $0x1,%ecx
5011a2:	76 12                	jbe    0x5011b6
5011a4:	0f ac c1 01          	shrd   $0x1,%eax,%ecx
5011a8:	42                   	inc    %edx
5011a9:	d1 e8                	shr    $1,%eax
5011ab:	85 c0                	test   %eax,%eax
5011ad:	77 f5                	ja     0x5011a4
5011af:	72 05                	jb     0x5011b6
5011b1:	83 f9 01             	cmp    $0x1,%ecx
5011b4:	77 ee                	ja     0x5011a4
5011b6:	8b 45 08             	mov    0x8(%ebp),%eax
5011b9:	8d 0c d2             	lea    (%edx,%edx,8),%ecx
5011bc:	53                   	push   %ebx
5011bd:	56                   	push   %esi
5011be:	57                   	push   %edi
5011bf:	8b 54 c8 34          	mov    0x34(%eax,%ecx,8),%edx
5011c3:	8b 44 c8 18          	mov    0x18(%eax,%ecx,8),%eax
5011c7:	89 55 08             	mov    %edx,0x8(%ebp)
5011ca:	8b 70 08             	mov    0x8(%eax),%esi
5011cd:	85 f6                	test   %esi,%esi
5011cf:	0f 84 be 00 00 00    	je     0x501293
5011d5:	8b 55 18             	mov    0x18(%ebp),%edx
5011d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5011df:	00
5011e0:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
5011e4:	0f 84 9e 00 00 00    	je     0x501288
5011ea:	33 c0                	xor    %eax,%eax
5011ec:	33 ff                	xor    %edi,%edi
5011ee:	66 3b 46 32          	cmp    0x32(%esi),%ax
5011f2:	0f 83 90 00 00 00    	jae    0x501288
5011f8:	33 db                	xor    %ebx,%ebx
5011fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
501200:	8b 46 04             	mov    0x4(%esi),%eax
501203:	66 83 3c 78 fe       	cmpw   $0xfffe,(%eax,%edi,2)
501208:	75 6e                	jne    0x501278
50120a:	8b 46 28             	mov    0x28(%esi),%eax
50120d:	8b 44 03 04          	mov    0x4(%ebx,%eax,1),%eax
501211:	85 c0                	test   %eax,%eax
501213:	74 22                	je     0x501237
501215:	8b 48 04             	mov    0x4(%eax),%ecx
501218:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
50121e:	74 17                	je     0x501237
501220:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
501226:	74 08                	je     0x501230
501228:	8b 40 14             	mov    0x14(%eax),%eax
50122b:	8b 40 04             	mov    0x4(%eax),%eax
50122e:	eb 03                	jmp    0x501233
501230:	8b 40 0c             	mov    0xc(%eax),%eax
501233:	85 c0                	test   %eax,%eax
501235:	75 de                	jne    0x501215
501237:	8b ca                	mov    %edx,%ecx
501239:	85 d2                	test   %edx,%edx
50123b:	74 25                	je     0x501262
50123d:	0f 1f 00             	nopl   (%eax)
501240:	8b 51 04             	mov    0x4(%ecx),%edx
501243:	f7 c2 00 10 04 00    	test   $0x41000,%edx
501249:	74 17                	je     0x501262
50124b:	f7 c2 00 00 04 00    	test   $0x40000,%edx
501251:	74 08                	je     0x50125b
501253:	8b 49 14             	mov    0x14(%ecx),%ecx
501256:	8b 49 04             	mov    0x4(%ecx),%ecx
501259:	eb 03                	jmp    0x50125e
50125b:	8b 49 0c             	mov    0xc(%ecx),%ecx
50125e:	85 c9                	test   %ecx,%ecx
501260:	75 de                	jne    0x501240
501262:	ff 75 08             	push   0x8(%ebp)
501265:	50                   	push   %eax
501266:	51                   	push   %ecx
501267:	6a 00                	push   $0x0
501269:	e8 62 52 02 00       	call   0x5264d0
50126e:	83 c4 10             	add    $0x10,%esp
501271:	85 c0                	test   %eax,%eax
501273:	74 25                	je     0x50129a
501275:	8b 55 18             	mov    0x18(%ebp),%edx
501278:	0f b7 46 32          	movzwl 0x32(%esi),%eax
50127c:	47                   	inc    %edi
50127d:	83 c3 14             	add    $0x14,%ebx
501280:	3b f8                	cmp    %eax,%edi
501282:	0f 8c 78 ff ff ff    	jl     0x501200
501288:	8b 76 14             	mov    0x14(%esi),%esi
50128b:	85 f6                	test   %esi,%esi
50128d:	0f 85 4d ff ff ff    	jne    0x5011e0
501293:	5f                   	pop    %edi
501294:	5e                   	pop    %esi
501295:	33 c0                	xor    %eax,%eax
501297:	5b                   	pop    %ebx
501298:	5d                   	pop    %ebp
501299:	c3                   	ret
50129a:	8b 45 14             	mov    0x14(%ebp),%eax
50129d:	8b 4d 08             	mov    0x8(%ebp),%ecx