422318:	83 c4 0c             	add    $0xc,%esp
42231b:	eb 48                	jmp    0x422365
42231d:	8b 4d 10             	mov    0x10(%ebp),%ecx
422320:	85 c9                	test   %ecx,%ecx
422322:	74 3e                	je     0x422362
422324:	56                   	push   %esi
422325:	8b 75 0c             	mov    0xc(%ebp),%esi
422328:	53                   	push   %ebx
422329:	8a 16                	mov    (%esi),%dl
42232b:	0f b6 da             	movzbl %dl,%ebx
42232e:	49                   	dec    %ecx
42232f:	f6 44 03 1d 04       	testb  $0x4,0x1d(%ebx,%eax,1)
422334:	88 17                	mov    %dl,(%edi)
422336:	74 30                	je     0x422368
422338:	47                   	inc    %edi
422339:	46                   	inc    %esi
42233a:	85 c9                	test   %ecx,%ecx
42233c:	74 36                	je     0x422374
42233e:	8a 16                	mov    (%esi),%dl
422340:	49                   	dec    %ecx
422341:	88 17                	mov    %dl,(%edi)
422343:	47                   	inc    %edi
422344:	46                   	inc    %esi
422345:	84 d2                	test   %dl,%dl
422347:	75 25                	jne    0x42236e
422349:	88 57 fe             	mov    %dl,-0x2(%edi)
42234c:	85 c9                	test   %ecx,%ecx
42234e:	74 10                	je     0x422360
422350:	8b d1                	mov    %ecx,%edx
422352:	c1 e9 02             	shr    $0x2,%ecx
422355:	33 c0                	xor    %eax,%eax
422357:	f3 ab                	rep stos %eax,%es:(%edi)
422359:	8b ca                	mov    %edx,%ecx
42235b:	83 e1 03             	and    $0x3,%ecx
42235e:	f3 aa                	rep stos %al,%es:(%edi)
422360:	5b                   	pop    %ebx
422361:	5e                   	pop    %esi
422362:	8b 45 08             	mov    0x8(%ebp),%eax
422365:	5f                   	pop    %edi
422366:	5d                   	pop    %ebp
422367:	c3                   	ret
422368:	47                   	inc    %edi
422369:	46                   	inc    %esi
42236a:	84 d2                	test   %dl,%dl
42236c:	74 de                	je     0x42234c
42236e:	85 c9                	test   %ecx,%ecx
422370:	75 b7                	jne    0x422329
422372:	eb ec                	jmp    0x422360
422374:	c6 47 ff 00          	movb   $0x0,-0x1(%edi)
422378:	eb e6                	jmp    0x422360
42237a:	ff 74 24 04          	push   0x4(%esp)
42237e:	ff 15 18 03 4b 00    	call   *0x4b0318
422384:	33 c0                	xor    %eax,%eax
422386:	40                   	inc    %eax
422387:	c2 08 00             	ret    $0x8
42238a:	6a 10                	push   $0x10
42238c:	68 58 29 49 00       	push   $0x492958
422391:	e8 52 5e ff ff       	call   0x4181e8
422396:	a1 14 cb 4a 00       	mov    0x4acb14,%eax
42239b:	85 c0                	test   %eax,%eax
42239d:	75 37                	jne    0x4223d6
42239f:	83 3d 04 c7 4a 00 01 	cmpl   $0x1,0x4ac704
4223a6:	74 24                	je     0x4223cc
4223a8:	68 6c a5 48 00       	push   $0x48a56c
4223ad:	ff 15 f4 02 4b 00    	call   *0x4b02f4
4223b3:	85 c0                	test   %eax,%eax
4223b5:	74 15                	je     0x4223cc
4223b7:	68 2c 29 49 00       	push   $0x49292c
4223bc:	50                   	push   %eax
4223bd:	ff 15 f8 02 4b 00    	call   *0x4b02f8
4223c3:	a3 14 cb 4a 00       	mov    %eax,0x4acb14
4223c8:	85 c0                	test   %eax,%eax
4223ca:	75 0a                	jne    0x4223d6
4223cc:	b8 7a 23 42 00       	mov    $0x42237a,%eax
4223d1:	a3 14 cb 4a 00       	mov    %eax,0x4acb14
4223d6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4223da:	ff 75 0c             	push   0xc(%ebp)
4223dd:	ff 75 08             	push   0x8(%ebp)
4223e0:	ff d0                	call   *%eax
4223e2:	89 45 e0             	mov    %eax,-0x20(%ebp)
4223e5:	eb 24                	jmp    0x42240b
4223e7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4223ea:	8b 00                	mov    (%eax),%eax
4223ec:	8b 00                	mov    (%eax),%eax
4223ee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4223f1:	33 c0                	xor    %eax,%eax
4223f3:	40                   	inc    %eax
4223f4:	c3                   	ret
4223f5:	8b 65 e8             	mov    -0x18(%ebp),%esp
4223f8:	81 7d e4 17 00 00 c0 	cmpl   $0xc0000017,-0x1c(%ebp)
4223ff:	75 08                	jne    0x422409
422401:	6a 08                	push   $0x8
422403:	ff 15 30 03 4b 00    	call   *0x4b0330
422409:	33 c0                	xor    %eax,%eax
42240b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42240f:	e8 0f 5e ff ff       	call   0x418223
422414:	c3                   	ret
422415:	6a 10                	push   $0x10
422417:	68 68 29 49 00       	push   $0x492968
42241c:	e8 c7 5d ff ff       	call   0x4181e8
422421:	33 db                	xor    %ebx,%ebx
422423:	33 ff                	xor    %edi,%edi
422425:	89 7d e4             	mov    %edi,-0x1c(%ebp)
422428:	6a 01                	push   $0x1
42242a:	e8 3f 89 ff ff       	call   0x41ad6e
42242f:	59                   	pop    %ecx
422430:	89 5d fc             	mov    %ebx,-0x4(%ebp)
422433:	33 f6                	xor    %esi,%esi
422435:	89 75 e0             	mov    %esi,-0x20(%ebp)
422438:	3b 35 00 e1 4a 00    	cmp    0x4ae100,%esi
42243e:	0f 8d c0 00 00 00    	jge    0x422504
422444:	a1 c0 cd 4a 00       	mov    0x4acdc0,%eax
422449:	8b 04 b0             	mov    (%eax,%esi,4),%eax
42244c:	3b c3                	cmp    %ebx,%eax
42244e:	74 50                	je     0x4224a0
422450:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
422454:	75 43                	jne    0x422499
422456:	83 fe 02             	cmp    $0x2,%esi
422459:	7e 17                	jle    0x422472
42245b:	83 fe 14             	cmp    $0x14,%esi
42245e:	7d 12                	jge    0x422472
422460:	8d 46 10             	lea    0x10(%esi),%eax
422463:	50                   	push   %eax
422464:	e8 65 88 ff ff       	call   0x41acce
422469:	59                   	pop    %ecx
42246a:	85 c0                	test   %eax,%eax
42246c:	0f 84 92 00 00 00    	je     0x422504
422472:	a1 c0 cd 4a 00       	mov    0x4acdc0,%eax
422477:	ff 34 b0             	push   (%eax,%esi,4)
42247a:	56                   	push   %esi
42247b:	e8 78 ca ff ff       	call   0x41eef8
422480:	59                   	pop    %ecx
422481:	59                   	pop    %ecx
422482:	a1 c0 cd 4a 00       	mov    0x4acdc0,%eax
422487:	8b 04 b0             	mov    (%eax,%esi,4),%eax
42248a:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
42248e:	74 0c                	je     0x42249c
422490:	50                   	push   %eax
422491:	56                   	push   %esi
422492:	e8 b3 ca ff ff       	call   0x41ef4a
422497:	59                   	pop    %ecx
422498:	59                   	pop    %ecx
422499:	46                   	inc    %esi
42249a:	eb 99                	jmp    0x422435
42249c:	8b f8                	mov    %eax,%edi
42249e:	eb 61                	jmp    0x422501
4224a0:	c1 e6 02             	shl    $0x2,%esi
4224a3:	6a 38                	push   $0x38
4224a5:	e8 e2 3e ff ff       	call   0x41638c
4224aa:	59                   	pop    %ecx
4224ab:	8b 0d c0 cd 4a 00    	mov    0x4acdc0,%ecx
4224b1:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
4224b4:	a1 c0 cd 4a 00       	mov    0x4acdc0,%eax
4224b9:	8b 04 06             	mov    (%esi,%eax,1),%eax
4224bc:	3b c3                	cmp    %ebx,%eax
4224be:	74 44                	je     0x422504
4224c0:	68 a0 0f 00 00       	push   $0xfa0
4224c5:	83 c0 20             	add    $0x20,%eax
4224c8:	50                   	push   %eax
4224c9:	e8 bc fe ff ff       	call   0x42238a
4224ce:	59                   	pop    %ecx
4224cf:	59                   	pop    %ecx
4224d0:	85 c0                	test   %eax,%eax
4224d2:	a1 c0 cd 4a 00       	mov    0x4acdc0,%eax
4224d7:	75 13                	jne    0x4224ec
4224d9:	ff 34 06             	push   (%esi,%eax,1)
4224dc:	e8 bd 3e ff ff       	call   0x41639e
4224e1:	59                   	pop    %ecx
4224e2:	a1 c0 cd 4a 00       	mov    0x4acdc0,%eax
4224e7:	89 1c 06             	mov    %ebx,(%esi,%eax,1)
4224ea:	eb 18                	jmp    0x422504
4224ec:	8b 04 06             	mov    (%esi,%eax,1),%eax
4224ef:	83 c0 20             	add    $0x20,%eax
4224f2:	50                   	push   %eax
4224f3:	ff 15 10 03 4b 00    	call   *0x4b0310
4224f9:	a1 c0 cd 4a 00       	mov    0x4acdc0,%eax
4224fe:	8b 3c 06             	mov    (%esi,%eax,1),%edi
422501:	89 7d e4             	mov    %edi,-0x1c(%ebp)
422504:	3b fb                	cmp    %ebx,%edi
422506:	74 12                	je     0x42251a
422508:	89 5f 04             	mov    %ebx,0x4(%edi)
42250b:	89 5f 0c             	mov    %ebx,0xc(%edi)
42250e:	89 5f 08             	mov    %ebx,0x8(%edi)
422511:	89 1f                	mov    %ebx,(%edi)
422513:	89 5f 1c             	mov    %ebx,0x1c(%edi)
422516:	83 4f 10 ff          	orl    $0xffffffff,0x10(%edi)
42251a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42251e:	e8 0b 00 00 00       	call   0x42252e
422523:	8b c7                	mov    %edi,%eax
422525:	e8 f9 5c ff ff       	call   0x418223
42252a:	c3                   	ret
42252b:	8b 7d e4             	mov    -0x1c(%ebp),%edi
42252e:	6a 01                	push   $0x1
422530:	e8 6c 87 ff ff       	call   0x41aca1
422535:	59                   	pop    %ecx
422536:	c3                   	ret
422537:	56                   	push   %esi
422538:	8b 74 24 08          	mov    0x8(%esp),%esi
42253c:	57                   	push   %edi
42253d:	56                   	push   %esi
42253e:	e8 9d 69 ff ff       	call   0x418ee0
422543:	83 f8 ff             	cmp    $0xffffffff,%eax
422546:	59                   	pop    %ecx
422547:	74 3c                	je     0x422585
422549:	83 fe 01             	cmp    $0x1,%esi
42254c:	74 05                	je     0x422553
42254e:	83 fe 02             	cmp    $0x2,%esi
422551:	75 16                	jne    0x422569
422553:	6a 02                	push   $0x2
422555:	e8 86 69 ff ff       	call   0x418ee0
42255a:	6a 01                	push   $0x1
42255c:	8b f8                	mov    %eax,%edi
42255e:	e8 7d 69 ff ff       	call   0x418ee0
422563:	3b c7                	cmp    %edi,%eax
422565:	59                   	pop    %ecx
422566:	59                   	pop    %ecx
422567:	74 1c                	je     0x422585
422569:	56                   	push   %esi
42256a:	e8 71 69 ff ff       	call   0x418ee0
42256f:	59                   	pop    %ecx
422570:	50                   	push   %eax
422571:	ff 15 d8 02 4b 00    	call   *0x4b02d8
422577:	85 c0                	test   %eax,%eax
422579:	75 0a                	jne    0x422585
42257b:	ff 15 9c 03 4b 00    	call   *0x4b039c
422581:	8b f8                	mov    %eax,%edi
422583:	eb 02                	jmp    0x422587
422585:	33 ff                	xor    %edi,%edi
422587:	56                   	push   %esi
422588:	e8 d4 68 ff ff       	call   0x418e61
42258d:	8b c6                	mov    %esi,%eax
42258f:	c1 f8 05             	sar    $0x5,%eax
422592:	8b 04 85 c0 cc 4a 00 	mov    0x4accc0(,%eax,4),%eax
422599:	83 e6 1f             	and    $0x1f,%esi
42259c:	85 ff                	test   %edi,%edi
42259e:	59                   	pop    %ecx
42259f:	8d 0c f6             	lea    (%esi,%esi,8),%ecx
4225a2:	c6 44 88 04 00       	movb   $0x0,0x4(%eax,%ecx,4)
4225a7:	74 0c                	je     0x4225b5
4225a9:	57                   	push   %edi
4225aa:	e8 89 6c ff ff       	call   0x419238
4225af:	59                   	pop    %ecx
4225b0:	83 c8 ff             	or     $0xffffffff,%eax
4225b3:	eb 02                	jmp    0x4225b7
4225b5:	33 c0                	xor    %eax,%eax
4225b7:	5f                   	pop    %edi
4225b8:	5e                   	pop    %esi
4225b9:	c3                   	ret
4225ba:	6a 0c                	push   $0xc
4225bc:	68 78 29 49 00       	push   $0x492978
4225c1:	e8 22 5c ff ff       	call   0x4181e8
4225c6:	8b 5d 08             	mov    0x8(%ebp),%ebx
4225c9:	3b 1d 6c cc 4a 00    	cmp    0x4acc6c,%ebx
4225cf:	73 68                	jae    0x422639
4225d1:	8b c3                	mov    %ebx,%eax
4225d3:	c1 f8 05             	sar    $0x5,%eax
4225d6:	8d 3c 85 c0 cc 4a 00 	lea    0x4accc0(,%eax,4),%edi
4225dd:	8b c3                	mov    %ebx,%eax
4225df:	83 e0 1f             	and    $0x1f,%eax
4225e2:	8d 34 c0             	lea    (%eax,%eax,8),%esi
4225e5:	c1 e6 02             	shl    $0x2,%esi
4225e8:	8b 07                	mov    (%edi),%eax
4225ea:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
4225ef:	74 48                	je     0x422639
4225f1:	53                   	push   %ebx
4225f2:	e8 2a 69 ff ff       	call   0x418f21
4225f7:	59                   	pop    %ecx
4225f8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4225fc:	8b 07                	mov    (%edi),%eax
4225fe:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
422603:	74 0c                	je     0x422611
422605:	53                   	push   %ebx
422606:	e8 2c ff ff ff       	call   0x422537
42260b:	59                   	pop    %ecx
42260c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42260f:	eb 0f                	jmp    0x422620
422611:	e8 10 6c ff ff       	call   0x419226
422616:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42261c:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
422620:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
422624:	e8 08 00 00 00       	call   0x422631
422629:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42262c:	eb 21                	jmp    0x42264f
42262e:	8b 5d 08             	mov    0x8(%ebp),%ebx
422631:	53                   	push   %ebx
422632:	e8 8a 69 ff ff       	call   0x418fc1
422637:	59                   	pop    %ecx
422638:	c3                   	ret
422639:	e8 e8 6b ff ff       	call   0x419226
42263e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
422644:	e8 e6 6b ff ff       	call   0x41922f
422649:	83 20 00             	andl   $0x0,(%eax)
42264c:	83 c8 ff             	or     $0xffffffff,%eax
42264f:	e8 cf 5b ff ff       	call   0x418223
422654:	c3                   	ret
422655:	56                   	push   %esi
422656:	8b 74 24 08          	mov    0x8(%esp),%esi
42265a:	8b 46 0c             	mov    0xc(%esi),%eax
42265d:	a8 83                	test   $0x83,%al
42265f:	74 1d                	je     0x42267e
422661:	a8 08                	test   $0x8,%al
422663:	74 19                	je     0x42267e
422665:	ff 76 08             	push   0x8(%esi)
422668:	e8 31 3d ff ff       	call   0x41639e
42266d:	66 81 66 0c f7 fb    	andw   $0xfbf7,0xc(%esi)
422673:	33 c0                	xor    %eax,%eax
422675:	59                   	pop    %ecx
422676:	89 06                	mov    %eax,(%esi)
422678:	89 46 08             	mov    %eax,0x8(%esi)
42267b:	89 46 04             	mov    %eax,0x4(%esi)
42267e:	5e                   	pop    %esi
42267f:	c3                   	ret
422680:	56                   	push   %esi
422681:	8b 74 24 08          	mov    0x8(%esp),%esi
422685:	8b 46 0c             	mov    0xc(%esi),%eax
422688:	a8 83                	test   $0x83,%al
42268a:	0f 84 cc 00 00 00    	je     0x42275c
422690:	a8 40                	test   $0x40,%al
422692:	0f 85 c4 00 00 00    	jne    0x42275c
422698:	a8 02                	test   $0x2,%al
42269a:	74 0b                	je     0x4226a7
42269c:	83 c8 20             	or     $0x20,%eax
42269f:	89 46 0c             	mov    %eax,0xc(%esi)
4226a2:	e9 b5 00 00 00       	jmp    0x42275c
4226a7:	83 c8 01             	or     $0x1,%eax
4226aa:	66 a9 0c 01          	test   $0x10c,%ax
4226ae:	89 46 0c             	mov    %eax,0xc(%esi)
4226b1:	75 09                	jne    0x4226bc
4226b3:	56                   	push   %esi
4226b4:	e8 14 27 00 00       	call   0x424dcd
4226b9:	59                   	pop    %ecx
4226ba:	eb 05                	jmp    0x4226c1
4226bc:	8b 46 08             	mov    0x8(%esi),%eax
4226bf:	89 06                	mov    %eax,(%esi)
4226c1:	ff 76 18             	push   0x18(%esi)
4226c4:	ff 76 08             	push   0x8(%esi)
4226c7:	ff 76 10             	push   0x10(%esi)
4226ca:	e8 6d 02 00 00       	call   0x42293c
4226cf:	83 c4 0c             	add    $0xc,%esp
4226d2:	85 c0                	test   %eax,%eax
4226d4:	89 46 04             	mov    %eax,0x4(%esi)
4226d7:	74 72                	je     0x42274b
4226d9:	83 f8 ff             	cmp    $0xffffffff,%eax
4226dc:	74 6d                	je     0x42274b
4226de:	8b 56 0c             	mov    0xc(%esi),%edx
4226e1:	f6 c2 82             	test   $0x82,%dl
4226e4:	75 3a                	jne    0x422720
4226e6:	8b 4e 10             	mov    0x10(%esi),%ecx
4226e9:	83 f9 ff             	cmp    $0xffffffff,%ecx
4226ec:	57                   	push   %edi