4181b8:	3c 58                	cmp    $0x58,%al
4181ba:	75 03                	jne    0x4181bf
4181bc:	89 75 b8             	mov    %esi,-0x48(%ebp)
4181bf:	b8 7c 32 4b 00       	mov    $0x4b327c,%eax
4181c4:	50                   	push   %eax
4181c5:	53                   	push   %ebx
4181c6:	e8 f5 68 06 00       	call   0x47eac0
4181cb:	89 45 a8             	mov    %eax,-0x58(%ebp)
4181ce:	b8 2e 00 00 00       	mov    $0x2e,%eax
4181d3:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
4181d7:	e8 09 79 06 00       	call   0x47fae5
4181dc:	8b 00                	mov    (%eax),%eax
4181de:	8a 00                	mov    (%eax),%al
4181e0:	88 45 ec             	mov    %al,-0x14(%ebp)
4181e3:	8d 45 ec             	lea    -0x14(%ebp),%eax
4181e6:	50                   	push   %eax
4181e7:	53                   	push   %ebx
4181e8:	e8 d3 68 06 00       	call   0x47eac0
4181ed:	8b d8                	mov    %eax,%ebx
4181ef:	83 c4 10             	add    $0x10,%esp
4181f2:	8b 47 30             	mov    0x30(%edi),%eax
4181f5:	8b 78 04             	mov    0x4(%eax),%edi
4181f8:	89 7d a4             	mov    %edi,-0x5c(%ebp)
4181fb:	8b 07                	mov    (%edi),%eax
4181fd:	8b 70 04             	mov    0x4(%eax),%esi
418200:	8b ce                	mov    %esi,%ecx
418202:	ff 15 d4 e2 49 00    	call   *0x49e2d4
418208:	8b cf                	mov    %edi,%ecx
41820a:	ff d6                	call   *%esi
41820c:	8d 45 a0             	lea    -0x60(%ebp),%eax
41820f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
418216:	50                   	push   %eax
418217:	e8 14 c3 ff ff       	call   0x414530
41821c:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
418223:	83 c4 04             	add    $0x4,%esp
418226:	8b 7d a4             	mov    -0x5c(%ebp),%edi
418229:	89 45 ac             	mov    %eax,-0x54(%ebp)
41822c:	85 ff                	test   %edi,%edi
41822e:	74 29                	je     0x418259
418230:	8b 07                	mov    (%edi),%eax
418232:	8b 70 08             	mov    0x8(%eax),%esi
418235:	8b ce                	mov    %esi,%ecx
418237:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41823d:	8b cf                	mov    %edi,%ecx
41823f:	ff d6                	call   *%esi
418241:	8b f8                	mov    %eax,%edi
418243:	85 ff                	test   %edi,%edi
418245:	74 12                	je     0x418259
418247:	8b 07                	mov    (%edi),%eax
418249:	6a 01                	push   $0x1
41824b:	8b 30                	mov    (%eax),%esi
41824d:	8b ce                	mov    %esi,%ecx
41824f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
418255:	8b cf                	mov    %edi,%ecx
418257:	ff d6                	call   *%esi
418259:	8b 75 98             	mov    -0x68(%ebp),%esi
41825c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41825f:	6a 00                	push   $0x0
418261:	56                   	push   %esi
418262:	e8 49 ea ff ff       	call   0x416cb0
418267:	8b 7d ac             	mov    -0x54(%ebp),%edi
41826a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41826d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
418274:	8b 55 b4             	mov    -0x4c(%ebp),%edx
418277:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
41827b:	8b 0f                	mov    (%edi),%ecx
41827d:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
418281:	50                   	push   %eax
418282:	8d 04 16             	lea    (%esi,%edx,1),%eax
418285:	8b 71 2c             	mov    0x2c(%ecx),%esi
418288:	8b ce                	mov    %esi,%ecx
41828a:	50                   	push   %eax
41828b:	52                   	push   %edx
41828c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
418292:	8b cf                	mov    %edi,%ecx
418294:	ff d6                	call   *%esi
418296:	8b 55 9c             	mov    -0x64(%ebp),%edx
418299:	8b 42 30             	mov    0x30(%edx),%eax
41829c:	8b 78 04             	mov    0x4(%eax),%edi
41829f:	89 7d b4             	mov    %edi,-0x4c(%ebp)
4182a2:	8b 07                	mov    (%edi),%eax
4182a4:	8b 70 04             	mov    0x4(%eax),%esi
4182a7:	8b ce                	mov    %esi,%ecx
4182a9:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4182af:	8b cf                	mov    %edi,%ecx
4182b1:	ff d6                	call   *%esi
4182b3:	8d 45 b0             	lea    -0x50(%ebp),%eax
4182b6:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4182ba:	50                   	push   %eax
4182bb:	e8 70 0c 00 00       	call   0x418f30
4182c0:	8b f8                	mov    %eax,%edi
4182c2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4182c6:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4182c9:	83 c4 04             	add    $0x4,%esp
4182cc:	89 7d ac             	mov    %edi,-0x54(%ebp)
4182cf:	85 c0                	test   %eax,%eax
4182d1:	74 2c                	je     0x4182ff
4182d3:	8b 00                	mov    (%eax),%eax
4182d5:	8b 70 08             	mov    0x8(%eax),%esi
4182d8:	8b ce                	mov    %esi,%ecx
4182da:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4182e0:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
4182e3:	ff d6                	call   *%esi
4182e5:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4182e8:	85 c0                	test   %eax,%eax
4182ea:	74 13                	je     0x4182ff
4182ec:	8b 00                	mov    (%eax),%eax
4182ee:	6a 01                	push   $0x1
4182f0:	8b 30                	mov    (%eax),%esi
4182f2:	8b ce                	mov    %esi,%ecx
4182f4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4182fa:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
4182fd:	ff d6                	call   *%esi
4182ff:	8b 07                	mov    (%edi),%eax
418301:	8d 4d bc             	lea    -0x44(%ebp),%ecx
418304:	51                   	push   %ecx
418305:	8b 70 14             	mov    0x14(%eax),%esi
418308:	8b ce                	mov    %esi,%ecx
41830a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
418310:	8b cf                	mov    %edi,%ecx
418312:	ff d6                	call   *%esi
418314:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
418318:	8b 07                	mov    (%edi),%eax
41831a:	8b 70 10             	mov    0x10(%eax),%esi
41831d:	8b ce                	mov    %esi,%ecx
41831f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
418325:	8b cf                	mov    %edi,%ecx
418327:	ff d6                	call   *%esi
418329:	8b 7d 98             	mov    -0x68(%ebp),%edi
41832c:	0f b7 f0             	movzwl %ax,%esi
41832f:	89 75 b4             	mov    %esi,-0x4c(%ebp)
418332:	3b df                	cmp    %edi,%ebx
418334:	74 2c                	je     0x418362
418336:	8b 45 ac             	mov    -0x54(%ebp),%eax
418339:	8b 00                	mov    (%eax),%eax
41833b:	8b 70 0c             	mov    0xc(%eax),%esi
41833e:	8b ce                	mov    %esi,%ecx
418340:	ff 15 d4 e2 49 00    	call   *0x49e2d4
418346:	8b 4d ac             	mov    -0x54(%ebp),%ecx
418349:	ff d6                	call   *%esi
41834b:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
41834f:	8b 75 b4             	mov    -0x4c(%ebp),%esi
418352:	0f b7 c8             	movzwl %ax,%ecx
418355:	8d 45 d4             	lea    -0x2c(%ebp),%eax
418358:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
41835c:	3b df                	cmp    %edi,%ebx
41835e:	66 89 0c 58          	mov    %cx,(%eax,%ebx,2)
418362:	0f 44 5d a8          	cmove  -0x58(%ebp),%ebx
418366:	8d 7d bc             	lea    -0x44(%ebp),%edi
418369:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
41836d:	0f 43 7d bc          	cmovae -0x44(%ebp),%edi
418371:	8a 07                	mov    (%edi),%al
418373:	3c 7f                	cmp    $0x7f,%al
418375:	0f 84 91 00 00 00    	je     0x41840c
41837b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
418380:	8b 55 b8             	mov    -0x48(%ebp),%edx
418383:	84 c0                	test   %al,%al
418385:	0f 8e 84 00 00 00    	jle    0x41840f
41838b:	0f be c8             	movsbl %al,%ecx
41838e:	8b c3                	mov    %ebx,%eax
418390:	2b c2                	sub    %edx,%eax
418392:	3b c8                	cmp    %eax,%ecx
418394:	73 79                	jae    0x41840f
418396:	2b d9                	sub    %ecx,%ebx
418398:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41839b:	3b cb                	cmp    %ebx,%ecx
41839d:	0f 82 3d 02 00 00    	jb     0x4185e0
4183a3:	8b 55 e8             	mov    -0x18(%ebp),%edx
4183a6:	8b c2                	mov    %edx,%eax
4183a8:	2b c1                	sub    %ecx,%eax
4183aa:	83 f8 01             	cmp    $0x1,%eax
4183ad:	72 34                	jb     0x4183e3
4183af:	8d 41 01             	lea    0x1(%ecx),%eax
4183b2:	83 fa 08             	cmp    $0x8,%edx
4183b5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4183b8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4183bb:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
4183bf:	2b cb                	sub    %ebx,%ecx
4183c1:	8d 34 58             	lea    (%eax,%ebx,2),%esi
4183c4:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
4183cb:	50                   	push   %eax
4183cc:	8d 46 02             	lea    0x2(%esi),%eax
4183cf:	56                   	push   %esi
4183d0:	50                   	push   %eax
4183d1:	e8 4a 32 05 00       	call   0x46b620
4183d6:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4183d9:	83 c4 0c             	add    $0xc,%esp
4183dc:	66 89 06             	mov    %ax,(%esi)
4183df:	8b f0                	mov    %eax,%esi
4183e1:	eb 15                	jmp    0x4183f8
4183e3:	56                   	push   %esi
4183e4:	6a 01                	push   $0x1
4183e6:	53                   	push   %ebx
4183e7:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
4183eb:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4183ee:	ff 75 a8             	push   -0x58(%ebp)
4183f1:	6a 01                	push   $0x1
4183f3:	e8 78 0c 00 00       	call   0x419070
4183f8:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
4183fc:	8d 47 01             	lea    0x1(%edi),%eax
4183ff:	0f 4f f8             	cmovg  %eax,%edi
418402:	8a 07                	mov    (%edi),%al
418404:	3c 7f                	cmp    $0x7f,%al
418406:	0f 85 74 ff ff ff    	jne    0x418380
41840c:	8b 55 b8             	mov    -0x48(%ebp),%edx
41840f:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
418412:	8b 45 e4             	mov    -0x1c(%ebp),%eax
418415:	89 45 b4             	mov    %eax,-0x4c(%ebp)
418418:	83 79 24 00          	cmpl   $0x0,0x24(%ecx)
41841c:	8b 79 20             	mov    0x20(%ecx),%edi
41841f:	7c 0e                	jl     0x41842f
418421:	7f 04                	jg     0x418427
418423:	85 ff                	test   %edi,%edi
418425:	74 08                	je     0x41842f
418427:	3b f8                	cmp    %eax,%edi
418429:	76 04                	jbe    0x41842f
41842b:	2b f8                	sub    %eax,%edi
41842d:	eb 02                	jmp    0x418431
41842f:	33 ff                	xor    %edi,%edi
418431:	8b 41 14             	mov    0x14(%ecx),%eax
418434:	8b 75 1c             	mov    0x1c(%ebp),%esi
418437:	25 c0 01 00 00       	and    $0x1c0,%eax
41843c:	8b 5d 08             	mov    0x8(%ebp),%ebx
41843f:	83 f8 40             	cmp    $0x40,%eax
418442:	0f 84 84 00 00 00    	je     0x4184cc
418448:	3d 00 01 00 00       	cmp    $0x100,%eax
41844d:	74 40                	je     0x41848f
41844f:	57                   	push   %edi
418450:	56                   	push   %esi
418451:	ff 75 14             	push   0x14(%ebp)
418454:	8d 45 a0             	lea    -0x60(%ebp),%eax
418457:	ff 75 10             	push   0x10(%ebp)
41845a:	50                   	push   %eax
41845b:	53                   	push   %ebx
41845c:	e8 4f f7 ff ff       	call   0x417bb0
418461:	8b 75 b8             	mov    -0x48(%ebp),%esi
418464:	33 ff                	xor    %edi,%edi
418466:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
41846a:	56                   	push   %esi
41846b:	8b 10                	mov    (%eax),%edx
41846d:	8b 48 04             	mov    0x4(%eax),%ecx
418470:	8d 45 d4             	lea    -0x2c(%ebp),%eax
418473:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
418477:	50                   	push   %eax
418478:	51                   	push   %ecx
418479:	52                   	push   %edx
41847a:	8d 45 a0             	lea    -0x60(%ebp),%eax
41847d:	89 55 10             	mov    %edx,0x10(%ebp)
418480:	50                   	push   %eax
418481:	53                   	push   %ebx
418482:	89 4d 14             	mov    %ecx,0x14(%ebp)
418485:	e8 a6 f7 ff ff       	call   0x417c30
41848a:	83 c4 30             	add    $0x30,%esp
41848d:	eb 60                	jmp    0x4184ef
41848f:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
418493:	8d 45 d4             	lea    -0x2c(%ebp),%eax
418496:	52                   	push   %edx
418497:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
41849b:	50                   	push   %eax
41849c:	ff 75 14             	push   0x14(%ebp)
41849f:	8d 45 a0             	lea    -0x60(%ebp),%eax
4184a2:	ff 75 10             	push   0x10(%ebp)
4184a5:	50                   	push   %eax
4184a6:	53                   	push   %ebx
4184a7:	e8 84 f7 ff ff       	call   0x417c30
4184ac:	57                   	push   %edi
4184ad:	56                   	push   %esi
4184ae:	8b 08                	mov    (%eax),%ecx
4184b0:	8b 40 04             	mov    0x4(%eax),%eax
4184b3:	50                   	push   %eax
4184b4:	89 45 14             	mov    %eax,0x14(%ebp)
4184b7:	8d 45 a0             	lea    -0x60(%ebp),%eax
4184ba:	51                   	push   %ecx
4184bb:	50                   	push   %eax
4184bc:	53                   	push   %ebx
4184bd:	89 4d 10             	mov    %ecx,0x10(%ebp)
4184c0:	e8 eb f6 ff ff       	call   0x417bb0
4184c5:	83 c4 30             	add    $0x30,%esp
4184c8:	33 ff                	xor    %edi,%edi
4184ca:	eb 20                	jmp    0x4184ec
4184cc:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
4184d0:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4184d3:	52                   	push   %edx
4184d4:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
4184d8:	50                   	push   %eax
4184d9:	ff 75 14             	push   0x14(%ebp)
4184dc:	8d 45 a0             	lea    -0x60(%ebp),%eax
4184df:	ff 75 10             	push   0x10(%ebp)
4184e2:	50                   	push   %eax
4184e3:	53                   	push   %ebx
4184e4:	e8 47 f7 ff ff       	call   0x417c30
4184e9:	83 c4 18             	add    $0x18,%esp
4184ec:	8b 75 b8             	mov    -0x48(%ebp),%esi
4184ef:	8b 10                	mov    (%eax),%edx
4184f1:	8b 48 04             	mov    0x4(%eax),%ecx
4184f4:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4184f7:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
4184fb:	89 55 10             	mov    %edx,0x10(%ebp)
4184fe:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
418502:	29 75 b4             	sub    %esi,-0x4c(%ebp)
418505:	ff 75 b4             	push   -0x4c(%ebp)
418508:	89 4d 14             	mov    %ecx,0x14(%ebp)
41850b:	8d 04 70             	lea    (%eax,%esi,2),%eax
41850e:	50                   	push   %eax
41850f:	51                   	push   %ecx
418510:	52                   	push   %edx
418511:	8d 45 a0             	lea    -0x60(%ebp),%eax
418514:	50                   	push   %eax
418515:	53                   	push   %ebx
418516:	e8 15 f7 ff ff       	call   0x417c30
41851b:	8b 55 9c             	mov    -0x64(%ebp),%edx
41851e:	8b 75 94             	mov    -0x6c(%ebp),%esi
418521:	57                   	push   %edi
418522:	8b 08                	mov    (%eax),%ecx
418524:	8b 40 04             	mov    0x4(%eax),%eax
418527:	ff 75 1c             	push   0x1c(%ebp)
41852a:	89 4d 10             	mov    %ecx,0x10(%ebp)
41852d:	50                   	push   %eax
41852e:	51                   	push   %ecx
41852f:	56                   	push   %esi
418530:	53                   	push   %ebx
418531:	89 45 14             	mov    %eax,0x14(%ebp)
418534:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
41853b:	c7 42 24 00 00 00 00 	movl   $0x0,0x24(%edx)
418542:	e8 69 f6 ff ff       	call   0x417bb0
418547:	8b 4d d0             	mov    -0x30(%ebp),%ecx
41854a:	83 c4 30             	add    $0x30,%esp
41854d:	83 f9 10             	cmp    $0x10,%ecx
418550:	72 28                	jb     0x41857a
418552:	8b 55 bc             	mov    -0x44(%ebp),%edx
418555:	41                   	inc    %ecx
418556:	8b c2                	mov    %edx,%eax
418558:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41855e:	72 10                	jb     0x418570
418560:	8b 50 fc             	mov    -0x4(%eax),%edx
418563:	83 c1 23             	add    $0x23,%ecx
418566:	2b c2                	sub    %edx,%eax
418568:	83 c0 fc             	add    $0xfffffffc,%eax
41856b:	83 f8 1f             	cmp    $0x1f,%eax
41856e:	77 75                	ja     0x4185e5
418570:	51                   	push   %ecx
418571:	52                   	push   %edx
418572:	e8 91 14 05 00       	call   0x469a08
418577:	83 c4 08             	add    $0x8,%esp
41857a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41857d:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
418584:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
41858b:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
41858f:	83 f9 08             	cmp    $0x8,%ecx
418592:	72 2e                	jb     0x4185c2