549f89:	74 58                	je     0x549fe3
549f8b:	0f b6 06             	movzbl (%esi),%eax
549f8e:	83 e8 00             	sub    $0x0,%eax
549f91:	74 53                	je     0x549fe6
549f93:	83 e8 01             	sub    $0x1,%eax
549f96:	74 1b                	je     0x549fb3
549f98:	83 e8 01             	sub    $0x1,%eax
549f9b:	75 46                	jne    0x549fe3
549f9d:	8b 56 28             	mov    0x28(%esi),%edx
549fa0:	52                   	push   %edx
549fa1:	8b 02                	mov    (%edx),%eax
549fa3:	8b 08                	mov    (%eax),%ecx
549fa5:	ff 48 04             	decl   0x4(%eax)
549fa8:	8b 41 1c             	mov    0x1c(%ecx),%eax
549fab:	ff d0                	call   *%eax
549fad:	83 c4 04             	add    $0x4,%esp
549fb0:	5e                   	pop    %esi
549fb1:	5d                   	pop    %ebp
549fb2:	c3                   	ret
549fb3:	8b 45 08             	mov    0x8(%ebp),%eax
549fb6:	53                   	push   %ebx
549fb7:	57                   	push   %edi
549fb8:	8b 7e 28             	mov    0x28(%esi),%edi
549fbb:	8b 18                	mov    (%eax),%ebx
549fbd:	85 ff                	test   %edi,%edi
549fbf:	74 20                	je     0x549fe1
549fc1:	57                   	push   %edi
549fc2:	53                   	push   %ebx
549fc3:	e8 b8 34 00 00       	call   0x54d480
549fc8:	ff 77 28             	push   0x28(%edi)
549fcb:	e8 c0 0d fa ff       	call   0x4ead90
549fd0:	57                   	push   %edi
549fd1:	53                   	push   %ebx
549fd2:	e8 99 73 fd ff       	call   0x521370
549fd7:	83 c4 14             	add    $0x14,%esp
549fda:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
549fe1:	5f                   	pop    %edi
549fe2:	5b                   	pop    %ebx
549fe3:	5e                   	pop    %esi
549fe4:	5d                   	pop    %ebp
549fe5:	c3                   	ret
549fe6:	f6 46 08 01          	testb  $0x1,0x8(%esi)
549fea:	74 13                	je     0x549fff
549fec:	8b 46 0c             	mov    0xc(%esi),%eax
549fef:	85 c0                	test   %eax,%eax
549ff1:	74 f0                	je     0x549fe3
549ff3:	50                   	push   %eax
549ff4:	e8 07 0f fd ff       	call   0x51af00
549ff9:	83 c4 04             	add    $0x4,%esp
549ffc:	5e                   	pop    %esi
549ffd:	5d                   	pop    %ebp
549ffe:	c3                   	ret
549fff:	ff 76 28             	push   0x28(%esi)
54a002:	e8 f9 0f fd ff       	call   0x51b000
54a007:	83 c4 04             	add    $0x4,%esp
54a00a:	5e                   	pop    %esi
54a00b:	5d                   	pop    %ebp
54a00c:	c3                   	ret
54a00d:	cc                   	int3
54a00e:	cc                   	int3
54a00f:	cc                   	int3
54a010:	55                   	push   %ebp
54a011:	8b ec                	mov    %esp,%ebp
54a013:	8b 55 08             	mov    0x8(%ebp),%edx
54a016:	57                   	push   %edi
54a017:	85 d2                	test   %edx,%edx
54a019:	74 42                	je     0x54a05d
54a01b:	8b 45 0c             	mov    0xc(%ebp),%eax
54a01e:	8d 3c 80             	lea    (%eax,%eax,4),%edi
54a021:	8b 42 64             	mov    0x64(%edx),%eax
54a024:	8d 7f fb             	lea    -0x5(%edi),%edi
54a027:	f6 44 f8 08 01       	testb  $0x1,0x8(%eax,%edi,8)
54a02c:	8d 3c f8             	lea    (%eax,%edi,8),%edi
54a02f:	75 2c                	jne    0x54a05d
54a031:	56                   	push   %esi
54a032:	ff 32                	push   (%edx)
54a034:	e8 77 78 ff ff       	call   0x5418b0
54a039:	8b f0                	mov    %eax,%esi
54a03b:	83 c4 04             	add    $0x4,%esp
54a03e:	85 f6                	test   %esi,%esi
54a040:	74 15                	je     0x54a057
54a042:	57                   	push   %edi
54a043:	56                   	push   %esi
54a044:	e8 c7 12 00 00       	call   0x54b310
54a049:	6a 01                	push   $0x1
54a04b:	ff 75 10             	push   0x10(%ebp)
54a04e:	56                   	push   %esi
54a04f:	e8 8c 9a fa ff       	call   0x4f3ae0
54a054:	83 c4 14             	add    $0x14,%esp
54a057:	8b c6                	mov    %esi,%eax
54a059:	5e                   	pop    %esi
54a05a:	5f                   	pop    %edi
54a05b:	5d                   	pop    %ebp
54a05c:	c3                   	ret
54a05d:	33 c0                	xor    %eax,%eax
54a05f:	5f                   	pop    %edi
54a060:	5d                   	pop    %ebp
54a061:	c3                   	ret
54a062:	cc                   	int3
54a063:	cc                   	int3
54a064:	cc                   	int3
54a065:	cc                   	int3
54a066:	cc                   	int3
54a067:	cc                   	int3
54a068:	cc                   	int3
54a069:	cc                   	int3
54a06a:	cc                   	int3
54a06b:	cc                   	int3
54a06c:	cc                   	int3
54a06d:	cc                   	int3
54a06e:	cc                   	int3
54a06f:	cc                   	int3
54a070:	55                   	push   %ebp
54a071:	8b ec                	mov    %esp,%ebp
54a073:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54a076:	8b 55 08             	mov    0x8(%ebp),%edx
54a079:	85 c9                	test   %ecx,%ecx
54a07b:	79 04                	jns    0x54a081
54a07d:	8b 4a 6c             	mov    0x6c(%edx),%ecx
54a080:	49                   	dec    %ecx
54a081:	8b 02                	mov    (%edx),%eax
54a083:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
54a087:	74 07                	je     0x54a090
54a089:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
54a08e:	5d                   	pop    %ebp
54a08f:	c3                   	ret
54a090:	8b 42 68             	mov    0x68(%edx),%eax
54a093:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
54a096:	8d 04 88             	lea    (%eax,%ecx,4),%eax
54a099:	5d                   	pop    %ebp
54a09a:	c3                   	ret
54a09b:	cc                   	int3
54a09c:	cc                   	int3
54a09d:	cc                   	int3
54a09e:	cc                   	int3
54a09f:	cc                   	int3
54a0a0:	55                   	push   %ebp
54a0a1:	8b ec                	mov    %esp,%ebp
54a0a3:	8b 55 08             	mov    0x8(%ebp),%edx
54a0a6:	56                   	push   %esi
54a0a7:	8b 72 6c             	mov    0x6c(%edx),%esi
54a0aa:	39 72 70             	cmp    %esi,0x70(%edx)
54a0ad:	7f 15                	jg     0x54a0c4
54a0af:	6a 00                	push   $0x0
54a0b1:	ff 75 0c             	push   0xc(%ebp)
54a0b4:	6a 00                	push   $0x0
54a0b6:	6a 0b                	push   $0xb
54a0b8:	52                   	push   %edx
54a0b9:	e8 42 c4 fb ff       	call   0x506500
54a0be:	83 c4 14             	add    $0x14,%esp
54a0c1:	5e                   	pop    %esi
54a0c2:	5d                   	pop    %ebp
54a0c3:	c3                   	ret
54a0c4:	8d 46 01             	lea    0x1(%esi),%eax
54a0c7:	89 42 6c             	mov    %eax,0x6c(%edx)
54a0ca:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
54a0cd:	8b 42 68             	mov    0x68(%edx),%eax
54a0d0:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
54a0d7:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
54a0de:	00
54a0df:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
54a0e6:	00
54a0e7:	8d 14 88             	lea    (%eax,%ecx,4),%edx
54a0ea:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54a0ed:	8b c6                	mov    %esi,%eax
54a0ef:	c7 42 10 00 00 00 00 	movl   $0x0,0x10(%edx)
54a0f6:	89 4a 08             	mov    %ecx,0x8(%edx)
54a0f9:	5e                   	pop    %esi
54a0fa:	5d                   	pop    %ebp
54a0fb:	c3                   	ret
54a0fc:	cc                   	int3
54a0fd:	cc                   	int3
54a0fe:	cc                   	int3
54a0ff:	cc                   	int3
54a100:	55                   	push   %ebp
54a101:	8b ec                	mov    %esp,%ebp
54a103:	56                   	push   %esi
54a104:	8b 75 08             	mov    0x8(%ebp),%esi
54a107:	57                   	push   %edi
54a108:	81 7e 14 a3 0d f2 2d 	cmpl   $0x2df20da3,0x14(%esi)
54a10f:	8b 3e                	mov    (%esi),%edi
54a111:	74 06                	je     0x54a119
54a113:	5f                   	pop    %edi
54a114:	33 c0                	xor    %eax,%eax
54a116:	5e                   	pop    %esi
54a117:	5d                   	pop    %ebp
54a118:	c3                   	ret
54a119:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
54a11d:	74 07                	je     0x54a126
54a11f:	c7 46 28 07 00 00 00 	movl   $0x7,0x28(%esi)
54a126:	53                   	push   %ebx
54a127:	56                   	push   %esi
54a128:	e8 43 ee fa ff       	call   0x4f8f70
54a12d:	83 c4 04             	add    $0x4,%esp
54a130:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
54a134:	0f 8c c1 02 00 00    	jl     0x54a3fb
54a13a:	f7 86 98 00 00 00 00 	testl  $0x200,0x98(%esi)
54a141:	02 00 00
54a144:	0f 84 81 02 00 00    	je     0x54a3cb
54a14a:	56                   	push   %esi
54a14b:	33 db                	xor    %ebx,%ebx
54a14d:	e8 de 85 ff ff       	call   0x542730
54a152:	8b 46 28             	mov    0x28(%esi),%eax
54a155:	83 c4 04             	add    $0x4,%esp
54a158:	25 ff 00 00 00       	and    $0xff,%eax
54a15d:	83 f8 07             	cmp    $0x7,%eax
54a160:	74 16                	je     0x54a178
54a162:	83 f8 0a             	cmp    $0xa,%eax
54a165:	74 11                	je     0x54a178
54a167:	83 f8 09             	cmp    $0x9,%eax
54a16a:	74 0c                	je     0x54a178
54a16c:	83 f8 0d             	cmp    $0xd,%eax
54a16f:	74 07                	je     0x54a178
54a171:	33 d2                	xor    %edx,%edx
54a173:	89 55 08             	mov    %edx,0x8(%ebp)
54a176:	eb 50                	jmp    0x54a1c8
54a178:	8b 8e 98 00 00 00    	mov    0x98(%esi),%ecx
54a17e:	ba 01 00 00 00       	mov    $0x1,%edx
54a183:	89 55 08             	mov    %edx,0x8(%ebp)
54a186:	f7 c1 00 01 00 00    	test   $0x100,%ecx
54a18c:	74 05                	je     0x54a193
54a18e:	83 f8 09             	cmp    $0x9,%eax
54a191:	74 35                	je     0x54a1c8
54a193:	83 f8 07             	cmp    $0x7,%eax
54a196:	74 05                	je     0x54a19d
54a198:	83 f8 0d             	cmp    $0xd,%eax
54a19b:	75 0b                	jne    0x54a1a8
54a19d:	84 c9                	test   %cl,%cl
54a19f:	79 07                	jns    0x54a1a8
54a1a1:	bb 02 00 00 00       	mov    $0x2,%ebx
54a1a6:	eb 20                	jmp    0x54a1c8
54a1a8:	68 04 02 00 00       	push   $0x204
54a1ad:	57                   	push   %edi
54a1ae:	e8 7d e4 fe ff       	call   0x538630
54a1b3:	57                   	push   %edi
54a1b4:	e8 97 43 fd ff       	call   0x51e550
54a1b9:	c6 47 4f 01          	movb   $0x1,0x4f(%edi)
54a1bd:	83 c4 0c             	add    $0xc,%esp
54a1c0:	89 5e 2c             	mov    %ebx,0x2c(%esi)
54a1c3:	ba 01 00 00 00       	mov    $0x1,%edx
54a1c8:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
54a1cc:	74 0d                	je     0x54a1db
54a1ce:	80 be 92 00 00 00 03 	cmpb   $0x3,0x92(%esi)
54a1d5:	75 2e                	jne    0x54a205
54a1d7:	85 d2                	test   %edx,%edx
54a1d9:	75 2a                	jne    0x54a205
54a1db:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
54a1df:	7c 24                	jl     0x54a205
54a1e1:	7f 06                	jg     0x54a1e9
54a1e3:	83 7e 40 00          	cmpl   $0x0,0x40(%esi)
54a1e7:	76 1c                	jbe    0x54a205
54a1e9:	68 30 87 6b 00       	push   $0x6b8730
54a1ee:	56                   	push   %esi
54a1ef:	c7 46 28 13 03 00 00 	movl   $0x313,0x28(%esi)
54a1f6:	c6 86 92 00 00 00 02 	movb   $0x2,0x92(%esi)
54a1fd:	e8 ae 85 ff ff       	call   0x5427b0
54a202:	83 c4 08             	add    $0x8,%esp
54a205:	83 bf 64 01 00 00 00 	cmpl   $0x0,0x164(%edi)
54a20c:	7e 0d                	jle    0x54a21b
54a20e:	83 bf 7c 01 00 00 00 	cmpl   $0x0,0x17c(%edi)
54a215:	0f 84 00 01 00 00    	je     0x54a31b
54a21b:	80 7f 4f 00          	cmpb   $0x0,0x4f(%edi)
54a21f:	0f 84 f6 00 00 00    	je     0x54a31b
54a225:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
54a22b:	c1 e8 08             	shr    $0x8,%eax
54a22e:	f7 d0                	not    %eax
54a230:	83 e0 01             	and    $0x1,%eax
54a233:	39 87 b8 00 00 00    	cmp    %eax,0xb8(%edi)
54a239:	0f 85 dc 00 00 00    	jne    0x54a31b
54a23f:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
54a243:	74 0f                	je     0x54a254
54a245:	80 be 92 00 00 00 03 	cmpb   $0x3,0x92(%esi)
54a24c:	75 70                	jne    0x54a2be
54a24e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
54a252:	75 6a                	jne    0x54a2be
54a254:	6a 01                	push   $0x1
54a256:	56                   	push   %esi
54a257:	e8 44 7e ff ff       	call   0x5420a0
54a25c:	83 c4 08             	add    $0x8,%esp
54a25f:	85 c0                	test   %eax,%eax
54a261:	74 26                	je     0x54a289
54a263:	f7 86 98 00 00 00 00 	testl  $0x100,0x98(%esi)
54a26a:	01 00 00
54a26d:	74 13                	je     0x54a282
54a26f:	56                   	push   %esi
54a270:	e8 2b 05 00 00       	call   0x54a7a0
54a275:	83 c4 04             	add    $0x4,%esp
54a278:	b8 01 00 00 00       	mov    $0x1,%eax
54a27d:	5b                   	pop    %ebx
54a27e:	5f                   	pop    %edi
54a27f:	5e                   	pop    %esi
54a280:	5d                   	pop    %ebp
54a281:	c3                   	ret
54a282:	b8 13 03 00 00       	mov    $0x313,%eax
54a287:	eb 32                	jmp    0x54a2bb
54a289:	56                   	push   %esi
54a28a:	57                   	push   %edi
54a28b:	e8 90 fb 00 00       	call   0x559e20
54a290:	83 c4 08             	add    $0x8,%esp
54a293:	83 f8 05             	cmp    $0x5,%eax
54a296:	75 1f                	jne    0x54a2b7
54a298:	f7 86 98 00 00 00 00 	testl  $0x100,0x98(%esi)
54a29f:	01 00 00
54a2a2:	74 17                	je     0x54a2bb
54a2a4:	56                   	push   %esi
54a2a5:	e8 f6 04 00 00       	call   0x54a7a0
54a2aa:	83 c4 04             	add    $0x4,%esp
54a2ad:	b8 05 00 00 00       	mov    $0x5,%eax
54a2b2:	5b                   	pop    %ebx
54a2b3:	5f                   	pop    %edi
54a2b4:	5e                   	pop    %esi
54a2b5:	5d                   	pop    %ebp
54a2b6:	c3                   	ret
54a2b7:	85 c0                	test   %eax,%eax
54a2b9:	74 17                	je     0x54a2d2
54a2bb:	89 46 28             	mov    %eax,0x28(%esi)
54a2be:	6a 00                	push   $0x0
54a2c0:	57                   	push   %edi
54a2c1:	e8 6a e3 fe ff       	call   0x538630
54a2c6:	83 c4 08             	add    $0x8,%esp
54a2c9:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
54a2d0:	eb 39                	jmp    0x54a30b
54a2d2:	81 67 20 ff ff f7 ff 	andl   $0xfff7ffff,0x20(%edi)
54a2d9:	8b 47 24             	mov    0x24(%edi),%eax
54a2dc:	83 67 18 fe          	andl   $0xfffffffe,0x18(%edi)
54a2e0:	c7 87 e8 01 00 00 00 	movl   $0x0,0x1e8(%edi)
54a2e7:	00 00 00
54a2ea:	c7 87 ec 01 00 00 00 	movl   $0x0,0x1ec(%edi)
54a2f1:	00 00 00
54a2f4:	c7 87 f0 01 00 00 00 	movl   $0x0,0x1f0(%edi)
54a2fb:	00 00 00
54a2fe:	c7 87 f4 01 00 00 00 	movl   $0x0,0x1f4(%edi)
54a305:	00 00 00
54a308:	89 47 24             	mov    %eax,0x24(%edi)
54a30b:	c7 87 e0 01 00 00 00 	movl   $0x0,0x1e0(%edi)
54a312:	00 00 00
54a315:	85 db                	test   %ebx,%ebx
54a317:	74 79                	je     0x54a392
54a319:	eb 23                	jmp    0x54a33e
54a31b:	85 db                	test   %ebx,%ebx
54a31d:	75 1f                	jne    0x54a33e
54a31f:	39 5e 28             	cmp    %ebx,0x28(%esi)
54a322:	74 15                	je     0x54a339
54a324:	8a 86 92 00 00 00    	mov    0x92(%esi),%al
54a32a:	3c 03                	cmp    $0x3,%al
54a32c:	74 0b                	je     0x54a339
54a32e:	3c 02                	cmp    $0x2,%al
54a330:	75 41                	jne    0x54a373
54a332:	bb 02 00 00 00       	mov    $0x2,%ebx
54a337:	eb 05                	jmp    0x54a33e