4421fe:	88 55 fb             	mov    %dl,-0x5(%ebp)
442201:	89 45 fc             	mov    %eax,-0x4(%ebp)
442204:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
442208:	74 17                	je     0x442221
44220a:	33 c0                	xor    %eax,%eax
44220c:	8a 45 fb             	mov    -0x5(%ebp),%al
44220f:	8a 80 50 3b 46 00    	mov    0x463b50(%eax),%al
442215:	8b 55 fc             	mov    -0x4(%ebp),%edx
442218:	3a 42 61             	cmp    0x61(%edx),%al
44221b:	0f 84 d5 01 00 00    	je     0x4423f6
442221:	8b 45 fc             	mov    -0x4(%ebp),%eax
442224:	83 b8 90 00 00 00 00 	cmpl   $0x0,0x90(%eax)
44222b:	0f 84 bb 01 00 00    	je     0x4423ec
442231:	8b 45 fc             	mov    -0x4(%ebp),%eax
442234:	83 b8 94 00 00 00 00 	cmpl   $0x0,0x94(%eax)
44223b:	0f 84 ab 01 00 00    	je     0x4423ec
442241:	8b 45 fc             	mov    -0x4(%ebp),%eax
442244:	8b 40 40             	mov    0x40(%eax),%eax
442247:	89 45 f4             	mov    %eax,-0xc(%ebp)
44224a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44224d:	8b 40 44             	mov    0x44(%eax),%eax
442250:	89 45 f0             	mov    %eax,-0x10(%ebp)
442253:	8b 45 fc             	mov    -0x4(%ebp),%eax
442256:	8b 40 48             	mov    0x48(%eax),%eax
442259:	89 45 ec             	mov    %eax,-0x14(%ebp)
44225c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44225f:	8b 40 4c             	mov    0x4c(%eax),%eax
442262:	89 45 e8             	mov    %eax,-0x18(%ebp)
442265:	8b 45 fc             	mov    -0x4(%ebp),%eax
442268:	8b 40 30             	mov    0x30(%eax),%eax
44226b:	e8 84 41 00 00       	call   0x4463f4
442270:	84 c0                	test   %al,%al
442272:	74 1c                	je     0x442290
442274:	8d 55 c0             	lea    -0x40(%ebp),%edx
442277:	8b 45 fc             	mov    -0x4(%ebp),%eax
44227a:	8b 40 30             	mov    0x30(%eax),%eax
44227d:	8b 08                	mov    (%eax),%ecx
44227f:	ff 51 44             	call   *0x44(%ecx)
442282:	8b 45 c8             	mov    -0x38(%ebp),%eax
442285:	89 45 e0             	mov    %eax,-0x20(%ebp)
442288:	8b 45 cc             	mov    -0x34(%ebp),%eax
44228b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44228e:	eb 14                	jmp    0x4422a4
442290:	8d 4d e0             	lea    -0x20(%ebp),%ecx
442293:	8b 45 fc             	mov    -0x4(%ebp),%eax
442296:	8b 58 30             	mov    0x30(%eax),%ebx
442299:	8b 53 4c             	mov    0x4c(%ebx),%edx
44229c:	8b 43 48             	mov    0x48(%ebx),%eax
44229f:	e8 7c 06 fd ff       	call   0x412920
4422a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4422a7:	f6 40 61 04          	testb  $0x4,0x61(%eax)
4422ab:	74 41                	je     0x4422ee
4422ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
4422b0:	f6 40 61 01          	testb  $0x1,0x61(%eax)
4422b4:	74 1c                	je     0x4422d2
4422b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4422b9:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
4422bf:	8b 55 fc             	mov    -0x4(%ebp),%edx
4422c2:	2b 82 88 00 00 00    	sub    0x88(%edx),%eax
4422c8:	8b 55 e0             	mov    -0x20(%ebp),%edx
4422cb:	2b d0                	sub    %eax,%edx
4422cd:	89 55 ec             	mov    %edx,-0x14(%ebp)
4422d0:	eb 51                	jmp    0x442323
4422d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4422d5:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
4422db:	8b 55 fc             	mov    -0x4(%ebp),%edx
4422de:	2b 82 88 00 00 00    	sub    0x88(%edx),%eax
4422e4:	8b 55 e0             	mov    -0x20(%ebp),%edx
4422e7:	2b d0                	sub    %eax,%edx
4422e9:	89 55 f4             	mov    %edx,-0xc(%ebp)
4422ec:	eb 35                	jmp    0x442323
4422ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
4422f1:	f6 40 61 01          	testb  $0x1,0x61(%eax)
4422f5:	75 2c                	jne    0x442323
4422f7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4422fa:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
442300:	50                   	push   %eax
442301:	8b 45 e0             	mov    -0x20(%ebp),%eax
442304:	50                   	push   %eax
442305:	8b 45 fc             	mov    -0x4(%ebp),%eax
442308:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
44230e:	50                   	push   %eax
44230f:	e8 30 3e fc ff       	call   0x406144
442314:	8b 55 ec             	mov    -0x14(%ebp),%edx
442317:	d1 fa                	sar    $1,%edx
442319:	79 03                	jns    0x44231e
44231b:	83 d2 00             	adc    $0x0,%edx
44231e:	2b c2                	sub    %edx,%eax
442320:	89 45 f4             	mov    %eax,-0xc(%ebp)
442323:	8b 45 fc             	mov    -0x4(%ebp),%eax
442326:	f6 40 61 08          	testb  $0x8,0x61(%eax)
44232a:	74 41                	je     0x44236d
44232c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44232f:	f6 40 61 02          	testb  $0x2,0x61(%eax)
442333:	74 1c                	je     0x442351
442335:	8b 45 fc             	mov    -0x4(%ebp),%eax
442338:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
44233e:	8b 55 fc             	mov    -0x4(%ebp),%edx
442341:	2b 82 8c 00 00 00    	sub    0x8c(%edx),%eax
442347:	8b 55 e4             	mov    -0x1c(%ebp),%edx
44234a:	2b d0                	sub    %eax,%edx
44234c:	89 55 e8             	mov    %edx,-0x18(%ebp)
44234f:	eb 51                	jmp    0x4423a2
442351:	8b 45 fc             	mov    -0x4(%ebp),%eax
442354:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
44235a:	8b 55 fc             	mov    -0x4(%ebp),%edx
44235d:	2b 82 8c 00 00 00    	sub    0x8c(%edx),%eax
442363:	8b 55 e4             	mov    -0x1c(%ebp),%edx
442366:	2b d0                	sub    %eax,%edx
442368:	89 55 f0             	mov    %edx,-0x10(%ebp)
44236b:	eb 35                	jmp    0x4423a2
44236d:	8b 45 fc             	mov    -0x4(%ebp),%eax
442370:	f6 40 61 02          	testb  $0x2,0x61(%eax)
442374:	75 2c                	jne    0x4423a2
442376:	8b 45 fc             	mov    -0x4(%ebp),%eax
442379:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
44237f:	50                   	push   %eax
442380:	8b 45 e4             	mov    -0x1c(%ebp),%eax
442383:	50                   	push   %eax
442384:	8b 45 fc             	mov    -0x4(%ebp),%eax
442387:	8b 80 8c 00 00 00    	mov    0x8c(%eax),%eax
44238d:	50                   	push   %eax
44238e:	e8 b1 3d fc ff       	call   0x406144
442393:	8b 55 e8             	mov    -0x18(%ebp),%edx
442396:	d1 fa                	sar    $1,%edx
442398:	79 03                	jns    0x44239d
44239a:	83 d2 00             	adc    $0x0,%edx
44239d:	2b c2                	sub    %edx,%eax
44239f:	89 45 f0             	mov    %eax,-0x10(%ebp)
4423a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4423a5:	c6 40 62 01          	movb   $0x1,0x62(%eax)
4423a9:	33 c0                	xor    %eax,%eax
4423ab:	55                   	push   %ebp
4423ac:	68 e5 23 44 00       	push   $0x4423e5
4423b1:	64 ff 30             	push   %fs:(%eax)
4423b4:	64 89 20             	mov    %esp,%fs:(%eax)
4423b7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4423ba:	50                   	push   %eax
4423bb:	8b 45 e8             	mov    -0x18(%ebp),%eax
4423be:	50                   	push   %eax
4423bf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4423c2:	8b 55 f4             	mov    -0xc(%ebp),%edx
4423c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4423c8:	8b 18                	mov    (%eax),%ebx
4423ca:	ff 93 84 00 00 00    	call   *0x84(%ebx)
4423d0:	33 c0                	xor    %eax,%eax
4423d2:	5a                   	pop    %edx
4423d3:	59                   	pop    %ecx
4423d4:	59                   	pop    %ecx
4423d5:	64 89 10             	mov    %edx,%fs:(%eax)
4423d8:	68 ec 23 44 00       	push   $0x4423ec
4423dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4423e0:	c6 40 62 00          	movb   $0x0,0x62(%eax)
4423e4:	c3                   	ret
4423e5:	e9 b2 15 fc ff       	jmp    0x40399c
4423ea:	eb f1                	jmp    0x4423dd
4423ec:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
4423f0:	0f 84 2c 02 00 00    	je     0x442622
4423f6:	8b 45 08             	mov    0x8(%ebp),%eax
4423f9:	8b 40 f8             	mov    -0x8(%eax),%eax
4423fc:	8b 40 08             	mov    0x8(%eax),%eax
4423ff:	8b 55 08             	mov    0x8(%ebp),%edx
442402:	8b 52 f8             	mov    -0x8(%edx),%edx
442405:	2b 02                	sub    (%edx),%eax
442407:	89 45 ec             	mov    %eax,-0x14(%ebp)
44240a:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
44240e:	7c 0d                	jl     0x44241d
442410:	8a 45 fb             	mov    -0x5(%ebp),%al
442413:	04 fd                	add    $0xfd,%al
442415:	2c 02                	sub    $0x2,%al
442417:	72 04                	jb     0x44241d
442419:	2c 01                	sub    $0x1,%al
44241b:	75 09                	jne    0x442426
44241d:	8b 45 fc             	mov    -0x4(%ebp),%eax
442420:	8b 40 48             	mov    0x48(%eax),%eax
442423:	89 45 ec             	mov    %eax,-0x14(%ebp)
442426:	8b 45 08             	mov    0x8(%ebp),%eax
442429:	8b 40 f8             	mov    -0x8(%eax),%eax
44242c:	8b 40 0c             	mov    0xc(%eax),%eax
44242f:	8b 55 08             	mov    0x8(%ebp),%edx
442432:	8b 52 f8             	mov    -0x8(%edx),%edx
442435:	2b 42 04             	sub    0x4(%edx),%eax
442438:	89 45 e8             	mov    %eax,-0x18(%ebp)
44243b:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
44243f:	7c 0c                	jl     0x44244d
442441:	8a 45 fb             	mov    -0x5(%ebp),%al
442444:	48                   	dec    %eax
442445:	2c 02                	sub    $0x2,%al
442447:	72 04                	jb     0x44244d
442449:	2c 03                	sub    $0x3,%al
44244b:	75 09                	jne    0x442456
44244d:	8b 45 fc             	mov    -0x4(%ebp),%eax
442450:	8b 40 4c             	mov    0x4c(%eax),%eax
442453:	89 45 e8             	mov    %eax,-0x18(%ebp)
442456:	8b 45 08             	mov    0x8(%ebp),%eax
442459:	8b 40 f8             	mov    -0x8(%eax),%eax
44245c:	8b 00                	mov    (%eax),%eax
44245e:	89 45 f4             	mov    %eax,-0xc(%ebp)
442461:	8b 45 08             	mov    0x8(%ebp),%eax
442464:	8b 40 f8             	mov    -0x8(%eax),%eax
442467:	8b 40 04             	mov    0x4(%eax),%eax
44246a:	89 45 f0             	mov    %eax,-0x10(%ebp)
44246d:	33 c0                	xor    %eax,%eax
44246f:	8a 45 fb             	mov    -0x5(%ebp),%al
442472:	83 f8 06             	cmp    $0x6,%eax
442475:	0f 87 af 00 00 00    	ja     0x44252a
44247b:	ff 24 85 82 24 44 00 	jmp    *0x442482(,%eax,4)
442482:	2a 25 44 00 9e 24    	sub    0x249e0044,%ah
442488:	44                   	inc    %esp
442489:	00 ac 24 44 00 c6 24 	add    %ch,0x24c60044(%esp)
442490:	44                   	inc    %esp
442491:	00 d3                	add    %dl,%bl
442493:	24 44                	and    $0x44,%al
442495:	00 2a                	add    %ch,(%edx)
442497:	25 44 00 ed 24       	and    $0x24ed0044,%eax
44249c:	44                   	inc    %esp
44249d:	00 8b 45 08 8b 40    	add    %cl,0x408b0845(%ebx)
4424a3:	f8                   	clc
4424a4:	8b 55 e8             	mov    -0x18(%ebp),%edx
4424a7:	01 50 04             	add    %edx,0x4(%eax)
4424aa:	eb 7e                	jmp    0x44252a
4424ac:	8b 45 08             	mov    0x8(%ebp),%eax
4424af:	8b 40 f8             	mov    -0x8(%eax),%eax
4424b2:	8b 55 e8             	mov    -0x18(%ebp),%edx
4424b5:	29 50 0c             	sub    %edx,0xc(%eax)
4424b8:	8b 45 08             	mov    0x8(%ebp),%eax
4424bb:	8b 40 f8             	mov    -0x8(%eax),%eax
4424be:	8b 40 0c             	mov    0xc(%eax),%eax
4424c1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4424c4:	eb 64                	jmp    0x44252a
4424c6:	8b 45 08             	mov    0x8(%ebp),%eax
4424c9:	8b 40 f8             	mov    -0x8(%eax),%eax
4424cc:	8b 55 ec             	mov    -0x14(%ebp),%edx
4424cf:	01 10                	add    %edx,(%eax)
4424d1:	eb 57                	jmp    0x44252a
4424d3:	8b 45 08             	mov    0x8(%ebp),%eax
4424d6:	8b 40 f8             	mov    -0x8(%eax),%eax
4424d9:	8b 55 ec             	mov    -0x14(%ebp),%edx
4424dc:	29 50 08             	sub    %edx,0x8(%eax)
4424df:	8b 45 08             	mov    0x8(%ebp),%eax
4424e2:	8b 40 f8             	mov    -0x8(%eax),%eax
4424e5:	8b 40 08             	mov    0x8(%eax),%eax
4424e8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4424eb:	eb 3d                	jmp    0x44252a
4424ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4424f0:	8b 40 40             	mov    0x40(%eax),%eax
4424f3:	89 45 f4             	mov    %eax,-0xc(%ebp)
4424f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4424f9:	8b 40 44             	mov    0x44(%eax),%eax
4424fc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4424ff:	8d 45 f0             	lea    -0x10(%ebp),%eax
442502:	50                   	push   %eax
442503:	8d 45 ec             	lea    -0x14(%ebp),%eax
442506:	50                   	push   %eax
442507:	8d 45 e8             	lea    -0x18(%ebp),%eax
44250a:	50                   	push   %eax
44250b:	8b 45 08             	mov    0x8(%ebp),%eax
44250e:	8b 40 f8             	mov    -0x8(%eax),%eax
442511:	50                   	push   %eax
442512:	8d 45 d0             	lea    -0x30(%ebp),%eax
442515:	50                   	push   %eax
442516:	8d 4d f4             	lea    -0xc(%ebp),%ecx
442519:	8b 45 08             	mov    0x8(%ebp),%eax
44251c:	8b 40 fc             	mov    -0x4(%eax),%eax
44251f:	8b 55 fc             	mov    -0x4(%ebp),%edx
442522:	8b 18                	mov    (%eax),%ebx
442524:	ff 93 a8 00 00 00    	call   *0xa8(%ebx)
44252a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44252d:	c6 40 62 01          	movb   $0x1,0x62(%eax)
442531:	33 c0                	xor    %eax,%eax
442533:	55                   	push   %ebp
442534:	68 6d 25 44 00       	push   $0x44256d
442539:	64 ff 30             	push   %fs:(%eax)
44253c:	64 89 20             	mov    %esp,%fs:(%eax)
44253f:	8b 45 ec             	mov    -0x14(%ebp),%eax
442542:	50                   	push   %eax
442543:	8b 45 e8             	mov    -0x18(%ebp),%eax
442546:	50                   	push   %eax
442547:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44254a:	8b 55 f4             	mov    -0xc(%ebp),%edx
44254d:	8b 45 fc             	mov    -0x4(%ebp),%eax
442550:	8b 18                	mov    (%eax),%ebx
442552:	ff 93 84 00 00 00    	call   *0x84(%ebx)
442558:	33 c0                	xor    %eax,%eax
44255a:	5a                   	pop    %edx
44255b:	59                   	pop    %ecx
44255c:	59                   	pop    %ecx
44255d:	64 89 10             	mov    %edx,%fs:(%eax)
442560:	68 74 25 44 00       	push   $0x442574
442565:	8b 45 fc             	mov    -0x4(%ebp),%eax
442568:	c6 40 62 00          	movb   $0x0,0x62(%eax)
44256c:	c3                   	ret
44256d:	e9 2a 14 fc ff       	jmp    0x40399c
442572:	eb f1                	jmp    0x442565
442574:	8b 45 fc             	mov    -0x4(%ebp),%eax
442577:	8b 40 48             	mov    0x48(%eax),%eax
44257a:	3b 45 ec             	cmp    -0x14(%ebp),%eax
44257d:	75 0f                	jne    0x44258e
44257f:	8b 55 fc             	mov    -0x4(%ebp),%edx
442582:	8b 52 4c             	mov    0x4c(%edx),%edx
442585:	3b 55 e8             	cmp    -0x18(%ebp),%edx
442588:	0f 84 94 00 00 00    	je     0x442622
44258e:	33 d2                	xor    %edx,%edx
442590:	8a 55 fb             	mov    -0x5(%ebp),%dl
442593:	83 fa 05             	cmp    $0x5,%edx
442596:	0f 87 86 00 00 00    	ja     0x442622
44259c:	ff 24 95 a3 25 44 00 	jmp    *0x4425a3(,%edx,4)
4425a3:	22 26                	and    (%esi),%ah
4425a5:	44                   	inc    %esp
4425a6:	00 bb 25 44 00 cf    	add    %bh,-0x30ffbbdb(%ebx)
4425ac:	25 44 00 e3 25       	and    $0x25e30044,%eax
4425b1:	44                   	inc    %esp
4425b2:	00 f2                	add    %dh,%dl
4425b4:	25 44 00 02 26       	and    $0x26020044,%eax
4425b9:	44                   	inc    %esp
4425ba:	00 8b 45 fc 8b 55    	add    %cl,0x558bfc45(%ebx)
4425c0:	e8 2b 50 4c 8b       	call   0x8b9075f0
4425c5:	45                   	inc    %ebp
4425c6:	08 8b 40 f8 29 50    	or     %cl,0x5029f840(%ebx)
4425cc:	04 eb                	add    $0xeb,%al
4425ce:	53                   	push   %ebx
4425cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4425d2:	8b 55 e8             	mov    -0x18(%ebp),%edx
4425d5:	2b 50 4c             	sub    0x4c(%eax),%edx
4425d8:	8b 45 08             	mov    0x8(%ebp),%eax
4425db:	8b 40 f8             	mov    -0x8(%eax),%eax
4425de:	01 50 0c             	add    %edx,0xc(%eax)
4425e1:	eb 3f                	jmp    0x442622
4425e3:	8b 55 ec             	mov    -0x14(%ebp),%edx
4425e6:	2b d0                	sub    %eax,%edx
4425e8:	8b 45 08             	mov    0x8(%ebp),%eax
4425eb:	8b 40 f8             	mov    -0x8(%eax),%eax
4425ee:	29 10                	sub    %edx,(%eax)
4425f0:	eb 30                	jmp    0x442622
4425f2:	8b 55 ec             	mov    -0x14(%ebp),%edx
4425f5:	2b d0                	sub    %eax,%edx
4425f7:	8b 45 08             	mov    0x8(%ebp),%eax
4425fa:	8b 40 f8             	mov    -0x8(%eax),%eax
4425fd:	01 50 08             	add    %edx,0x8(%eax)
442600:	eb 20                	jmp    0x442622
442602:	8b 55 ec             	mov    -0x14(%ebp),%edx
442605:	2b d0                	sub    %eax,%edx
442607:	8b 45 08             	mov    0x8(%ebp),%eax
44260a:	8b 40 f8             	mov    -0x8(%eax),%eax
44260d:	01 50 08             	add    %edx,0x8(%eax)
442610:	8b 45 fc             	mov    -0x4(%ebp),%eax
442613:	8b 55 e8             	mov    -0x18(%ebp),%edx
442616:	2b 50 4c             	sub    0x4c(%eax),%edx
442619:	8b 45 08             	mov    0x8(%ebp),%eax
44261c:	8b 40 f8             	mov    -0x8(%eax),%eax