45a1ba:	8b 7e 38             	mov    0x38(%esi),%edi
45a1bd:	00 75 1c             	add    %dh,0x1c(%ebp)
45a1c0:	8b 4e 08             	mov    0x8(%esi),%ecx
45a1c3:	68 cb 88 74 4f       	push   $0x4f7488cb
45a1c8:	6a 00                	push   $0x0
45a1ca:	6a 00                	push   $0x0
45a1cc:	51                   	push   %ecx
45a1cd:	8d 57 1c             	lea    0x1c(%edi),%edx
45a1d0:	52                   	push   %edx
45a1d1:	e8 d3 ee ff ff       	call   0x4590a9
45a1d6:	83 c4 14             	add    $0x14,%esp
45a1d9:	89 46 38             	mov    %eax,0x38(%esi)
45a1dc:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
45a1e0:	75 1c                	jne    0x45a1fe
45a1e2:	8b 46 08             	mov    0x8(%esi),%eax
45a1e5:	68 8e 8f 36 f0       	push   $0xf0368f8e
45a1ea:	6a 00                	push   $0x0
45a1ec:	6a 00                	push   $0x0
45a1ee:	50                   	push   %eax
45a1ef:	8d 4f 1c             	lea    0x1c(%edi),%ecx
45a1f2:	51                   	push   %ecx
45a1f3:	e8 b1 ee ff ff       	call   0x4590a9
45a1f8:	83 c4 14             	add    $0x14,%esp
45a1fb:	89 46 3c             	mov    %eax,0x3c(%esi)
45a1fe:	83 7e 40 00          	cmpl   $0x0,0x40(%esi)
45a202:	75 89                	jne    0x45a18d
45a204:	46                   	inc    %esi
45a205:	2c 83                	sub    $0x83,%al
45a207:	7e 30                	jle    0x45a239
45a209:	00 75 1c             	add    %dh,0x1c(%ebp)
45a20c:	8b 46 08             	mov    0x8(%esi),%eax
45a20f:	68 c3 9e 90 52       	push   $0x52909ec3
45a214:	6a 00                	push   $0x0
45a216:	6a 00                	push   $0x0
45a218:	50                   	push   %eax
45a219:	8d 4f 1c             	lea    0x1c(%edi),%ecx
45a21c:	51                   	push   %ecx
45a21d:	e8 17 ef ff ff       	call   0x459139
45a222:	83 c4 14             	add    $0x14,%esp
45a225:	89 46 30             	mov    %eax,0x30(%esi)
45a228:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
45a22c:	75 1c                	jne    0x45a24a
45a22e:	8b 56 08             	mov    0x8(%esi),%edx
45a231:	68 b7 51 aa d4       	push   $0xd4aa51b7
45a236:	6a 00                	push   $0x0
45a238:	6a 00                	push   $0x0
45a23a:	52                   	push   %edx
45a23b:	8d 47 1c             	lea    0x1c(%edi),%eax
45a23e:	50                   	push   %eax
45a23f:	e8 f5 ee ff ff       	call   0x459139
45a244:	83 c4 14             	add    $0x14,%esp
45a247:	89 46 34             	mov    %eax,0x34(%esi)
45a24a:	83 ff 83             	cmp    $0xffffff83,%edi
45a24d:	c4 14 89             	les    (%ecx,%ecx,4),%edx
45a250:	46                   	inc    %esi
45a251:	24 83                	and    $0x83,%al
45a253:	7e 28                	jle    0x45a27d
45a255:	00 75 1c             	add    %dh,0x1c(%ebp)
45a258:	8b 56 04             	mov    0x4(%esi),%edx
45a25b:	68 59 0c dc 78       	push   $0x78dc0c59
45a260:	6a 00                	push   $0x0
45a262:	6a 00                	push   $0x0
45a264:	52                   	push   %edx
45a265:	8d 47 1c             	lea    0x1c(%edi),%eax
45a268:	50                   	push   %eax
45a269:	e8 5b ef ff ff       	call   0x4591c9
45a26e:	83 c4 14             	add    $0x14,%esp
45a271:	89 46 28             	mov    %eax,0x28(%esi)
45a274:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
45a278:	75 1c                	jne    0x45a296
45a27a:	8b 4e 04             	mov    0x4(%esi),%ecx
45a27d:	68 b2 19 8c 39       	push   $0x398c19b2
45a282:	6a 00                	push   $0x0
45a284:	6a 00                	push   $0x0
45a286:	51                   	push   %ecx
45a287:	8d 57 1c             	lea    0x1c(%edi),%edx
45a28a:	52                   	push   %edx
45a28b:	e8 39 ef ff ff       	call   0x4591c9
45a290:	83 c4 14             	add    $0x14,%esp
45a293:	50                   	push   %eax
45a294:	e8 c0 ef ff ff       	call   0x459259
45a299:	83 c4 14             	add    $0x14,%esp
45a29c:	89 46 1c             	mov    %eax,0x1c(%esi)
45a29f:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
45a2a3:	75 1c                	jne    0x45a2c1
45a2a5:	8b 4e 04             	mov    0x4(%esi),%ecx
45a2a8:	68 93 1a 30 c8       	push   $0xc8301a93
45a2ad:	6a 00                	push   $0x0
45a2af:	6a 00                	push   $0x0
45a2b1:	51                   	push   %ecx
45a2b2:	8d 57 1c             	lea    0x1c(%edi),%edx
45a2b5:	52                   	push   %edx
45a2b6:	e8 9e ef ff ff       	call   0x459259
45a2bb:	83 c4 14             	add    $0x14,%esp
45a2be:	89 46 20             	mov    %eax,0x20(%esi)
45a2c1:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
45a2c5:	75 1b                	jne    0x45a2e2
45a2c7:	8b 06                	mov    (%esi),%eax
45a2c9:	68 77 56 87 f4       	push   $0xf4875677
45a2ce:	6a 00                	push   $0x0
45a2d0:	6a 00                	push   $0x0
45a2d2:	50                   	push   %eax
45a2d3:	8d 4f 1c             	lea    0x1c(%edi),%ecx
45a2d6:	51                   	push   %ecx
45a2d7:	e8 7d ef ff 00       	call   0x1459259
45a2dc:	51                   	push   %ecx
45a2dd:	8d 57 1c             	lea    0x1c(%edi),%edx
45a2e0:	52                   	push   %edx
45a2e1:	e8 03 f0 ff ff       	call   0x4592e9
45a2e6:	83 c4 14             	add    $0x14,%esp
45a2e9:	89 46 14             	mov    %eax,0x14(%esi)
45a2ec:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
45a2f0:	75 1b                	jne    0x45a30d
45a2f2:	8b 06                	mov    (%esi),%eax
45a2f4:	68 3a a9 9a fb       	push   $0xfb9aa93a
45a2f9:	6a 00                	push   $0x0
45a2fb:	6a 00                	push   $0x0
45a2fd:	50                   	push   %eax
45a2fe:	8d 4f 1c             	lea    0x1c(%edi),%ecx
45a301:	51                   	push   %ecx
45a302:	e8 e2 ef ff ff       	call   0x4592e9
45a307:	83 c4 14             	add    $0x14,%esp
45a30a:	89 46 18             	mov    %eax,0x18(%esi)
45a30d:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
45a311:	75 1c                	jne    0x45a32f
45a313:	8b 56 04             	mov    0x4(%esi),%edx
45a316:	68 36 b0 c7 22       	push   $0x22c7b036
45a31b:	6a 00                	push   $0x0
45a31d:	6a 00                	push   $0x0
45a31f:	52                   	push   %edx
45a320:	8d 47 1c             	lea    0x1c(%edi),%eax
45a323:	0f 6a 00             	punpckhdq (%eax),%mm0
45a326:	6a 00                	push   $0x0
45a328:	50                   	push   %eax
45a329:	8d 4f 1c             	lea    0x1c(%edi),%ecx
45a32c:	51                   	push   %ecx
45a32d:	e8 47 f0 ff ff       	call   0x459379
45a332:	83 c4 14             	add    $0x14,%esp
45a335:	89 46 0c             	mov    %eax,0xc(%esi)
45a338:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
45a33c:	75 1c                	jne    0x45a35a
45a33e:	8b 56 04             	mov    0x4(%esi),%edx
45a341:	68 ea ad f4 e5       	push   $0xe5f4adea
45a346:	6a 00                	push   $0x0
45a348:	6a 00                	push   $0x0
45a34a:	52                   	push   %edx
45a34b:	8d 47 1c             	lea    0x1c(%edi),%eax
45a34e:	50                   	push   %eax
45a34f:	e8 25 f0 ff ff       	call   0x459379
45a354:	83 c4 14             	add    $0x14,%esp
45a357:	89 46 10             	mov    %eax,0x10(%esi)
45a35a:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
45a35e:	75 1c                	jne    0x45a37c
45a360:	8b 4e 04             	mov    0x4(%esi),%ecx
45a363:	68 1b ff a4 16       	push   $0x16a4ff1b
45a368:	6a 00                	push   $0x0
45a36a:	6a ff                	push   $0xffffffff
45a36c:	83 c4 1c             	add    $0x1c,%esp
45a36f:	89 46 04             	mov    %eax,0x4(%esi)
45a372:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
45a376:	75 2f                	jne    0x45a3a7
45a378:	6a 3f                	push   $0x3f
45a37a:	8d 55 c1             	lea    -0x3f(%ebp),%edx
45a37d:	6a 00                	push   $0x0
45a37f:	52                   	push   %edx
45a380:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
45a384:	e8 90 51 00 00       	call   0x45f519
45a389:	8d 45 c0             	lea    -0x40(%ebp),%eax
45a38c:	6a 0f                	push   $0xf
45a38e:	50                   	push   %eax
45a38f:	e8 25 5d 00 00       	call   0x4600b9
45a394:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45a397:	51                   	push   %ecx
45a398:	8d 57 1c             	lea    0x1c(%edi),%edx
45a39b:	52                   	push   %edx
45a39c:	e8 b8 51 ff ff       	call   0x44f559
45a3a1:	83 c4 1c             	add    $0x1c,%esp
45a3a4:	89 46 08             	mov    %eax,0x8(%esi)
45a3a7:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45a3ab:	75 1b                	jne    0x45a3c8
45a3ad:	8b 06                	mov    (%esi),%eax
45a3af:	68 51 3d 30 6a       	push   $0x6a303d51
45a3b4:	03 51 e8             	add    -0x18(%ecx),%edx
45a3b7:	8e 5d 00             	mov    0x0(%ebp),%ds
45a3ba:	00 8d 55 c0 52 8d    	add    %cl,-0x72ad3fab(%ebp)
45a3c0:	47                   	inc    %edi
45a3c1:	1c 50                	sbb    $0x50,%al
45a3c3:	e8 21 52 ff ff       	call   0x44f5e9
45a3c8:	83 c4 1c             	add    $0x1c,%esp
45a3cb:	89 06                	mov    %eax,(%esi)
45a3cd:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
45a3d1:	75 2f                	jne    0x45a402
45a3d3:	6a 3f                	push   $0x3f
45a3d5:	8d 4d c1             	lea    -0x3f(%ebp),%ecx
45a3d8:	6a 00                	push   $0x0
45a3da:	51                   	push   %ecx
45a3db:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
45a3df:	e8 c5 51 00 00       	call   0x45f5a9
45a3e4:	8d 55 c0             	lea    -0x40(%ebp),%edx
45a3e7:	6a 0e                	push   $0xe
45a3e9:	52                   	push   %edx
45a3ea:	e8 5a 5d 00 00       	call   0x460149
45a3ef:	8d 45 c0             	lea    -0x40(%ebp),%eax
45a3f2:	50                   	push   %eax
45a3f3:	8d 4f 1c             	lea    0x1c(%edi),%ecx
45a3f6:	51                   	push   %ecx
45a3f7:	e8 ed 51 ff 83       	call   0x8444f5e9
45a3fc:	c4 14 3b             	les    (%ebx,%edi,1),%edx
45a3ff:	75 10                	jne    0x45a411
45a401:	72 ab                	jb     0x45a3ae
45a403:	5e                   	pop    %esi
45a404:	8b c3                	mov    %ebx,%eax
45a406:	5b                   	pop    %ebx
45a407:	5f                   	pop    %edi
45a408:	8b e5                	mov    %ebp,%esp
45a40a:	5d                   	pop    %ebp
45a40b:	c3                   	ret
45a40c:	33 c0                	xor    %eax,%eax
45a40e:	5f                   	pop    %edi
45a40f:	8b e5                	mov    %ebp,%esp
45a411:	5d                   	pop    %ebp
45a412:	c3                   	ret
45a413:	7f 56                	jg     0x45a46b
45a415:	c0 26 b8             	shlb   $0xb8,(%esi)
45a418:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
45a419:	55                   	push   %ebp
45a41a:	8b ec                	mov    %esp,%ebp
45a41c:	83 ec 40             	sub    $0x40,%esp
45a41f:	56                   	push   %esi
45a420:	57                   	push   %edi
45a421:	8b 7d 08             	mov    0x8(%ebp),%edi
45a424:	8b b7 88 0b 00 00    	mov    0xb88(%edi),%esi
45a42a:	83 3e 00             	cmpl   $0x0,(%esi)
45a42d:	75 2e                	jne    0x45a45d
45a42f:	6a 3f                	push   $0x3f
45a431:	8d 45 c1             	lea    -0x3f(%ebp),%eax
45a434:	6a 00                	push   $0x0
45a436:	50                   	push   %eax
45a437:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
45a43b:	e8 f9 51 00 00       	call   0x45f639
45a440:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45a443:	39 03                	cmp    %eax,(%ebx)
45a445:	cf                   	iret
45a446:	88 45 f4             	mov    %al,-0xc(%ebp)
45a449:	8d 50 c0             	lea    -0x40(%eax),%edx
45a44c:	80 fa 1f             	cmp    $0x1f,%dl
45a44f:	77 18                	ja     0x45a469
45a451:	6a 01                	push   $0x1
45a453:	51                   	push   %ecx
45a454:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
45a457:	50                   	push   %eax
45a458:	e8 ec 51 00 00       	call   0x45f649
45a45d:	46                   	inc    %esi
45a45e:	83 c4 0c             	add    $0xc,%esp
45a461:	ff 45 fc             	incl   -0x4(%ebp)
45a464:	89 75 f8             	mov    %esi,-0x8(%ebp)
45a467:	eb 25                	jmp    0x45a48e
45a469:	2c 70                	sub    $0x70,%al
45a46b:	3c 0f                	cmp    $0xf,%al
45a46d:	77 06                	ja     0x45a475
45a46f:	83 45 fc 02          	addl   $0x2,-0x4(%ebp)
45a473:	eb 19                	jmp    0x45a48e
45a475:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a478:	8d 4d fc             	lea    -0x4(%ebp),%ecx
45a47b:	51                   	push   %ecx
45a47c:	8d 55 f8             	lea    -0x8(%ebp),%edx
45a47f:	52                   	push   %edx
45a480:	57                   	push   %edi
45a481:	53                   	push   %ebx
45a482:	50                   	push   %eax
45a483:	e8 c1 f7 ff ff       	call   0x459c49
45a488:	8b 75 f8             	mov    -0x8(%ebp),%esi
45a48b:	83 07 06             	addl   $0x6,(%edi)
45a48e:	5b                   	pop    %ebx
45a48f:	5f                   	pop    %edi
45a490:	5e                   	pop    %esi
45a491:	8b e5                	mov    %ebp,%esp
45a493:	5d                   	pop    %ebp
45a494:	c3                   	ret
45a495:	59                   	pop    %ecx
45a496:	2d ca 15 55 8b       	sub    $0x8b5515ca,%eax
45a49b:	ec                   	in     (%dx),%al
45a49c:	8b 45 0c             	mov    0xc(%ebp),%eax
45a49f:	83 ec 0c             	sub    $0xc,%esp
45a4a2:	57                   	push   %edi
45a4a3:	50                   	push   %eax
45a4a4:	e8 b0 e6 ff ff       	call   0x458b59
45a4a9:	8b f8                	mov    %eax,%edi
45a4ab:	83 c4 04             	add    $0x4,%esp
45a4ae:	80 3f 55             	cmpb   $0x55,(%edi)
45a4b1:	75 79                	jne    0x45a52c
45a4b3:	80 7f 01 8b          	cmpb   $0x8b,0x1(%edi)
45a4b7:	75 73                	jne    0x45a52c
45a4b9:	53                   	push   %ebx
45a4ba:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a4bd:	56                   	push   %esi
45a4be:	33 f6                	xor    %esi,%esi
45a4c0:	83 c7 03             	add    $0x3,%edi
45a4c3:	89 75 f8             	mov    %esi,-0x8(%ebp)
45a4c6:	89 75 fc             	mov    %esi,-0x4(%ebp)
45a4c9:	39 75 10             	cmp    %esi,0x10(%ebp)
45a4cc:	76 55                	jbe    0x45a523
45a4ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45a4d1:	8a 04 03             	mov    (%ebx,%eax,1),%al
45a4d4:	4d                   	dec    %ebp
45a4d5:	0c 6a                	or     $0x6a,%al
45a4d7:	04 50                	add    $0x50,%al
45a4d9:	51                   	push   %ecx
45a4da:	e8 8a 52 00 00       	call   0x45f769
45a4df:	83 07 04             	addl   $0x4,(%edi)
45a4e2:	83 c4 0c             	add    $0xc,%esp
45a4e5:	83 06 06             	addl   $0x6,(%esi)
45a4e8:	5b                   	pop    %ebx
45a4e9:	5f                   	pop    %edi
45a4ea:	5e                   	pop    %esi
45a4eb:	8b e5                	mov    %ebp,%esp
45a4ed:	5d                   	pop    %ebp
45a4ee:	c3                   	ret
45a4ef:	3c ff                	cmp    $0xff,%al
45a4f1:	75 2b                	jne    0x45a51e
45a4f3:	8b 7d 18             	mov    0x18(%ebp),%edi
45a4f6:	8b 45 10             	mov    0x10(%ebp),%eax
45a4f9:	03 07                	add    (%edi),%eax
45a4fb:	80 78 01 35          	cmpb   $0x35,0x1(%eax)
45a4ff:	75 1d                	jne    0x45a51e
45a501:	8b 75 14             	mov    0x14(%ebp),%esi
45a504:	8b 0e                	mov    (%esi),%ecx
45a506:	03 4d 0c             	add    0xc(%ebp),%ecx
45a509:	6a 04                	push   $0x4
45a50b:	83 c0 02             	add    $0x2,%eax
45a50e:	50                   	push   %eax
45a50f:	51                   	push   %ecx
45a510:	e8 54 52 00 00       	call   0x45f769
45a515:	83 06 04             	addl   $0x4,(%esi)
45a518:	83 c4 0c             	add    $0xc,%esp
45a51b:	e5 5d                	in     $0x5d,%eax
45a51d:	c3                   	ret
45a51e:	3c f6                	cmp    $0xf6,%al
45a520:	75 2c                	jne    0x45a54e
45a522:	8b 75 18             	mov    0x18(%ebp),%esi
45a525:	8b 06                	mov    (%esi),%eax
45a527:	8b 4d 10             	mov    0x10(%ebp),%ecx
45a52a:	8b 7d 14             	mov    0x14(%ebp),%edi
45a52d:	8d 54 08 02          	lea    0x2(%eax,%ecx,1),%edx
45a531:	8b 07                	mov    (%edi),%eax
45a533:	03 45 0c             	add    0xc(%ebp),%eax
45a536:	6a 01                	push   $0x1
45a538:	52                   	push   %edx
45a539:	50                   	push   %eax
45a53a:	e8 ba 52 00 00       	call   0x45f7f9