548f6e:	0f 84 50 03 00 00    	je     0x5492c4
548f74:	8b c8                	mov    %eax,%ecx
548f76:	e9 49 03 00 00       	jmp    0x5492c4
548f7b:	56                   	push   %esi
548f7c:	e8 bf 96 f9 ff       	call   0x4e2640
548f81:	50                   	push   %eax
548f82:	68 04 d0 6a 00       	push   $0x6ad004
548f87:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
548f8d:	e8 1e 98 ff ff       	call   0x5427b0
548f92:	83 c4 10             	add    $0x10,%esp
548f95:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
548f9b:	e9 5e ff ff ff       	jmp    0x548efe
548fa0:	b9 90 8a 6b 00       	mov    $0x6b8a90,%ecx
548fa5:	83 fe 05             	cmp    $0x5,%esi
548fa8:	b8 88 8a 6b 00       	mov    $0x6b8a88,%eax
548fad:	0f 45 c1             	cmovne %ecx,%eax
548fb0:	50                   	push   %eax
548fb1:	68 98 8a 6b 00       	push   $0x6b8a98
548fb6:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
548fbc:	e8 ef 97 ff ff       	call   0x5427b0
548fc1:	83 c4 0c             	add    $0xc,%esp
548fc4:	e9 30 ff ff ff       	jmp    0x548ef9
548fc9:	ff 75 a8             	push   -0x58(%ebp)
548fcc:	8b 43 1c             	mov    0x1c(%ebx),%eax
548fcf:	ff d0                	call   *%eax
548fd1:	83 c4 04             	add    $0x4,%esp
548fd4:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
548fda:	8b b5 90 fe ff ff    	mov    -0x170(%ebp),%esi
548fe0:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
548fe4:	75 3d                	jne    0x549023
548fe6:	80 7f 52 00          	cmpb   $0x0,0x52(%edi)
548fea:	75 37                	jne    0x549023
548fec:	83 bf bc 00 00 00 00 	cmpl   $0x0,0xbc(%edi)
548ff3:	c6 47 51 01          	movb   $0x1,0x51(%edi)
548ff7:	7e 0a                	jle    0x549003
548ff9:	c7 87 10 01 00 00 01 	movl   $0x1,0x110(%edi)
549000:	00 00 00
549003:	ff 87 18 01 00 00    	incl   0x118(%edi)
549009:	33 c0                	xor    %eax,%eax
54900b:	66 89 87 1c 01 00 00 	mov    %ax,0x11c(%edi)
549012:	8b 87 f4 00 00 00    	mov    0xf4(%edi),%eax
549018:	85 c0                	test   %eax,%eax
54901a:	74 07                	je     0x549023
54901c:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
549023:	68 14 8b 6b 00       	push   $0x6b8b14
549028:	51                   	push   %ecx
549029:	e8 82 97 ff ff       	call   0x5427b0
54902e:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
549034:	83 c4 08             	add    $0x8,%esp
549037:	b8 07 00 00 00       	mov    $0x7,%eax
54903c:	e9 c9 fe ff ff       	jmp    0x548f0a
549041:	b8 06 00 00 00       	mov    $0x6,%eax
549046:	e9 b3 fe ff ff       	jmp    0x548efe
54904b:	6a 00                	push   $0x0
54904d:	51                   	push   %ecx
54904e:	e8 4d 90 ff ff       	call   0x5420a0
549053:	83 c4 08             	add    $0x8,%esp
549056:	85 c0                	test   %eax,%eax
549058:	0f 85 a0 fe ff ff    	jne    0x548efe
54905e:	6a 01                	push   $0x1
549060:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
549066:	e8 75 93 ff ff       	call   0x5423e0
54906b:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
549071:	83 c4 08             	add    $0x8,%esp
549074:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54907a:	8b 9d 8c fe ff ff    	mov    -0x174(%ebp),%ebx
549080:	8b 41 20             	mov    0x20(%ecx),%eax
549083:	83 c0 02             	add    $0x2,%eax
549086:	83 c8 01             	or     $0x1,%eax
549089:	89 41 20             	mov    %eax,0x20(%ecx)
54908c:	8b 42 04             	mov    0x4(%edx),%eax
54908f:	8d 04 80             	lea    (%eax,%eax,4),%eax
549092:	8d 34 c3             	lea    (%ebx,%eax,8),%esi
549095:	33 db                	xor    %ebx,%ebx
549097:	89 71 78             	mov    %esi,0x78(%ecx)
54909a:	39 5a 08             	cmp    %ebx,0x8(%edx)
54909d:	7e 3b                	jle    0x5490da
54909f:	90                   	nop
5490a0:	b8 00 10 00 00       	mov    $0x1000,%eax
5490a5:	66 85 46 08          	test   %ax,0x8(%esi)
5490a9:	74 11                	je     0x5490bc
5490ab:	56                   	push   %esi
5490ac:	e8 af 26 00 00       	call   0x54b760
5490b1:	83 c4 04             	add    $0x4,%esp
5490b4:	85 c0                	test   %eax,%eax
5490b6:	0f 85 18 ff ff ff    	jne    0x548fd4
5490bc:	56                   	push   %esi
5490bd:	e8 4e 27 00 00       	call   0x54b810
5490c2:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
5490c8:	43                   	inc    %ebx
5490c9:	83 c4 04             	add    $0x4,%esp
5490cc:	83 c6 28             	add    $0x28,%esi
5490cf:	3b 58 08             	cmp    0x8(%eax),%ebx
5490d2:	7c cc                	jl     0x5490a0
5490d4:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5490da:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
5490de:	0f 85 f6 fe ff ff    	jne    0x548fda
5490e4:	f6 47 58 04          	testb  $0x4,0x58(%edi)
5490e8:	74 16                	je     0x549100
5490ea:	8b 87 cc 00 00 00    	mov    0xcc(%edi),%eax
5490f0:	6a 00                	push   $0x0
5490f2:	51                   	push   %ecx
5490f3:	ff b7 d0 00 00 00    	push   0xd0(%edi)
5490f9:	6a 04                	push   $0x4
5490fb:	ff d0                	call   *%eax
5490fd:	83 c4 10             	add    $0x10,%esp
549100:	8b 8d 98 fe ff ff    	mov    -0x168(%ebp),%ecx
549106:	b8 67 66 66 66       	mov    $0x66666667,%eax
54910b:	2b 8d 64 fe ff ff    	sub    -0x19c(%ebp),%ecx
549111:	bb 64 00 00 00       	mov    $0x64,%ebx
549116:	8b b5 90 fe ff ff    	mov    -0x170(%ebp),%esi
54911c:	f7 e9                	imul   %ecx
54911e:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
549124:	c1 fa 03             	sar    $0x3,%edx
549127:	8b c2                	mov    %edx,%eax
549129:	c1 e8 1f             	shr    $0x1f,%eax
54912c:	40                   	inc    %eax
54912d:	03 c2                	add    %edx,%eax
54912f:	89 41 24             	mov    %eax,0x24(%ecx)
549132:	e9 a9 02 00 00       	jmp    0x5493e0
549137:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54913d:	0f b6 47 4f          	movzbl 0x4f(%edi),%eax
549141:	8b 5a 04             	mov    0x4(%edx),%ebx
549144:	8b 4a 08             	mov    0x8(%edx),%ecx
549147:	3b d8                	cmp    %eax,%ebx
549149:	0f 84 d8 00 00 00    	je     0x549227
54914f:	85 c9                	test   %ecx,%ecx
549151:	74 14                	je     0x549167
549153:	68 04 02 00 00       	push   $0x204
549158:	57                   	push   %edi
549159:	e8 d2 f4 fe ff       	call   0x538630
54915e:	83 c4 08             	add    $0x8,%esp
549161:	c6 47 4f 01          	movb   $0x1,0x4f(%edi)
549165:	eb 36                	jmp    0x54919d
549167:	85 db                	test   %ebx,%ebx
549169:	74 13                	je     0x54917e
54916b:	83 bf b8 00 00 00 00 	cmpl   $0x0,0xb8(%edi)
549172:	7e 0a                	jle    0x54917e
549174:	68 48 89 6b 00       	push   $0x6b8948
549179:	e9 e7 fb ff ff       	jmp    0x548d65
54917e:	6a 01                	push   $0x1
549180:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
549186:	e8 15 8f ff ff       	call   0x5420a0
54918b:	8b c8                	mov    %eax,%ecx
54918d:	83 c4 08             	add    $0x8,%esp
549190:	89 8d 94 fe ff ff    	mov    %ecx,-0x16c(%ebp)
549196:	85 c9                	test   %ecx,%ecx
549198:	75 7c                	jne    0x549216
54919a:	88 5f 4f             	mov    %bl,0x4f(%edi)
54919d:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
5491a3:	e8 58 0f 00 00       	call   0x54a100
5491a8:	83 c4 04             	add    $0x4,%esp
5491ab:	83 f8 05             	cmp    $0x5,%eax
5491ae:	75 40                	jne    0x5491f0
5491b0:	8b 8d 98 fe ff ff    	mov    -0x168(%ebp),%ecx
5491b6:	b8 67 66 66 66       	mov    $0x66666667,%eax
5491bb:	2b 8d 64 fe ff ff    	sub    -0x19c(%ebp),%ecx
5491c1:	8b b5 90 fe ff ff    	mov    -0x170(%ebp),%esi
5491c7:	f7 e9                	imul   %ecx
5491c9:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5491cf:	c1 fa 03             	sar    $0x3,%edx
5491d2:	8b c2                	mov    %edx,%eax
5491d4:	c1 e8 1f             	shr    $0x1f,%eax
5491d7:	03 c2                	add    %edx,%eax
5491d9:	89 41 24             	mov    %eax,0x24(%ecx)
5491dc:	b0 01                	mov    $0x1,%al
5491de:	2a c3                	sub    %bl,%al
5491e0:	bb 05 00 00 00       	mov    $0x5,%ebx
5491e5:	88 47 4f             	mov    %al,0x4f(%edi)
5491e8:	89 59 28             	mov    %ebx,0x28(%ecx)
5491eb:	e9 f0 01 00 00       	jmp    0x5493e0
5491f0:	57                   	push   %edi
5491f1:	e8 5a 53 fd ff       	call   0x51e550
5491f6:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
5491fc:	83 c4 04             	add    $0x4,%esp
5491ff:	b9 65 00 00 00       	mov    $0x65,%ecx
549204:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
549208:	b8 01 00 00 00       	mov    $0x1,%eax
54920d:	0f 45 c8             	cmovne %eax,%ecx
549210:	89 8d 94 fe ff ff    	mov    %ecx,-0x16c(%ebp)
549216:	8b 9d 94 fe ff ff    	mov    -0x16c(%ebp),%ebx
54921c:	8b b5 90 fe ff ff    	mov    -0x170(%ebp),%esi
549222:	e9 b9 01 00 00       	jmp    0x5493e0
549227:	85 db                	test   %ebx,%ebx
549229:	75 11                	jne    0x54923c
54922b:	b8 80 89 6b 00       	mov    $0x6b8980,%eax
549230:	50                   	push   %eax
549231:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
549237:	e9 b5 fc ff ff       	jmp    0x548ef1
54923c:	85 c9                	test   %ecx,%ecx
54923e:	b8 b0 89 6b 00       	mov    $0x6b89b0,%eax
549243:	ba dc 89 6b 00       	mov    $0x6b89dc,%edx
549248:	0f 44 c2             	cmove  %edx,%eax
54924b:	50                   	push   %eax
54924c:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
549252:	e9 9a fc ff ff       	jmp    0x548ef1
549257:	8b b5 90 fe ff ff    	mov    -0x170(%ebp),%esi
54925d:	33 c0                	xor    %eax,%eax
54925f:	38 47 51             	cmp    %al,0x51(%edi)
549262:	0f 94 c0             	sete   %al
549265:	8d 04 45 07 00 00 00 	lea    0x7(,%eax,2),%eax
54926c:	50                   	push   %eax
54926d:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
549273:	89 41 28             	mov    %eax,0x28(%ecx)
549276:	e8 e5 63 fa ff       	call   0x4ef660
54927b:	50                   	push   %eax
54927c:	68 04 d0 6a 00       	push   $0x6ad004
549281:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
549287:	e8 24 95 ff ff       	call   0x5427b0
54928c:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
549292:	83 c4 10             	add    $0x10,%esp
549295:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
54929b:	e9 6a fc ff ff       	jmp    0x548f0a
5492a0:	8b b5 90 fe ff ff    	mov    -0x170(%ebp),%esi
5492a6:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5492ac:	e9 59 fc ff ff       	jmp    0x548f0a
5492b1:	b9 ec c2 6b 00       	mov    $0x6bc2ec,%ecx
5492b6:	eb 0c                	jmp    0x5492c4
5492b8:	b9 1c c3 6b 00       	mov    $0x6bc31c,%ecx
5492bd:	eb 05                	jmp    0x5492c4
5492bf:	b9 04 c3 6b 00       	mov    $0x6bc304,%ecx
5492c4:	51                   	push   %ecx
5492c5:	68 04 d0 6a 00       	push   $0x6ad004
5492ca:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
5492d0:	e8 db 94 ff ff       	call   0x5427b0
5492d5:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
5492db:	83 c4 0c             	add    $0xc,%esp
5492de:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5492e4:	89 41 28             	mov    %eax,0x28(%ecx)
5492e7:	3d 0a 0c 00 00       	cmp    $0xc0a,%eax
5492ec:	74 27                	je     0x549315
5492ee:	0f b6 c0             	movzbl %al,%eax
5492f1:	83 f8 0e             	cmp    $0xe,%eax
5492f4:	74 05                	je     0x5492fb
5492f6:	83 f8 0a             	cmp    $0xa,%eax
5492f9:	75 1a                	jne    0x549315
5492fb:	8b 07                	mov    (%edi),%eax
5492fd:	8b 48 44             	mov    0x44(%eax),%ecx
549300:	85 c9                	test   %ecx,%ecx
549302:	74 0c                	je     0x549310
549304:	6a 00                	push   $0x0
549306:	6a 00                	push   $0x0
549308:	50                   	push   %eax
549309:	ff d1                	call   *%ecx
54930b:	83 c4 0c             	add    $0xc,%esp
54930e:	eb 02                	jmp    0x549312
549310:	33 c0                	xor    %eax,%eax
549312:	89 47 48             	mov    %eax,0x48(%edi)
549315:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
54931b:	8b 8d 98 fe ff ff    	mov    -0x168(%ebp),%ecx
549321:	2b 8d 64 fe ff ff    	sub    -0x19c(%ebp),%ecx
549327:	ff 70 7c             	push   0x7c(%eax)
54932a:	ff b0 c0 00 00 00    	push   0xc0(%eax)
549330:	b8 67 66 66 66       	mov    $0x66666667,%eax
549335:	f7 e9                	imul   %ecx
549337:	c1 fa 03             	sar    $0x3,%edx
54933a:	8b c2                	mov    %edx,%eax
54933c:	c1 e8 1f             	shr    $0x1f,%eax
54933f:	03 c2                	add    %edx,%eax
549341:	50                   	push   %eax
549342:	68 f4 8a 6b 00       	push   $0x6b8af4
549347:	ff b5 94 fe ff ff    	push   -0x16c(%ebp)
54934d:	e8 8e 6c f9 ff       	call   0x4dffe0
549352:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
549358:	e8 a3 0d 00 00       	call   0x54a100
54935d:	83 c4 18             	add    $0x18,%esp
549360:	81 bd 94 fe ff ff 0a 	cmpl   $0xc0a,-0x16c(%ebp)
549367:	0c 00 00
54936a:	75 43                	jne    0x5493af
54936c:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
549370:	75 3d                	jne    0x5493af
549372:	80 7f 52 00          	cmpb   $0x0,0x52(%edi)
549376:	75 37                	jne    0x5493af
549378:	83 bf bc 00 00 00 00 	cmpl   $0x0,0xbc(%edi)
54937f:	c6 47 51 01          	movb   $0x1,0x51(%edi)
549383:	7e 0a                	jle    0x54938f
549385:	c7 87 10 01 00 00 01 	movl   $0x1,0x110(%edi)
54938c:	00 00 00
54938f:	ff 87 18 01 00 00    	incl   0x118(%edi)
549395:	33 c0                	xor    %eax,%eax
549397:	66 89 87 1c 01 00 00 	mov    %ax,0x11c(%edi)
54939e:	8b 87 f4 00 00 00    	mov    0xf4(%edi),%eax
5493a4:	85 c0                	test   %eax,%eax
5493a6:	74 07                	je     0x5493af
5493a8:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
5493af:	8a 85 37 fe ff ff    	mov    -0x1c9(%ebp),%al
5493b5:	c7 85 94 fe ff ff 01 	movl   $0x1,-0x16c(%ebp)
5493bc:	00 00 00
5493bf:	84 c0                	test   %al,%al
5493c1:	74 16                	je     0x5493d9
5493c3:	0f b6 c0             	movzbl %al,%eax
5493c6:	48                   	dec    %eax
5493c7:	50                   	push   %eax
5493c8:	57                   	push   %edi
5493c9:	e8 e2 eb fe ff       	call   0x537fb0
5493ce:	8b 9d 94 fe ff ff    	mov    -0x16c(%ebp),%ebx
5493d4:	83 c4 08             	add    $0x8,%esp
5493d7:	eb 07                	jmp    0x5493e0
5493d9:	bb 01 00 00 00       	mov    $0x1,%ebx
5493de:	66 90                	xchg   %ax,%ax
5493e0:	8b 8d 1c fe ff ff    	mov    -0x1e4(%ebp),%ecx
5493e6:	3b ce                	cmp    %esi,%ecx
5493e8:	72 32                	jb     0x54941c
5493ea:	8b 87 58 01 00 00    	mov    0x158(%edi),%eax
5493f0:	85 c0                	test   %eax,%eax
5493f2:	74 28                	je     0x54941c
5493f4:	ff b7 5c 01 00 00    	push   0x15c(%edi)
5493fa:	03 b7 60 01 00 00    	add    0x160(%edi),%esi
549400:	ff d0                	call   *%eax
549402:	83 c4 04             	add    $0x4,%esp
549405:	85 c0                	test   %eax,%eax
549407:	74 d7                	je     0x5493e0
549409:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
54940f:	83 ce ff             	or     $0xffffffff,%esi
549412:	b8 09 00 00 00       	mov    $0x9,%eax
549417:	e9 ee fa ff ff       	jmp    0x548f0a
54941c:	8b 95 9c fe ff ff    	mov    -0x164(%ebp),%edx
549422:	01 8a b4 00 00 00    	add    %ecx,0xb4(%edx)
549428:	83 ba a0 00 00 00 00 	cmpl   $0x0,0xa0(%edx)
54942f:	74 09                	je     0x54943a
549431:	52                   	push   %edx
549432:	e8 09 19 01 00       	call   0x55ad40
549437:	83 c4 04             	add    $0x4,%esp
54943a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54943d:	8b c3                	mov    %ebx,%eax
54943f:	5f                   	pop    %edi
549440:	5e                   	pop    %esi
549441:	33 cd                	xor    %ebp,%ecx
549443:	5b                   	pop    %ebx
549444:	e8 91 80 09 00       	call   0x5e14da
549449:	8b e5                	mov    %ebp,%esp
54944b:	5d                   	pop    %ebp
54944c:	c3                   	ret
54944d:	0f 1f 00             	nopl   (%eax)
549450:	7f 4f                	jg     0x5494a1
549452:	54                   	push   %esp
549453:	00 37                	add    %dh,(%edi)
549455:	91                   	xchg   %eax,%ecx
549456:	54                   	push   %esp
549457:	00 3e                	add    %bh,(%esi)
549459:	53                   	push   %ebx
54945a:	54                   	push   %esp
54945b:	00 ae 6b 54 00 cc    	add    %ch,-0x33ffab95(%esi)
549461:	6b 54 00 cc 6b       	imul   $0x6b,-0x34(%eax,%eax,1),%edx
549466:	54                   	push   %esp
549467:	00 6d 7e             	add    %ch,0x7e(%ebp)
54946a:	54                   	push   %esp
54946b:	00 19                	add    %bl,(%ecx)
54946d:	7f 54                	jg     0x5494c3
54946f:	00 c1                	add    %al,%cl