412025:	8b c7                	mov    %edi,%eax
412027:	5e                   	pop    %esi
412028:	5f                   	pop    %edi
412029:	5b                   	pop    %ebx
41202a:	8b e5                	mov    %ebp,%esp
41202c:	5d                   	pop    %ebp
41202d:	c3                   	ret
41202e:	8b ff                	mov    %edi,%edi
412030:	55                   	push   %ebp
412031:	8b ec                	mov    %esp,%ebp
412033:	81 ec 64 09 00 00    	sub    $0x964,%esp
412039:	a1 0c 30 42 00       	mov    0x42300c,%eax
41203e:	33 c5                	xor    %ebp,%eax
412040:	89 45 fc             	mov    %eax,-0x4(%ebp)
412043:	53                   	push   %ebx
412044:	8b 5d 18             	mov    0x18(%ebp),%ebx
412047:	8d 8d 6c f8 ff ff    	lea    -0x794(%ebp),%ecx
41204d:	56                   	push   %esi
41204e:	57                   	push   %edi
41204f:	8b 7d 14             	mov    0x14(%ebp),%edi
412052:	89 bd 80 f8 ff ff    	mov    %edi,-0x780(%ebp)
412058:	89 9d 84 f8 ff ff    	mov    %ebx,-0x77c(%ebp)
41205e:	e8 f1 fa ff ff       	call   0x411b54
412063:	8b 75 0c             	mov    0xc(%ebp),%esi
412066:	33 c0                	xor    %eax,%eax
412068:	8b ce                	mov    %esi,%ecx
41206a:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
412070:	0b c1                	or     %ecx,%eax
412072:	b0 2d                	mov    $0x2d,%al
412074:	75 02                	jne    0x412078
412076:	04 f3                	add    $0xf3,%al
412078:	0f be c0             	movsbl %al,%eax
41207b:	8b ce                	mov    %esi,%ecx
41207d:	89 07                	mov    %eax,(%edi)
41207f:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
412085:	33 c0                	xor    %eax,%eax
412087:	89 5f 08             	mov    %ebx,0x8(%edi)
41208a:	0b c1                	or     %ecx,%eax
41208c:	8b 7d 08             	mov    0x8(%ebp),%edi
41208f:	75 22                	jne    0x4120b3
412091:	8b ce                	mov    %esi,%ecx
412093:	8b c7                	mov    %edi,%eax
412095:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
41209b:	0b c1                	or     %ecx,%eax
41209d:	75 14                	jne    0x4120b3
41209f:	8b 85 80 f8 ff ff    	mov    -0x780(%ebp),%eax
4120a5:	68 b4 dc 41 00       	push   $0x41dcb4
4120aa:	83 60 04 00          	andl   $0x0,0x4(%eax)
4120ae:	e9 d3 12 00 00       	jmp    0x413386
4120b3:	8d 45 08             	lea    0x8(%ebp),%eax
4120b6:	50                   	push   %eax
4120b7:	e8 0f 8b ff ff       	call   0x40abcb
4120bc:	59                   	pop    %ecx
4120bd:	85 c0                	test   %eax,%eax
4120bf:	74 0d                	je     0x4120ce
4120c1:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
4120c7:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
4120ce:	83 e8 01             	sub    $0x1,%eax
4120d1:	0f 84 aa 12 00 00    	je     0x413381
4120d7:	83 e8 01             	sub    $0x1,%eax
4120da:	0f 84 9a 12 00 00    	je     0x41337a
4120e0:	83 e8 01             	sub    $0x1,%eax
4120e3:	0f 84 8a 12 00 00    	je     0x413373
4120e9:	83 e8 01             	sub    $0x1,%eax
4120ec:	0f 84 7a 12 00 00    	je     0x41336c
4120f2:	8b 45 10             	mov    0x10(%ebp),%eax
4120f5:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
4120fb:	83 a5 7c f8 ff ff 00 	andl   $0x0,-0x784(%ebp)
412102:	40                   	inc    %eax
412103:	89 7d 08             	mov    %edi,0x8(%ebp)
412106:	89 75 0c             	mov    %esi,0xc(%ebp)
412109:	dd 45 08             	fldl   0x8(%ebp)
41210c:	dd 95 98 f8 ff ff    	fstl   -0x768(%ebp)
412112:	8b bd 9c f8 ff ff    	mov    -0x764(%ebp),%edi
412118:	8b cf                	mov    %edi,%ecx
41211a:	89 85 88 f8 ff ff    	mov    %eax,-0x778(%ebp)
412120:	c1 e9 14             	shr    $0x14,%ecx
412123:	8b c1                	mov    %ecx,%eax
412125:	25 ff 07 00 00       	and    $0x7ff,%eax
41212a:	83 c8 00             	or     $0x0,%eax
41212d:	75 06                	jne    0x412135
41212f:	b2 01                	mov    $0x1,%dl
412131:	33 f6                	xor    %esi,%esi
412133:	eb 09                	jmp    0x41213e
412135:	32 d2                	xor    %dl,%dl
412137:	be 00 00 10 00       	mov    $0x100000,%esi
41213c:	33 c0                	xor    %eax,%eax
41213e:	8b 9d 98 f8 ff ff    	mov    -0x768(%ebp),%ebx
412144:	81 e7 ff ff 0f 00    	and    $0xfffff,%edi
41214a:	03 d8                	add    %eax,%ebx
41214c:	13 fe                	adc    %esi,%edi
41214e:	33 c0                	xor    %eax,%eax
412150:	84 d2                	test   %dl,%dl
412152:	0f 95 c0             	setne  %al
412155:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
41215b:	40                   	inc    %eax
41215c:	8d b1 cc fb ff ff    	lea    -0x434(%ecx),%esi
412162:	03 f0                	add    %eax,%esi
412164:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
41216a:	e8 11 3a 00 00       	call   0x415b80
41216f:	51                   	push   %ecx
412170:	51                   	push   %ecx
412171:	dd 1c 24             	fstpl  (%esp)
412174:	e8 17 3b 00 00       	call   0x415c90
412179:	59                   	pop    %ecx
41217a:	59                   	pop    %ecx
41217b:	e8 a0 62 00 00       	call   0x418420
412180:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
412186:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41218b:	74 07                	je     0x412194
41218d:	3d 00 00 00 80       	cmp    $0x80000000,%eax
412192:	75 08                	jne    0x41219c
412194:	33 c0                	xor    %eax,%eax
412196:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
41219c:	89 9d 30 fe ff ff    	mov    %ebx,-0x1d0(%ebp)
4121a2:	33 db                	xor    %ebx,%ebx
4121a4:	85 ff                	test   %edi,%edi
4121a6:	89 bd 34 fe ff ff    	mov    %edi,-0x1cc(%ebp)
4121ac:	0f 95 c3             	setne  %bl
4121af:	43                   	inc    %ebx
4121b0:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
4121b6:	85 f6                	test   %esi,%esi
4121b8:	0f 88 ed 03 00 00    	js     0x4125ab
4121be:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
4121c5:	6a 02                	push   $0x2
4121c7:	5e                   	pop    %esi
4121c8:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
4121cf:	00 10 00
4121d2:	89 b5 8c fa ff ff    	mov    %esi,-0x574(%ebp)
4121d8:	3b de                	cmp    %esi,%ebx
4121da:	0f 85 00 02 00 00    	jne    0x4123e0
4121e0:	33 c9                	xor    %ecx,%ecx
4121e2:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
4121e9:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
4121f0:	0f 85 ea 01 00 00    	jne    0x4123e0
4121f6:	83 c1 04             	add    $0x4,%ecx
4121f9:	83 f9 08             	cmp    $0x8,%ecx
4121fc:	75 e4                	jne    0x4121e2
4121fe:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
412204:	33 d2                	xor    %edx,%edx
412206:	83 c0 02             	add    $0x2,%eax
412209:	8b f0                	mov    %eax,%esi
41220b:	83 e0 1f             	and    $0x1f,%eax
41220e:	6a 20                	push   $0x20
412210:	59                   	pop    %ecx
412211:	2b c8                	sub    %eax,%ecx
412213:	89 85 a4 f8 ff ff    	mov    %eax,-0x75c(%ebp)
412219:	33 c0                	xor    %eax,%eax
41221b:	c1 ee 05             	shr    $0x5,%esi
41221e:	40                   	inc    %eax
41221f:	89 b5 b0 f8 ff ff    	mov    %esi,-0x750(%ebp)
412225:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
41222b:	e8 d0 61 00 00       	call   0x418400
412230:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
412237:	48                   	dec    %eax
412238:	0f bd cf             	bsr    %edi,%ecx
41223b:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
412241:	f7 d0                	not    %eax
412243:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
412249:	74 03                	je     0x41224e
41224b:	41                   	inc    %ecx
41224c:	eb 02                	jmp    0x412250
41224e:	33 c9                	xor    %ecx,%ecx
412250:	6a 20                	push   $0x20
412252:	58                   	pop    %eax
412253:	2b c1                	sub    %ecx,%eax
412255:	8d 56 02             	lea    0x2(%esi),%edx
412258:	39 85 a4 f8 ff ff    	cmp    %eax,-0x75c(%ebp)
41225e:	89 95 ac f8 ff ff    	mov    %edx,-0x754(%ebp)
412264:	0f 97 c0             	seta   %al
412267:	83 fa 73             	cmp    $0x73,%edx
41226a:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
412270:	0f 97 c1             	seta   %cl
412273:	83 fa 73             	cmp    $0x73,%edx
412276:	75 08                	jne    0x412280
412278:	84 c0                	test   %al,%al
41227a:	74 04                	je     0x412280
41227c:	b0 01                	mov    $0x1,%al
41227e:	eb 02                	jmp    0x412282
412280:	32 c0                	xor    %al,%al
412282:	84 c9                	test   %cl,%cl
412284:	0f 85 ef 00 00 00    	jne    0x412379
41228a:	84 c0                	test   %al,%al
41228c:	0f 85 e7 00 00 00    	jne    0x412379
412292:	6a 72                	push   $0x72
412294:	59                   	pop    %ecx
412295:	3b d1                	cmp    %ecx,%edx
412297:	72 08                	jb     0x4122a1
412299:	8b d1                	mov    %ecx,%edx
41229b:	89 8d ac f8 ff ff    	mov    %ecx,-0x754(%ebp)
4122a1:	8b ca                	mov    %edx,%ecx
4122a3:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
4122a9:	83 fa ff             	cmp    $0xffffffff,%edx
4122ac:	0f 84 96 00 00 00    	je     0x412348
4122b2:	8b f2                	mov    %edx,%esi
4122b4:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4122ba:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
4122c0:	2b f2                	sub    %edx,%esi
4122c2:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4122c5:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
4122cb:	3b ca                	cmp    %edx,%ecx
4122cd:	72 6d                	jb     0x41233c
4122cf:	3b f3                	cmp    %ebx,%esi
4122d1:	73 04                	jae    0x4122d7
4122d3:	8b 38                	mov    (%eax),%edi
4122d5:	eb 02                	jmp    0x4122d9
4122d7:	33 ff                	xor    %edi,%edi
4122d9:	8d 46 ff             	lea    -0x1(%esi),%eax
4122dc:	3b c3                	cmp    %ebx,%eax
4122de:	73 0b                	jae    0x4122eb
4122e0:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4122e6:	8b 40 fc             	mov    -0x4(%eax),%eax
4122e9:	eb 02                	jmp    0x4122ed
4122eb:	33 c0                	xor    %eax,%eax
4122ed:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
4122f3:	23 bd a8 f8 ff ff    	and    -0x758(%ebp),%edi
4122f9:	8b 8d 90 f8 ff ff    	mov    -0x770(%ebp),%ecx
4122ff:	d3 e8                	shr    %cl,%eax
412301:	8b 8d a4 f8 ff ff    	mov    -0x75c(%ebp),%ecx
412307:	d3 e7                	shl    %cl,%edi
412309:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
41230f:	0b c7                	or     %edi,%eax
412311:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
412318:	49                   	dec    %ecx
412319:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
41231f:	4e                   	dec    %esi
412320:	83 e8 04             	sub    $0x4,%eax
412323:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
412329:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
41232f:	83 f9 ff             	cmp    $0xffffffff,%ecx
412332:	74 08                	je     0x41233c
412334:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
41233a:	eb 8f                	jmp    0x4122cb
41233c:	8b 95 ac f8 ff ff    	mov    -0x754(%ebp),%edx
412342:	8b b5 b0 f8 ff ff    	mov    -0x750(%ebp),%esi
412348:	85 f6                	test   %esi,%esi
41234a:	74 0c                	je     0x412358
41234c:	8b ce                	mov    %esi,%ecx
41234e:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
412354:	33 c0                	xor    %eax,%eax
412356:	f3 ab                	rep stos %eax,%es:(%edi)
412358:	80 bd bb f8 ff ff 00 	cmpb   $0x0,-0x745(%ebp)
41235f:	bb cc 01 00 00       	mov    $0x1cc,%ebx
412364:	74 0b                	je     0x412371
412366:	8d 42 01             	lea    0x1(%edx),%eax
412369:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41236f:	eb 33                	jmp    0x4123a4
412371:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
412377:	eb 2b                	jmp    0x4123a4
412379:	33 c0                	xor    %eax,%eax
41237b:	bb cc 01 00 00       	mov    $0x1cc,%ebx
412380:	50                   	push   %eax
412381:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
412387:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41238d:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
412393:	50                   	push   %eax
412394:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41239a:	53                   	push   %ebx
41239b:	50                   	push   %eax
41239c:	e8 13 d8 ff ff       	call   0x40fbb4
4123a1:	83 c4 10             	add    $0x10,%esp
4123a4:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
4123ab:	33 c9                	xor    %ecx,%ecx
4123ad:	6a 04                	push   $0x4
4123af:	58                   	pop    %eax
4123b0:	41                   	inc    %ecx
4123b1:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
4123b7:	89 8d 8c fa ff ff    	mov    %ecx,-0x574(%ebp)
4123bd:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)
4123c3:	50                   	push   %eax
4123c4:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4123ca:	50                   	push   %eax
4123cb:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4123d1:	53                   	push   %ebx
4123d2:	50                   	push   %eax
4123d3:	e8 dc d7 ff ff       	call   0x40fbb4
4123d8:	83 c4 10             	add    $0x10,%esp
4123db:	e9 5c 04 00 00       	jmp    0x41283c
4123e0:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4123e6:	33 d2                	xor    %edx,%edx
4123e8:	40                   	inc    %eax
4123e9:	8b f8                	mov    %eax,%edi
4123eb:	83 e0 1f             	and    $0x1f,%eax
4123ee:	6a 20                	push   $0x20
4123f0:	59                   	pop    %ecx
4123f1:	2b c8                	sub    %eax,%ecx
4123f3:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
4123f9:	33 c0                	xor    %eax,%eax
4123fb:	c1 ef 05             	shr    $0x5,%edi
4123fe:	40                   	inc    %eax
4123ff:	89 bd b4 f8 ff ff    	mov    %edi,-0x74c(%ebp)
412405:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
41240b:	e8 f0 5f 00 00       	call   0x418400
412410:	8b 8c 9d 2c fe ff ff 	mov    -0x1d4(%ebp,%ebx,4),%ecx
412417:	48                   	dec    %eax
412418:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
41241f:	0f bd c9             	bsr    %ecx,%ecx
412422:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
412428:	f7 d0                	not    %eax
41242a:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
412430:	74 03                	je     0x412435
412432:	41                   	inc    %ecx
412433:	eb 02                	jmp    0x412437
412435:	33 c9                	xor    %ecx,%ecx
412437:	6a 20                	push   $0x20
412439:	58                   	pop    %eax
41243a:	2b c1                	sub    %ecx,%eax
41243c:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
41243f:	39 85 b0 f8 ff ff    	cmp    %eax,-0x750(%ebp)
412445:	89 95 a0 f8 ff ff    	mov    %edx,-0x760(%ebp)
41244b:	0f 97 c0             	seta   %al
41244e:	83 fa 73             	cmp    $0x73,%edx
412451:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
412457:	0f 97 c1             	seta   %cl
41245a:	83 fa 73             	cmp    $0x73,%edx
41245d:	75 08                	jne    0x412467
41245f:	84 c0                	test   %al,%al
412461:	74 04                	je     0x412467
412463:	b0 01                	mov    $0x1,%al
412465:	eb 02                	jmp    0x412469
412467:	32 c0                	xor    %al,%al
412469:	84 c9                	test   %cl,%cl
41246b:	0f 85 ec 00 00 00    	jne    0x41255d
412471:	84 c0                	test   %al,%al
412473:	0f 85 e4 00 00 00    	jne    0x41255d
412479:	6a 72                	push   $0x72
41247b:	59                   	pop    %ecx
41247c:	3b d1                	cmp    %ecx,%edx
41247e:	72 08                	jb     0x412488
412480:	8b d1                	mov    %ecx,%edx
412482:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
412488:	8b c2                	mov    %edx,%eax
41248a:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
412490:	83 fa ff             	cmp    $0xffffffff,%edx
412493:	0f 84 93 00 00 00    	je     0x41252c
412499:	8b f2                	mov    %edx,%esi
41249b:	8d 8d 30 fe ff ff    	lea    -0x1d0(%ebp),%ecx
4124a1:	8b 95 b4 f8 ff ff    	mov    -0x74c(%ebp),%edx
4124a7:	2b f2                	sub    %edx,%esi
4124a9:	8d 0c b1             	lea    (%ecx,%esi,4),%ecx
4124ac:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
4124b2:	3b c2                	cmp    %edx,%eax
4124b4:	72 67                	jb     0x41251d
4124b6:	3b f3                	cmp    %ebx,%esi
4124b8:	73 04                	jae    0x4124be
4124ba:	8b 39                	mov    (%ecx),%edi
4124bc:	eb 02                	jmp    0x4124c0
4124be:	33 ff                	xor    %edi,%edi
4124c0:	8d 46 ff             	lea    -0x1(%esi),%eax
4124c3:	3b c3                	cmp    %ebx,%eax