541f7e:	e8 91 27 0b 00       	call   0x5f4714
541f83:	8b d0                	mov    %eax,%edx
541f85:	8b 45 ec             	mov    -0x14(%ebp),%eax
541f88:	48                   	dec    %eax
541f89:	85 c0                	test   %eax,%eax
541f8b:	7c 3c                	jl     0x541fc9
541f8d:	40                   	inc    %eax
541f8e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
541f91:	8b 75 9c             	mov    -0x64(%ebp),%esi
541f94:	8b f9                	mov    %ecx,%edi
541f96:	66 8b 0e             	mov    (%esi),%cx
541f99:	66 89 0f             	mov    %cx,(%edi)
541f9c:	8a 4e 02             	mov    0x2(%esi),%cl
541f9f:	88 4f 02             	mov    %cl,0x2(%edi)
541fa2:	83 45 9c 03          	addl   $0x3,-0x64(%ebp)
541fa6:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
541fa9:	8a 09                	mov    (%ecx),%cl
541fab:	88 0a                	mov    %cl,(%edx)
541fad:	42                   	inc    %edx
541fae:	ff 45 9c             	incl   -0x64(%ebp)
541fb1:	83 45 c0 03          	addl   $0x3,-0x40(%ebp)
541fb5:	48                   	dec    %eax
541fb6:	75 d6                	jne    0x541f8e
541fb8:	eb 0f                	jmp    0x541fc9
541fba:	6a 01                	push   $0x1
541fbc:	8d 55 c0             	lea    -0x40(%ebp),%edx
541fbf:	33 c9                	xor    %ecx,%ecx
541fc1:	8b 45 f4             	mov    -0xc(%ebp),%eax
541fc4:	e8 af 0d 00 00       	call   0x542d78
541fc9:	ff 43 0c             	incl   0xc(%ebx)
541fcc:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
541fd1:	74 15                	je     0x541fe8
541fd3:	db 43 0c             	fildl  0xc(%ebx)
541fd6:	dc 4b 18             	fmull  0x18(%ebx)
541fd9:	e8 ee 0c ec ff       	call   0x402ccc
541fde:	8b c8                	mov    %eax,%ecx
541fe0:	8b 53 08             	mov    0x8(%ebx),%edx
541fe3:	8b 43 04             	mov    0x4(%ebx),%eax
541fe6:	ff 13                	call   *(%ebx)
541fe8:	8b 43 28             	mov    0x28(%ebx),%eax
541feb:	80 38 00             	cmpb   $0x0,(%eax)
541fee:	75 0c                	jne    0x541ffc
541ff0:	ff 45 c4             	incl   -0x3c(%ebp)
541ff3:	ff 4d 8c             	decl   -0x74(%ebp)
541ff6:	0f 85 01 ff ff ff    	jne    0x541efd
541ffc:	8b 43 28             	mov    0x28(%ebx),%eax
541fff:	80 38 00             	cmpb   $0x0,(%eax)
542002:	75 09                	jne    0x54200d
542004:	ff 4d 90             	decl   -0x70(%ebp)
542007:	0f 85 d9 fe ff ff    	jne    0x541ee6
54200d:	83 7d a4 04          	cmpl   $0x4,-0x5c(%ebp)
542011:	75 08                	jne    0x54201b
542013:	8b 45 a0             	mov    -0x60(%ebp),%eax
542016:	e8 b1 07 ec ff       	call   0x4027cc
54201b:	8b 43 28             	mov    0x28(%ebx),%eax
54201e:	80 38 00             	cmpb   $0x0,(%eax)
542021:	75 0b                	jne    0x54202e
542023:	8b 55 f0             	mov    -0x10(%ebp),%edx
542026:	8b 45 f4             	mov    -0xc(%ebp),%eax
542029:	e8 4a 0e 00 00       	call   0x542e78
54202e:	33 c0                	xor    %eax,%eax
542030:	5a                   	pop    %edx
542031:	59                   	pop    %ecx
542032:	59                   	pop    %ecx
542033:	64 89 10             	mov    %edx,%fs:(%eax)
542036:	68 56 20 54 00       	push   $0x542056
54203b:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
54203f:	74 0d                	je     0x54204e
542041:	8d 55 f0             	lea    -0x10(%ebp),%edx
542044:	8d 45 f4             	lea    -0xc(%ebp),%eax
542047:	33 c9                	xor    %ecx,%ecx
542049:	e8 f2 11 00 00       	call   0x543240
54204e:	c3                   	ret
54204f:	e9 b8 21 ec ff       	jmp    0x40420c
542054:	eb e5                	jmp    0x54203b
542056:	33 c0                	xor    %eax,%eax
542058:	5a                   	pop    %edx
542059:	59                   	pop    %ecx
54205a:	59                   	pop    %ecx
54205b:	64 89 10             	mov    %edx,%fs:(%eax)
54205e:	eb 16                	jmp    0x542076
542060:	e9 1f 20 ec ff       	jmp    0x404084
542065:	01 00                	add    %eax,(%eax)
542067:	00 00                	add    %al,(%eax)
542069:	34 85                	xor    $0x85,%al
54206b:	40                   	inc    %eax
54206c:	00 71 20             	add    %dh,0x20(%ecx)
54206f:	54                   	push   %esp
542070:	00 e8                	add    %ch,%al
542072:	4a                   	dec    %edx
542073:	22 ec                	and    %ah,%ch
542075:	ff 33                	push   (%ebx)
542077:	c0 5a 59 59          	rcrb   $0x59,0x59(%edx)
54207b:	64 89 10             	mov    %edx,%fs:(%eax)
54207e:	68 98 20 54 00       	push   $0x542098
542083:	8d 45 84             	lea    -0x7c(%ebp),%eax
542086:	ba 02 00 00 00       	mov    $0x2,%edx
54208b:	e8 fc 27 ec ff       	call   0x40488c
542090:	c3                   	ret
542091:	e9 76 21 ec ff       	jmp    0x40420c
542096:	eb eb                	jmp    0x542083
542098:	5f                   	pop    %edi
542099:	5e                   	pop    %esi
54209a:	5b                   	pop    %ebx
54209b:	8b e5                	mov    %ebp,%esp
54209d:	5d                   	pop    %ebp
54209e:	c2 10 00             	ret    $0x10
5420a1:	00 00                	add    %al,(%eax)
5420a3:	00 31                	add    %dh,(%ecx)
5420a5:	2e 32 2e             	xor    %cs:(%esi),%ch
5420a8:	35 00 00 00 00       	xor    $0x0,%eax
5420ad:	00 c8                	add    %cl,%al
5420af:	42                   	inc    %edx
5420b0:	5c                   	pop    %esp
5420b1:	8f c2                	pop    %edx
5420b3:	f5                   	cmc
5420b4:	28 5c 8f a2          	sub    %bl,-0x5e(%edi,%ecx,4)
5420b8:	00 40 00             	add    %al,0x0(%eax)
5420bb:	00 53 56             	add    %dl,0x56(%ebx)
5420be:	83 c4 f8             	add    $0xfffffff8,%esp
5420c1:	8b f0                	mov    %eax,%esi
5420c3:	8b d4                	mov    %esp,%edx
5420c5:	b9 08 00 00 00       	mov    $0x8,%ecx
5420ca:	8b c6                	mov    %esi,%eax
5420cc:	8b 18                	mov    (%eax),%ebx
5420ce:	ff 53 08             	call   *0x8(%ebx)
5420d1:	8b c4                	mov    %esp,%eax
5420d3:	b9 04 00 00 00       	mov    $0x4,%ecx
5420d8:	33 d2                	xor    %edx,%edx
5420da:	e8 f5 ca 00 00       	call   0x54ebd4
5420df:	85 c0                	test   %eax,%eax
5420e1:	0f 94 c3             	sete   %bl
5420e4:	66 b9 01 00          	mov    $0x1,%cx
5420e8:	ba f8 ff ff ff       	mov    $0xfffffff8,%edx
5420ed:	8b c6                	mov    %esi,%eax
5420ef:	8b 30                	mov    (%eax),%esi
5420f1:	ff 56 10             	call   *0x10(%esi)
5420f4:	8b c3                	mov    %ebx,%eax
5420f6:	59                   	pop    %ecx
5420f7:	5a                   	pop    %edx
5420f8:	5e                   	pop    %esi
5420f9:	5b                   	pop    %ebx
5420fa:	c3                   	ret
5420fb:	90                   	nop
5420fc:	55                   	push   %ebp
5420fd:	8b ec                	mov    %esp,%ebp
5420ff:	53                   	push   %ebx
542100:	8b 5d 08             	mov    0x8(%ebp),%ebx
542103:	53                   	push   %ebx
542104:	6a 00                	push   $0x0
542106:	6a 00                	push   $0x0
542108:	6a 00                	push   $0x0
54210a:	e8 05 00 00 00       	call   0x542114
54210f:	5b                   	pop    %ebx
542110:	5d                   	pop    %ebp
542111:	c2 04 00             	ret    $0x4
542114:	55                   	push   %ebp
542115:	8b ec                	mov    %esp,%ebp
542117:	83 c4 f8             	add    $0xfffffff8,%esp
54211a:	53                   	push   %ebx
54211b:	56                   	push   %esi
54211c:	57                   	push   %edi
54211d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
542120:	89 55 fc             	mov    %edx,-0x4(%ebp)
542123:	8b f0                	mov    %eax,%esi
542125:	8b 7d 10             	mov    0x10(%ebp),%edi
542128:	8b cf                	mov    %edi,%ecx
54212a:	8b 55 0c             	mov    0xc(%ebp),%edx
54212d:	b8 01 00 00 00       	mov    $0x1,%eax
542132:	e8 81 8b 00 00       	call   0x54acb8
542137:	8b d8                	mov    %eax,%ebx
542139:	85 db                	test   %ebx,%ebx
54213b:	75 07                	jne    0x542144
54213d:	33 c0                	xor    %eax,%eax
54213f:	e9 21 01 00 00       	jmp    0x542265
542144:	8b c3                	mov    %ebx,%eax
542146:	e8 85 d1 00 00       	call   0x54f2d0
54214b:	8b 55 08             	mov    0x8(%ebp),%edx
54214e:	8b c3                	mov    %ebx,%eax
542150:	52                   	push   %edx
542151:	8b d7                	mov    %edi,%edx
542153:	8b 4d 0c             	mov    0xc(%ebp),%ecx
542156:	e8 41 8d 00 00       	call   0x54ae9c
54215b:	8b 4d 14             	mov    0x14(%ebp),%ecx
54215e:	51                   	push   %ecx
54215f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
542162:	8b 55 fc             	mov    -0x4(%ebp),%edx
542165:	8b c3                	mov    %ebx,%eax
542167:	e8 30 8f 00 00       	call   0x54b09c
54216c:	33 c0                	xor    %eax,%eax
54216e:	8a 14 06             	mov    (%esi,%eax,1),%dl
542171:	8a 88 58 bd 69 00    	mov    0x69bd58(%eax),%cl
542177:	3a d1                	cmp    %cl,%dl
542179:	74 07                	je     0x542182
54217b:	81 4b 2c 00 00 02 00 	orl    $0x20000,0x2c(%ebx)
542182:	8b d0                	mov    %eax,%edx
542184:	40                   	inc    %eax
542185:	8a 8a 58 bd 69 00    	mov    0x69bd58(%edx),%cl
54218b:	84 c9                	test   %cl,%cl
54218d:	75 df                	jne    0x54216e
54218f:	f6 43 2e 02          	testb  $0x2,0x2e(%ebx)
542193:	74 42                	je     0x5421d7
542195:	85 f6                	test   %esi,%esi
542197:	74 2d                	je     0x5421c6
542199:	8a 06                	mov    (%esi),%al
54219b:	8a 15 58 bd 69 00    	mov    0x69bd58,%dl
5421a1:	3a c2                	cmp    %dl,%al
5421a3:	75 21                	jne    0x5421c6
5421a5:	8a 06                	mov    (%esi),%al
5421a7:	3c 31                	cmp    $0x31,%al
5421a9:	75 0c                	jne    0x5421b7
5421ab:	8a 4e 02             	mov    0x2(%esi),%cl
5421ae:	a0 5a bd 69 00       	mov    0x69bd5a,%al
5421b3:	3a c8                	cmp    %al,%cl
5421b5:	75 0f                	jne    0x5421c6
5421b7:	8a 16                	mov    (%esi),%dl
5421b9:	80 fa 30             	cmp    $0x30,%dl
5421bc:	75 19                	jne    0x5421d7
5421be:	8a 4e 02             	mov    0x2(%esi),%cl
5421c1:	80 f9 39             	cmp    $0x39,%cl
5421c4:	7d 11                	jge    0x5421d7
5421c6:	33 c0                	xor    %eax,%eax
5421c8:	89 43 2c             	mov    %eax,0x2c(%ebx)
5421cb:	ba 98 a1 69 00       	mov    $0x69a198,%edx
5421d0:	8b c3                	mov    %ebx,%eax
5421d2:	e8 e9 8c 00 00       	call   0x54aec0
5421d7:	be 00 20 00 00       	mov    $0x2000,%esi
5421dc:	89 73 70             	mov    %esi,0x70(%ebx)
5421df:	8b d6                	mov    %esi,%edx
5421e1:	8b c3                	mov    %ebx,%eax
5421e3:	e8 80 8b 00 00       	call   0x54ad68
5421e8:	89 43 6c             	mov    %eax,0x6c(%ebx)
5421eb:	8d 43 34             	lea    0x34(%ebx),%eax
5421ee:	c7 43 54 54 ec 54 00 	movl   $0x54ec54,0x54(%ebx)
5421f5:	c7 43 58 c4 ec 54 00 	movl   $0x54ecc4,0x58(%ebx)
5421fc:	89 5b 5c             	mov    %ebx,0x5c(%ebx)
5421ff:	ba cf a1 69 00       	mov    $0x69a1cf,%edx
542204:	b9 38 00 00 00       	mov    $0x38,%ecx
542209:	e8 06 5d fe ff       	call   0x527f14
54220e:	83 e8 fa             	sub    $0xfffffffa,%eax
542211:	74 1f                	je     0x542232
542213:	83 e8 02             	sub    $0x2,%eax
542216:	74 0c                	je     0x542224
542218:	83 e8 02             	sub    $0x2,%eax
54221b:	74 07                	je     0x542224
54221d:	83 e8 02             	sub    $0x2,%eax
542220:	75 1e                	jne    0x542240
542222:	eb 28                	jmp    0x54224c
542224:	ba d5 a1 69 00       	mov    $0x69a1d5,%edx
542229:	8b c3                	mov    %ebx,%eax
54222b:	e8 90 8c 00 00       	call   0x54aec0
542230:	eb 1a                	jmp    0x54224c
542232:	ba e7 a1 69 00       	mov    $0x69a1e7,%edx
542237:	8b c3                	mov    %ebx,%eax
542239:	e8 82 8c 00 00       	call   0x54aec0
54223e:	eb 0c                	jmp    0x54224c
542240:	ba fa a1 69 00       	mov    $0x69a1fa,%edx
542245:	8b c3                	mov    %ebx,%eax
542247:	e8 74 8c 00 00       	call   0x54aec0
54224c:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
54224f:	89 4b 40             	mov    %ecx,0x40(%ebx)
542252:	33 c9                	xor    %ecx,%ecx
542254:	8b 43 70             	mov    0x70(%ebx),%eax
542257:	33 d2                	xor    %edx,%edx
542259:	89 43 44             	mov    %eax,0x44(%ebx)
54225c:	8b c3                	mov    %ebx,%eax
54225e:	e8 11 8a 00 00       	call   0x54ac74
542263:	8b c3                	mov    %ebx,%eax
542265:	5f                   	pop    %edi
542266:	5e                   	pop    %esi
542267:	5b                   	pop    %ebx
542268:	59                   	pop    %ecx
542269:	59                   	pop    %ecx
54226a:	5d                   	pop    %ebp
54226b:	c2 10 00             	ret    $0x10
54226e:	90                   	nop
54226f:	90                   	nop
542270:	6a 00                	push   $0x0
542272:	ba 0d a2 69 00       	mov    $0x69a20d,%edx
542277:	33 c9                	xor    %ecx,%ecx
542279:	e8 02 00 00 00       	call   0x542280
54227e:	c3                   	ret
54227f:	90                   	nop
542280:	55                   	push   %ebp
542281:	8b ec                	mov    %esp,%ebp
542283:	51                   	push   %ecx
542284:	53                   	push   %ebx
542285:	56                   	push   %esi
542286:	8b d9                	mov    %ecx,%ebx
542288:	8b f2                	mov    %edx,%esi
54228a:	89 45 fc             	mov    %eax,-0x4(%ebp)
54228d:	81 fb 1c 02 00 00    	cmp    $0x21c,%ebx
542293:	73 1c                	jae    0x5422b1
542295:	8b 45 fc             	mov    -0x4(%ebp),%eax
542298:	33 d2                	xor    %edx,%edx
54229a:	89 10                	mov    %edx,(%eax)
54229c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54229f:	33 c0                	xor    %eax,%eax
5422a1:	89 41 2c             	mov    %eax,0x2c(%ecx)
5422a4:	ba 1e a2 69 00       	mov    $0x69a21e,%edx
5422a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5422ac:	e8 0f 8c 00 00       	call   0x54aec0
5422b1:	8b 55 08             	mov    0x8(%ebp),%edx
5422b4:	81 fa 20 01 00 00    	cmp    $0x120,%edx
5422ba:	73 1c                	jae    0x5422d8
5422bc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5422bf:	33 c0                	xor    %eax,%eax
5422c1:	89 01                	mov    %eax,(%ecx)
5422c3:	8b 55 fc             	mov    -0x4(%ebp),%edx
5422c6:	33 c9                	xor    %ecx,%ecx
5422c8:	89 4a 2c             	mov    %ecx,0x2c(%edx)
5422cb:	ba 64 a2 69 00       	mov    $0x69a264,%edx
5422d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5422d3:	e8 e8 8b 00 00       	call   0x54aec0
5422d8:	8d 45 fc             	lea    -0x4(%ebp),%eax
5422db:	8b cb                	mov    %ebx,%ecx
5422dd:	8b d6                	mov    %esi,%edx
5422df:	e8 08 00 00 00       	call   0x5422ec
5422e4:	5e                   	pop    %esi
5422e5:	5b                   	pop    %ebx
5422e6:	59                   	pop    %ecx
5422e7:	5d                   	pop    %ebp
5422e8:	c2 04 00             	ret    $0x4
5422eb:	90                   	nop
5422ec:	53                   	push   %ebx
5422ed:	56                   	push   %esi
5422ee:	8b f0                	mov    %eax,%esi
5422f0:	57                   	push   %edi
5422f1:	8b f9                	mov    %ecx,%edi
5422f3:	33 c0                	xor    %eax,%eax
5422f5:	8b 1e                	mov    (%esi),%ebx
5422f7:	8a 0c 02             	mov    (%edx,%eax,1),%cl
5422fa:	3a 88 58 bd 69 00    	cmp    0x69bd58(%eax),%cl
542300:	74 13                	je     0x542315
542302:	33 c0                	xor    %eax,%eax
542304:	89 43 04             	mov    %eax,0x4(%ebx)
542307:	ba a7 a2 69 00       	mov    $0x69a2a7,%edx
54230c:	8b c3                	mov    %ebx,%eax
54230e:	e8 49 8c 00 00       	call   0x54af5c
542313:	eb 0d                	jmp    0x542322
542315:	8b c8                	mov    %eax,%ecx
542317:	40                   	inc    %eax
542318:	8a 89 58 bd 69 00    	mov    0x69bd58(%ecx),%cl
54231e:	84 c9                	test   %cl,%cl
542320:	75 d5                	jne    0x5422f7
542322:	81 ff 1c 02 00 00    	cmp    $0x21c,%edi
542328:	73 15                	jae    0x54233f
54232a:	8b c3                	mov    %ebx,%eax
54232c:	e8 f7 89 00 00       	call   0x54ad28
542331:	b8 01 00 00 00       	mov    $0x1,%eax