546dc9:	74 6c                	je     0x546e37
546dcb:	8a 93 c8 00 00 00    	mov    0xc8(%ebx),%dl
546dd1:	80 fa 03             	cmp    $0x3,%dl
546dd4:	75 29                	jne    0x546dff
546dd6:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546ddc:	51                   	push   %ecx
546ddd:	0f b7 83 da 00 00 00 	movzwl 0xda(%ebx),%eax
546de4:	50                   	push   %eax
546de5:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546deb:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546df1:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
546df7:	42                   	inc    %edx
546df8:	e8 47 2e 00 00       	call   0x549c44
546dfd:	eb 38                	jmp    0x546e37
546dff:	66 83 bb da 00 00 00 	cmpw   $0x0,0xda(%ebx)
546e06:	00
546e07:	74 1a                	je     0x546e23
546e09:	8d 8b 4c 01 00 00    	lea    0x14c(%ebx),%ecx
546e0f:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546e15:	42                   	inc    %edx
546e16:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546e1c:	e8 ab 30 00 00       	call   0x549ecc
546e21:	eb 14                	jmp    0x546e37
546e23:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546e29:	42                   	inc    %edx
546e2a:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546e30:	33 c9                	xor    %ecx,%ecx
546e32:	e8 95 30 00 00       	call   0x549ecc
546e37:	f6 43 32 04          	testb  $0x4,0x32(%ebx)
546e3b:	74 17                	je     0x546e54
546e3d:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546e43:	42                   	inc    %edx
546e44:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546e4a:	b9 80 00 00 00       	mov    $0x80,%ecx
546e4f:	e8 c0 df ff ff       	call   0x544e14
546e54:	f6 43 32 60          	testb  $0x60,0x32(%ebx)
546e58:	74 4c                	je     0x546ea6
546e5a:	8b 8b ac 00 00 00    	mov    0xac(%ebx),%ecx
546e60:	41                   	inc    %ecx
546e61:	8d 93 c0 00 00 00    	lea    0xc0(%ebx),%edx
546e67:	8b c3                	mov    %ebx,%eax
546e69:	e8 52 0c 00 00       	call   0x547ac0
546e6e:	85 c0                	test   %eax,%eax
546e70:	74 34                	je     0x546ea6
546e72:	c6 83 e4 01 00 00 01 	movb   $0x1,0x1e4(%ebx)
546e79:	8b 43 30             	mov    0x30(%ebx),%eax
546e7c:	3d 00 00 40 00       	cmp    $0x400000,%eax
546e81:	75 0c                	jne    0x546e8f
546e83:	ba 32 ad 69 00       	mov    $0x69ad32,%edx
546e88:	8b c3                	mov    %ebx,%eax
546e8a:	e8 cd 40 00 00       	call   0x54af5c
546e8f:	8b 53 30             	mov    0x30(%ebx),%edx
546e92:	81 fa 00 00 20 00    	cmp    $0x200000,%edx
546e98:	75 0c                	jne    0x546ea6
546e9a:	ba 59 ad 69 00       	mov    $0x69ad59,%edx
546e9f:	8b c3                	mov    %ebx,%eax
546ea1:	e8 1a 40 00 00       	call   0x54aec0
546ea6:	f6 43 31 40          	testb  $0x40,0x31(%ebx)
546eaa:	74 18                	je     0x546ec4
546eac:	f6 43 29 08          	testb  $0x8,0x29(%ebx)
546eb0:	75 12                	jne    0x546ec4
546eb2:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546eb8:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546ebe:	42                   	inc    %edx
546ebf:	e8 ac 0a 00 00       	call   0x547970
546ec4:	f6 43 30 80          	testb  $0x80,0x30(%ebx)
546ec8:	74 6a                	je     0x546f34
546eca:	66 83 bb da 00 00 00 	cmpw   $0x0,0xda(%ebx)
546ed1:	00
546ed2:	75 09                	jne    0x546edd
546ed4:	f6 83 e6 00 00 00 04 	testb  $0x4,0xe6(%ebx)
546edb:	74 57                	je     0x546f34
546edd:	8d 8b f8 00 00 00    	lea    0xf8(%ebx),%ecx
546ee3:	8d 83 02 01 00 00    	lea    0x102(%ebx),%eax
546ee9:	51                   	push   %ecx
546eea:	50                   	push   %eax
546eeb:	8b 93 24 01 00 00    	mov    0x124(%ebx),%edx
546ef1:	52                   	push   %edx
546ef2:	8b 8b 28 01 00 00    	mov    0x128(%ebx),%ecx
546ef8:	51                   	push   %ecx
546ef9:	8b 83 2c 01 00 00    	mov    0x12c(%ebx),%eax
546eff:	50                   	push   %eax
546f00:	8b 93 30 01 00 00    	mov    0x130(%ebx),%edx
546f06:	52                   	push   %edx
546f07:	8b 8b 34 01 00 00    	mov    0x134(%ebx),%ecx
546f0d:	51                   	push   %ecx
546f0e:	8d 8b 4c 01 00 00    	lea    0x14c(%ebx),%ecx
546f14:	8b 83 38 01 00 00    	mov    0x138(%ebx),%eax
546f1a:	50                   	push   %eax
546f1b:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546f21:	8b 93 18 01 00 00    	mov    0x118(%ebx),%edx
546f27:	52                   	push   %edx
546f28:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546f2e:	42                   	inc    %edx
546f2f:	e8 a4 14 00 00       	call   0x5483d8
546f34:	f6 43 31 20          	testb  $0x20,0x31(%ebx)
546f38:	74 4a                	je     0x546f84
546f3a:	f6 43 30 80          	testb  $0x80,0x30(%ebx)
546f3e:	74 13                	je     0x546f53
546f40:	66 83 bb da 00 00 00 	cmpw   $0x0,0xda(%ebx)
546f47:	00
546f48:	75 3a                	jne    0x546f84
546f4a:	f6 83 e6 00 00 00 04 	testb  $0x4,0xe6(%ebx)
546f51:	75 31                	jne    0x546f84
546f53:	8a 8b e6 00 00 00    	mov    0xe6(%ebx),%cl
546f59:	80 f9 03             	cmp    $0x3,%cl
546f5c:	74 26                	je     0x546f84
546f5e:	8b 83 30 01 00 00    	mov    0x130(%ebx),%eax
546f64:	50                   	push   %eax
546f65:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546f6b:	8b 93 18 01 00 00    	mov    0x118(%ebx),%edx
546f71:	52                   	push   %edx
546f72:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546f78:	8b 8b 24 01 00 00    	mov    0x124(%ebx),%ecx
546f7e:	42                   	inc    %edx
546f7f:	e8 30 28 00 00       	call   0x5497b4
546f84:	f6 43 31 04          	testb  $0x4,0x31(%ebx)
546f88:	74 12                	je     0x546f9c
546f8a:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546f90:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546f96:	42                   	inc    %edx
546f97:	e8 84 04 00 00       	call   0x547420
546f9c:	f6 43 30 40          	testb  $0x40,0x30(%ebx)
546fa0:	74 35                	je     0x546fd7
546fa2:	8b 8b b0 01 00 00    	mov    0x1b0(%ebx),%ecx
546fa8:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546fae:	51                   	push   %ecx
546faf:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546fb5:	8b 8b ac 01 00 00    	mov    0x1ac(%ebx),%ecx
546fbb:	42                   	inc    %edx
546fbc:	e8 57 33 00 00       	call   0x54a318
546fc1:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
546fc7:	85 c0                	test   %eax,%eax
546fc9:	75 0c                	jne    0x546fd7
546fcb:	ba 80 ad 69 00       	mov    $0x69ad80,%edx
546fd0:	8b c3                	mov    %ebx,%eax
546fd2:	e8 e9 3e 00 00       	call   0x54aec0
546fd7:	f6 43 30 20          	testb  $0x20,0x30(%ebx)
546fdb:	74 12                	je     0x546fef
546fdd:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
546fe3:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
546fe9:	42                   	inc    %edx
546fea:	e8 45 dd ff ff       	call   0x544d34
546fef:	f6 43 30 08          	testb  $0x8,0x30(%ebx)
546ff3:	74 18                	je     0x54700d
546ff5:	8d 8b 41 01 00 00    	lea    0x141(%ebx),%ecx
546ffb:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
547001:	42                   	inc    %edx
547002:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
547008:	e8 7b 02 00 00       	call   0x547288
54700d:	f6 43 30 04          	testb  $0x4,0x30(%ebx)
547011:	74 12                	je     0x547025
547013:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
547019:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
54701f:	42                   	inc    %edx
547020:	e8 23 01 00 00       	call   0x547148
547025:	f6 43 30 01          	testb  $0x1,0x30(%ebx)
547029:	74 12                	je     0x54703d
54702b:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
547031:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
547037:	42                   	inc    %edx
547038:	e8 7b df ff ff       	call   0x544fb8
54703d:	f6 43 32 01          	testb  $0x1,0x32(%ebx)
547041:	74 12                	je     0x547055
547043:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
547049:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
54704f:	42                   	inc    %edx
547050:	e8 77 dd ff ff       	call   0x544dcc
547055:	f6 43 31 40          	testb  $0x40,0x31(%ebx)
547059:	74 18                	je     0x547073
54705b:	f6 43 29 08          	testb  $0x8,0x29(%ebx)
54705f:	74 12                	je     0x547073
547061:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
547067:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
54706d:	42                   	inc    %edx
54706e:	e8 fd 08 00 00       	call   0x547970
547073:	f6 43 31 80          	testb  $0x80,0x31(%ebx)
547077:	74 1d                	je     0x547096
547079:	8b 53 2c             	mov    0x2c(%ebx),%edx
54707c:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
547082:	52                   	push   %edx
547083:	0f b7 8b ee 00 00 00 	movzwl 0xee(%ebx),%ecx
54708a:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
547090:	42                   	inc    %edx
547091:	e8 b2 05 00 00       	call   0x547648
547096:	f6 43 32 08          	testb  $0x8,0x32(%ebx)
54709a:	74 12                	je     0x5470ae
54709c:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
5470a2:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
5470a8:	42                   	inc    %edx
5470a9:	e8 ce 04 00 00       	call   0x54757c
5470ae:	f6 43 32 02          	testb  $0x2,0x32(%ebx)
5470b2:	74 12                	je     0x5470c6
5470b4:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
5470ba:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
5470c0:	42                   	inc    %edx
5470c1:	e8 9e 03 00 00       	call   0x547464
5470c6:	f6 43 30 10          	testb  $0x10,0x30(%ebx)
5470ca:	74 12                	je     0x5470de
5470cc:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
5470d2:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
5470d8:	42                   	inc    %edx
5470d9:	e8 be dc ff ff       	call   0x544d9c
5470de:	f6 43 32 10          	testb  $0x10,0x32(%ebx)
5470e2:	74 62                	je     0x547146
5470e4:	8b 4b 18             	mov    0x18(%ebx),%ecx
5470e7:	85 c9                	test   %ecx,%ecx
5470e9:	74 12                	je     0x5470fd
5470eb:	8b 8b ac 00 00 00    	mov    0xac(%ebx),%ecx
5470f1:	8d 93 c0 00 00 00    	lea    0xc0(%ebx),%edx
5470f7:	41                   	inc    %ecx
5470f8:	8b c3                	mov    %ebx,%eax
5470fa:	ff 53 18             	call   *0x18(%ebx)
5470fd:	8a 43 24             	mov    0x24(%ebx),%al
547100:	84 c0                	test   %al,%al
547102:	74 06                	je     0x54710a
547104:	88 83 c9 00 00 00    	mov    %al,0xc9(%ebx)
54710a:	8a 43 25             	mov    0x25(%ebx),%al
54710d:	84 c0                	test   %al,%al
54710f:	74 06                	je     0x547117
547111:	88 83 ca 00 00 00    	mov    %al,0xca(%ebx)
547117:	33 c0                	xor    %eax,%eax
547119:	33 d2                	xor    %edx,%edx
54711b:	8a 93 ca 00 00 00    	mov    0xca(%ebx),%dl
547121:	8a 83 c9 00 00 00    	mov    0xc9(%ebx),%al
547127:	f7 ea                	imul   %edx
547129:	33 c9                	xor    %ecx,%ecx
54712b:	88 83 cb 00 00 00    	mov    %al,0xcb(%ebx)
547131:	8a c8                	mov    %al,%cl
547133:	0f af 8b c0 00 00 00 	imul   0xc0(%ebx),%ecx
54713a:	83 c1 07             	add    $0x7,%ecx
54713d:	c1 e9 03             	shr    $0x3,%ecx
547140:	89 8b c4 00 00 00    	mov    %ecx,0xc4(%ebx)
547146:	5b                   	pop    %ebx
547147:	c3                   	ret
547148:	53                   	push   %ebx
547149:	56                   	push   %esi
54714a:	57                   	push   %edi
54714b:	55                   	push   %ebp
54714c:	83 c4 f4             	add    $0xfffffff4,%esp
54714f:	8b f2                	mov    %edx,%esi
547151:	8a 50 09             	mov    0x9(%eax),%dl
547154:	80 fa 08             	cmp    $0x8,%dl
547157:	0f 83 23 01 00 00    	jae    0x547280
54715d:	8b 18                	mov    (%eax),%ebx
54715f:	fe ca                	dec    %dl
547161:	74 12                	je     0x547175
547163:	fe ca                	dec    %dl
547165:	74 5f                	je     0x5471c6
547167:	80 ea 02             	sub    $0x2,%dl
54716a:	0f 84 a7 00 00 00    	je     0x547217
547170:	e9 f3 00 00 00       	jmp    0x547268
547175:	8b d3                	mov    %ebx,%edx
547177:	8b fb                	mov    %ebx,%edi
547179:	4a                   	dec    %edx
54717a:	03 fe                	add    %esi,%edi
54717c:	c1 ea 03             	shr    $0x3,%edx
54717f:	4f                   	dec    %edi
547180:	03 d6                	add    %esi,%edx
547182:	be 07 00 00 00       	mov    $0x7,%esi
547187:	89 14 24             	mov    %edx,(%esp)
54718a:	8d 53 07             	lea    0x7(%ebx),%edx
54718d:	83 e2 07             	and    $0x7,%edx
547190:	2b f2                	sub    %edx,%esi
547192:	33 d2                	xor    %edx,%edx
547194:	3b da                	cmp    %edx,%ebx
547196:	0f 86 cc 00 00 00    	jbe    0x547268
54719c:	8b 2c 24             	mov    (%esp),%ebp
54719f:	8b ce                	mov    %esi,%ecx
5471a1:	0f b6 6d 00          	movzbl 0x0(%ebp),%ebp
5471a5:	d3 fd                	sar    %cl,%ebp
5471a7:	8b cd                	mov    %ebp,%ecx
5471a9:	80 e1 01             	and    $0x1,%cl
5471ac:	83 fe 07             	cmp    $0x7,%esi
5471af:	88 0f                	mov    %cl,(%edi)
5471b1:	75 07                	jne    0x5471ba
5471b3:	33 f6                	xor    %esi,%esi
5471b5:	ff 0c 24             	decl   (%esp)
5471b8:	eb 01                	jmp    0x5471bb
5471ba:	46                   	inc    %esi
5471bb:	4f                   	dec    %edi
5471bc:	42                   	inc    %edx
5471bd:	3b da                	cmp    %edx,%ebx
5471bf:	77 db                	ja     0x54719c
5471c1:	e9 a2 00 00 00       	jmp    0x547268
5471c6:	8b d3                	mov    %ebx,%edx
5471c8:	8b fb                	mov    %ebx,%edi
5471ca:	4a                   	dec    %edx
5471cb:	03 fe                	add    %esi,%edi
5471cd:	c1 ea 02             	shr    $0x2,%edx
5471d0:	4f                   	dec    %edi
5471d1:	03 d6                	add    %esi,%edx
5471d3:	be 03 00 00 00       	mov    $0x3,%esi
5471d8:	89 54 24 04          	mov    %edx,0x4(%esp)
5471dc:	8d 53 03             	lea    0x3(%ebx),%edx
5471df:	83 e2 03             	and    $0x3,%edx
5471e2:	2b f2                	sub    %edx,%esi
5471e4:	33 d2                	xor    %edx,%edx
5471e6:	03 f6                	add    %esi,%esi
5471e8:	3b da                	cmp    %edx,%ebx
5471ea:	76 7c                	jbe    0x547268
5471ec:	8b 6c 24 04          	mov    0x4(%esp),%ebp
5471f0:	8b ce                	mov    %esi,%ecx
5471f2:	0f b6 6d 00          	movzbl 0x0(%ebp),%ebp
5471f6:	d3 fd                	sar    %cl,%ebp
5471f8:	8b cd                	mov    %ebp,%ecx
5471fa:	80 e1 03             	and    $0x3,%cl
5471fd:	83 fe 06             	cmp    $0x6,%esi
547200:	88 0f                	mov    %cl,(%edi)
547202:	75 08                	jne    0x54720c
547204:	33 f6                	xor    %esi,%esi
547206:	ff 4c 24 04          	decl   0x4(%esp)
54720a:	eb 03                	jmp    0x54720f
54720c:	83 c6 02             	add    $0x2,%esi
54720f:	4f                   	dec    %edi
547210:	42                   	inc    %edx
547211:	3b da                	cmp    %edx,%ebx
547213:	77 d7                	ja     0x5471ec
547215:	eb 51                	jmp    0x547268
547217:	8b d3                	mov    %ebx,%edx
547219:	8b fb                	mov    %ebx,%edi
54721b:	4a                   	dec    %edx
54721c:	03 fe                	add    %esi,%edi
54721e:	d1 ea                	shr    $1,%edx
547220:	4f                   	dec    %edi
547221:	03 d6                	add    %esi,%edx
547223:	be 01 00 00 00       	mov    $0x1,%esi
547228:	89 54 24 08          	mov    %edx,0x8(%esp)
54722c:	8d 53 01             	lea    0x1(%ebx),%edx
54722f:	83 e2 01             	and    $0x1,%edx
547232:	2b f2                	sub    %edx,%esi
547234:	33 d2                	xor    %edx,%edx
547236:	c1 e6 02             	shl    $0x2,%esi
547239:	3b da                	cmp    %edx,%ebx
54723b:	76 2b                	jbe    0x547268
54723d:	8b 6c 24 08          	mov    0x8(%esp),%ebp
547241:	8b ce                	mov    %esi,%ecx
547243:	0f b6 6d 00          	movzbl 0x0(%ebp),%ebp
547247:	d3 fd                	sar    %cl,%ebp
547249:	8b cd                	mov    %ebp,%ecx
54724b:	80 e1 0f             	and    $0xf,%cl
54724e:	83 fe 04             	cmp    $0x4,%esi
547251:	88 0f                	mov    %cl,(%edi)
547253:	75 08                	jne    0x54725d
547255:	33 f6                	xor    %esi,%esi
547257:	ff 4c 24 08          	decl   0x8(%esp)
54725b:	eb 05                	jmp    0x547262
54725d:	be 04 00 00 00       	mov    $0x4,%esi
547262:	4f                   	dec    %edi
547263:	42                   	inc    %edx