502147:	cc                   	int3
502148:	cc                   	int3
502149:	cc                   	int3
50214a:	cc                   	int3
50214b:	cc                   	int3
50214c:	cc                   	int3
50214d:	cc                   	int3
50214e:	cc                   	int3
50214f:	cc                   	int3
502150:	55                   	push   %ebp
502151:	8b ec                	mov    %esp,%ebp
502153:	8b 4d 08             	mov    0x8(%ebp),%ecx
502156:	8b 41 38             	mov    0x38(%ecx),%eax
502159:	85 c0                	test   %eax,%eax
50215b:	74 0c                	je     0x502169
50215d:	0f 1f 00             	nopl   (%eax)
502160:	8b c8                	mov    %eax,%ecx
502162:	8b 41 38             	mov    0x38(%ecx),%eax
502165:	85 c0                	test   %eax,%eax
502167:	75 f7                	jne    0x502160
502169:	8b c1                	mov    %ecx,%eax
50216b:	5d                   	pop    %ebp
50216c:	c3                   	ret
50216d:	cc                   	int3
50216e:	cc                   	int3
50216f:	cc                   	int3
502170:	55                   	push   %ebp
502171:	8b ec                	mov    %esp,%ebp
502173:	83 ec 44             	sub    $0x44,%esp
502176:	8b 55 10             	mov    0x10(%ebp),%edx
502179:	33 c9                	xor    %ecx,%ecx
50217b:	39 4d 14             	cmp    %ecx,0x14(%ebp)
50217e:	53                   	push   %ebx
50217f:	0f 95 c1             	setne  %cl
502182:	57                   	push   %edi
502183:	8b 7d 08             	mov    0x8(%ebp),%edi
502186:	0f b6 44 11 19       	movzbl 0x19(%ecx,%edx,1),%eax
50218b:	89 45 f0             	mov    %eax,-0x10(%ebp)
50218e:	8b 1f                	mov    (%edi),%ebx
502190:	83 f8 07             	cmp    $0x7,%eax
502193:	75 18                	jne    0x5021ad
502195:	8b 43 20             	mov    0x20(%ebx),%eax
502198:	25 00 00 08 00       	and    $0x80000,%eax
50219d:	83 c8 00             	or     $0x0,%eax
5021a0:	74 08                	je     0x5021aa
5021a2:	5f                   	pop    %edi
5021a3:	33 c0                	xor    %eax,%eax
5021a5:	5b                   	pop    %ebx
5021a6:	8b e5                	mov    %ebp,%esp
5021a8:	5d                   	pop    %ebp
5021a9:	c3                   	ret
5021aa:	8b 45 f0             	mov    -0x10(%ebp),%eax
5021ad:	83 c1 07             	add    $0x7,%ecx
5021b0:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
5021b3:	89 4d dc             	mov    %ecx,-0x24(%ebp)
5021b6:	56                   	push   %esi
5021b7:	8b 31                	mov    (%ecx),%esi
5021b9:	85 c0                	test   %eax,%eax
5021bb:	0f 84 44 05 00 00    	je     0x502705
5021c1:	85 f6                	test   %esi,%esi
5021c3:	0f 85 3c 05 00 00    	jne    0x502705
5021c9:	8d 45 ec             	lea    -0x14(%ebp),%eax
5021cc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5021cf:	50                   	push   %eax
5021d0:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5021d3:	89 75 ec             	mov    %esi,-0x14(%ebp)
5021d6:	50                   	push   %eax
5021d7:	8b f2                	mov    %edx,%esi
5021d9:	33 c9                	xor    %ecx,%ecx
5021db:	56                   	push   %esi
5021dc:	ff 75 0c             	push   0xc(%ebp)
5021df:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5021e2:	57                   	push   %edi
5021e3:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5021e6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5021e9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5021ec:	e8 ef 7c 02 00       	call   0x529ee0
5021f1:	83 c4 14             	add    $0x14,%esp
5021f4:	85 c0                	test   %eax,%eax
5021f6:	0f 85 bd 04 00 00    	jne    0x5026b9
5021fc:	33 c9                	xor    %ecx,%ecx
5021fe:	89 4d e0             	mov    %ecx,-0x20(%ebp)
502201:	39 4e 14             	cmp    %ecx,0x14(%esi)
502204:	0f 8e 61 02 00 00    	jle    0x50246b
50220a:	c7 45 cc 20 8c 6b 00 	movl   $0x6b8c20,-0x34(%ebp)
502211:	c7 45 d0 03 00 00 00 	movl   $0x3,-0x30(%ebp)
502218:	c7 45 c4 1c 8c 6b 00 	movl   $0x6b8c1c,-0x3c(%ebp)
50221f:	c7 45 c8 03 00 00 00 	movl   $0x3,-0x38(%ebp)
502226:	8b 45 ec             	mov    -0x14(%ebp),%eax
502229:	85 c0                	test   %eax,%eax
50222b:	74 05                	je     0x502232
50222d:	8b 14 88             	mov    (%eax,%ecx,4),%edx
502230:	eb 03                	jmp    0x502235
502232:	8b 56 24             	mov    0x24(%esi),%edx
502235:	8b 45 e4             	mov    -0x1c(%ebp),%eax
502238:	85 c0                	test   %eax,%eax
50223a:	74 09                	je     0x502245
50223c:	8b 40 04             	mov    0x4(%eax),%eax
50223f:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
502243:	eb 07                	jmp    0x50224c
502245:	8b 45 0c             	mov    0xc(%ebp),%eax
502248:	0f b7 40 28          	movzwl 0x28(%eax),%eax
50224c:	98                   	cwtl
50224d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
502250:	8b 45 0c             	mov    0xc(%ebp),%eax
502253:	8b 40 04             	mov    0x4(%eax),%eax
502256:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
502259:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
50225c:	85 c9                	test   %ecx,%ecx
50225e:	74 12                	je     0x502272
502260:	8d 71 01             	lea    0x1(%ecx),%esi
502263:	8a 01                	mov    (%ecx),%al
502265:	41                   	inc    %ecx
502266:	84 c0                	test   %al,%al
502268:	75 f9                	jne    0x502263
50226a:	2b ce                	sub    %esi,%ecx
50226c:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
502272:	8b 45 10             	mov    0x10(%ebp),%eax
502275:	8d 34 92             	lea    (%edx,%edx,4),%esi
502278:	89 4d d8             	mov    %ecx,-0x28(%ebp)
50227b:	8b 00                	mov    (%eax),%eax
50227d:	8b 40 04             	mov    0x4(%eax),%eax
502280:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
502283:	89 4d bc             	mov    %ecx,-0x44(%ebp)
502286:	85 c9                	test   %ecx,%ecx
502288:	74 15                	je     0x50229f
50228a:	8d 51 01             	lea    0x1(%ecx),%edx
50228d:	0f 1f 00             	nopl   (%eax)
502290:	8a 01                	mov    (%ecx),%al
502292:	41                   	inc    %ecx
502293:	84 c0                	test   %al,%al
502295:	75 f9                	jne    0x502290
502297:	2b ca                	sub    %edx,%ecx
502299:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
50229f:	6a 00                	push   $0x0
5022a1:	8d 45 bc             	lea    -0x44(%ebp),%eax
5022a4:	89 4d c0             	mov    %ecx,-0x40(%ebp)
5022a7:	50                   	push   %eax
5022a8:	6a 3b                	push   $0x3b
5022aa:	53                   	push   %ebx
5022ab:	e8 c0 13 02 00       	call   0x523670
5022b0:	83 c4 10             	add    $0x10,%esp
5022b3:	50                   	push   %eax
5022b4:	6a 00                	push   $0x0
5022b6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5022b9:	50                   	push   %eax
5022ba:	6a 3b                	push   $0x3b
5022bc:	53                   	push   %ebx
5022bd:	e8 ae 13 02 00       	call   0x523670
5022c2:	83 c4 10             	add    $0x10,%esp
5022c5:	50                   	push   %eax
5022c6:	6a 00                	push   $0x0
5022c8:	8d 45 cc             	lea    -0x34(%ebp),%eax
5022cb:	50                   	push   %eax
5022cc:	6a 3b                	push   $0x3b
5022ce:	53                   	push   %ebx
5022cf:	e8 9c 13 02 00       	call   0x523670
5022d4:	83 c4 10             	add    $0x10,%esp
5022d7:	50                   	push   %eax
5022d8:	68 8b 00 00 00       	push   $0x8b
5022dd:	57                   	push   %edi
5022de:	e8 2d fd 02 00       	call   0x532010
5022e3:	83 c4 10             	add    $0x10,%esp
5022e6:	50                   	push   %eax
5022e7:	6a 35                	push   $0x35
5022e9:	57                   	push   %edi
5022ea:	e8 21 fd 02 00       	call   0x532010
5022ef:	50                   	push   %eax
5022f0:	ff 75 fc             	push   -0x4(%ebp)
5022f3:	57                   	push   %edi
5022f4:	e8 07 15 02 00       	call   0x523800
5022f9:	8b 4d 14             	mov    0x14(%ebp),%ecx
5022fc:	83 c4 1c             	add    $0x1c,%esp
5022ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
502302:	85 c9                	test   %ecx,%ecx
502304:	0f 84 81 00 00 00    	je     0x50238b
50230a:	6a 00                	push   $0x0
50230c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
50230f:	50                   	push   %eax
502310:	6a 3b                	push   $0x3b
502312:	53                   	push   %ebx
502313:	e8 58 13 02 00       	call   0x523670
502318:	83 c4 10             	add    $0x10,%esp
50231b:	50                   	push   %eax
50231c:	6a 00                	push   $0x0
50231e:	8d 45 c4             	lea    -0x3c(%ebp),%eax
502321:	50                   	push   %eax
502322:	6a 3b                	push   $0x3b
502324:	53                   	push   %ebx
502325:	e8 46 13 02 00       	call   0x523670
50232a:	83 c4 10             	add    $0x10,%esp
50232d:	50                   	push   %eax
50232e:	68 8b 00 00 00       	push   $0x8b
502333:	57                   	push   %edi
502334:	e8 d7 fc 02 00       	call   0x532010
502339:	83 c4 10             	add    $0x10,%esp
50233c:	50                   	push   %eax
50233d:	6a 00                	push   $0x0
50233f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
502342:	50                   	push   %eax
502343:	6a 3b                	push   $0x3b
502345:	53                   	push   %ebx
502346:	e8 25 13 02 00       	call   0x523670
50234b:	83 c4 10             	add    $0x10,%esp
50234e:	50                   	push   %eax
50234f:	6a 00                	push   $0x0
502351:	8d 45 cc             	lea    -0x34(%ebp),%eax
502354:	50                   	push   %eax
502355:	6a 3b                	push   $0x3b
502357:	53                   	push   %ebx
502358:	e8 13 13 02 00       	call   0x523670
50235d:	83 c4 10             	add    $0x10,%esp
502360:	50                   	push   %eax
502361:	68 8b 00 00 00       	push   $0x8b
502366:	57                   	push   %edi
502367:	e8 a4 fc 02 00       	call   0x532010
50236c:	83 c4 10             	add    $0x10,%esp
50236f:	50                   	push   %eax
502370:	6a 2d                	push   $0x2d
502372:	57                   	push   %edi
502373:	e8 98 fc 02 00       	call   0x532010
502378:	50                   	push   %eax
502379:	ff 75 f8             	push   -0x8(%ebp)
50237c:	57                   	push   %edi
50237d:	e8 7e 14 02 00       	call   0x523800
502382:	8b 4d 14             	mov    0x14(%ebp),%ecx
502385:	83 c4 1c             	add    $0x1c,%esp
502388:	89 45 f8             	mov    %eax,-0x8(%ebp)
50238b:	8b 45 f0             	mov    -0x10(%ebp),%eax
50238e:	83 f8 07             	cmp    $0x7,%eax
502391:	0f 84 c1 00 00 00    	je     0x502458
502397:	83 f8 0a             	cmp    $0xa,%eax
50239a:	75 42                	jne    0x5023de
50239c:	85 c9                	test   %ecx,%ecx
50239e:	0f 84 b4 00 00 00    	je     0x502458
5023a4:	3b c0                	cmp    %eax,%eax
5023a6:	75 36                	jne    0x5023de
5023a8:	6a 00                	push   $0x0
5023aa:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5023ad:	50                   	push   %eax
5023ae:	6a 3b                	push   $0x3b
5023b0:	53                   	push   %ebx
5023b1:	e8 ba 12 02 00       	call   0x523670
5023b6:	83 c4 10             	add    $0x10,%esp
5023b9:	50                   	push   %eax
5023ba:	6a 00                	push   $0x0
5023bc:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5023bf:	50                   	push   %eax
5023c0:	6a 3b                	push   $0x3b
5023c2:	53                   	push   %ebx
5023c3:	e8 a8 12 02 00       	call   0x523670
5023c8:	83 c4 10             	add    $0x10,%esp
5023cb:	50                   	push   %eax
5023cc:	68 8b 00 00 00       	push   $0x8b
5023d1:	57                   	push   %edi
5023d2:	e8 39 fc 02 00       	call   0x532010
5023d7:	83 c4 10             	add    $0x10,%esp
5023da:	8b f0                	mov    %eax,%esi
5023dc:	eb 5d                	jmp    0x50243b
5023de:	83 f8 09             	cmp    $0x9,%eax
5023e1:	75 27                	jne    0x50240a
5023e3:	8b 45 10             	mov    0x10(%ebp),%eax
5023e6:	8b 00                	mov    (%eax),%eax
5023e8:	8b 40 04             	mov    0x4(%eax),%eax
5023eb:	f6 44 b0 10 60       	testb  $0x60,0x10(%eax,%esi,4)
5023f0:	75 18                	jne    0x50240a
5023f2:	8b 44 b0 04          	mov    0x4(%eax,%esi,4),%eax
5023f6:	85 c0                	test   %eax,%eax
5023f8:	74 10                	je     0x50240a
5023fa:	6a 00                	push   $0x0
5023fc:	50                   	push   %eax
5023fd:	53                   	push   %ebx
5023fe:	e8 5d 44 02 00       	call   0x526860
502403:	83 c4 0c             	add    $0xc,%esp
502406:	8b f0                	mov    %eax,%esi
502408:	eb 31                	jmp    0x50243b
50240a:	6a 00                	push   $0x0
50240c:	6a 34                	push   $0x34
50240e:	53                   	push   %ebx
50240f:	e8 cc ef 01 00       	call   0x5213e0
502414:	8b f0                	mov    %eax,%esi
502416:	83 c4 0c             	add    $0xc,%esp
502419:	85 f6                	test   %esi,%esi
50241b:	74 1e                	je     0x50243b
50241d:	6a 34                	push   $0x34
50241f:	6a 00                	push   $0x0
502421:	56                   	push   %esi
502422:	e8 d9 15 0e 00       	call   0x5e3a00
502427:	83 c4 0c             	add    $0xc,%esp
50242a:	c7 46 18 01 00 00 00 	movl   $0x1,0x18(%esi)
502431:	83 c8 ff             	or     $0xffffffff,%eax
502434:	66 89 46 22          	mov    %ax,0x22(%esi)
502438:	c6 06 77             	movb   $0x77,(%esi)
50243b:	56                   	push   %esi
50243c:	ff 75 f4             	push   -0xc(%ebp)
50243f:	57                   	push   %edi
502440:	e8 3b 51 02 00       	call   0x527580
502445:	6a 00                	push   $0x0
502447:	8d 4d bc             	lea    -0x44(%ebp),%ecx
50244a:	89 45 f4             	mov    %eax,-0xc(%ebp)
50244d:	51                   	push   %ecx
50244e:	50                   	push   %eax
50244f:	57                   	push   %edi
502450:	e8 0b 56 02 00       	call   0x527a60
502455:	83 c4 1c             	add    $0x1c,%esp
502458:	8b 4d e0             	mov    -0x20(%ebp),%ecx
50245b:	8b 75 10             	mov    0x10(%ebp),%esi
50245e:	41                   	inc    %ecx
50245f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
502462:	3b 4e 14             	cmp    0x14(%esi),%ecx
502465:	0f 8c bb fd ff ff    	jl     0x502226
50246b:	8b 45 ec             	mov    -0x14(%ebp),%eax
50246e:	85 c0                	test   %eax,%eax
502470:	74 0a                	je     0x50247c
502472:	50                   	push   %eax
502473:	53                   	push   %ebx
502474:	e8 f7 ee 01 00       	call   0x521370
502479:	83 c4 08             	add    $0x8,%esp
50247c:	8b 06                	mov    (%esi),%eax
50247e:	8b 00                	mov    (%eax),%eax
502480:	89 45 10             	mov    %eax,0x10(%ebp)
502483:	85 c0                	test   %eax,%eax
502485:	75 04                	jne    0x50248b
502487:	33 ff                	xor    %edi,%edi
502489:	eb 17                	jmp    0x5024a2
50248b:	8b f8                	mov    %eax,%edi
50248d:	8d 4f 01             	lea    0x1(%edi),%ecx
502490:	8a 07                	mov    (%edi),%al
502492:	47                   	inc    %edi
502493:	84 c0                	test   %al,%al
502495:	75 f9                	jne    0x502490
502497:	8b 45 10             	mov    0x10(%ebp),%eax
50249a:	2b f9                	sub    %ecx,%edi
50249c:	81 e7 ff ff ff 3f    	and    $0x3fffffff,%edi
5024a2:	83 7d f0 07          	cmpl   $0x7,-0x10(%ebp)
5024a6:	0f 85 c6 00 00 00    	jne    0x502572
5024ac:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5024af:	8d 45 bc             	lea    -0x44(%ebp),%eax
5024b2:	6a 00                	push   $0x0
5024b4:	50                   	push   %eax
5024b5:	6a 47                	push   $0x47
5024b7:	53                   	push   %ebx
5024b8:	89 7d c8             	mov    %edi,-0x38(%ebp)
5024bb:	c7 45 bc 30 87 6b 00 	movl   $0x6b8730,-0x44(%ebp)
5024c2:	c7 45 c0 1d 00 00 00 	movl   $0x1d,-0x40(%ebp)
5024c9:	e8 a2 11 02 00       	call   0x523670
5024ce:	83 c4 10             	add    $0x10,%esp
5024d1:	89 45 e8             	mov    %eax,-0x18(%ebp)
5024d4:	85 c0                	test   %eax,%eax
5024d6:	74 04                	je     0x5024dc