45c209:	ff 75 10             	push   0x10(%ebp)
45c20c:	66 89 45 84          	mov    %ax,-0x7c(%ebp)
45c210:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45c216:	50                   	push   %eax
45c217:	e8 31 df fd ff       	call   0x43a14d
45c21c:	8b f8                	mov    %eax,%edi
45c21e:	83 c4 0c             	add    $0xc,%esp
45c221:	85 ff                	test   %edi,%edi
45c223:	0f 88 e1 01 00 00    	js     0x45c40a
45c229:	56                   	push   %esi
45c22a:	56                   	push   %esi
45c22b:	56                   	push   %esi
45c22c:	6a 03                	push   $0x3
45c22e:	6a 02                	push   $0x2
45c230:	56                   	push   %esi
45c231:	56                   	push   %esi
45c232:	6a ff                	push   $0xffffffff
45c234:	56                   	push   %esi
45c235:	ff 15 50 d8 48 00    	call   *0x48d850
45c23b:	6a 10                	push   $0x10
45c23d:	8d 45 94             	lea    -0x6c(%ebp),%eax
45c240:	56                   	push   %esi
45c241:	50                   	push   %eax
45c242:	e8 09 4b fc ff       	call   0x420d50
45c247:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45c24a:	83 c4 0c             	add    $0xc,%esp
45c24d:	8d 55 98             	lea    -0x68(%ebp),%edx
45c250:	e8 a4 e2 fd ff       	call   0x43a4f9
45c255:	39 75 10             	cmp    %esi,0x10(%ebp)
45c258:	0f 84 f2 00 00 00    	je     0x45c350
45c25e:	ff 75 10             	push   0x10(%ebp)
45c261:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c264:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
45c26b:	e8 f3 a7 fa ff       	call   0x406a63
45c270:	68 54 dc 49 00       	push   $0x49dc54
45c275:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c278:	e8 ec 5e ff ff       	call   0x452169
45c27d:	8b f8                	mov    %eax,%edi
45c27f:	83 ff ff             	cmp    $0xffffffff,%edi
45c282:	75 11                	jne    0x45c295
45c284:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45c287:	89 45 d0             	mov    %eax,-0x30(%ebp)
45c28a:	8b 45 a8             	mov    -0x58(%ebp),%eax
45c28d:	89 75 d8             	mov    %esi,-0x28(%ebp)
45c290:	89 75 dc             	mov    %esi,-0x24(%ebp)
45c293:	eb 74                	jmp    0x45c309
45c295:	57                   	push   %edi
45c296:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
45c29c:	50                   	push   %eax
45c29d:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c2a0:	e8 0c 09 00 00       	call   0x45cbb1
45c2a5:	50                   	push   %eax
45c2a6:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
45c2ac:	e8 3c ac fa ff       	call   0x406eed
45c2b1:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
45c2b7:	e8 7b 08 fb ff       	call   0x40cb37
45c2bc:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
45c2c2:	89 45 d8             	mov    %eax,-0x28(%ebp)
45c2c5:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
45c2cb:	89 45 dc             	mov    %eax,-0x24(%ebp)
45c2ce:	6a ff                	push   $0xffffffff
45c2d0:	8d 47 01             	lea    0x1(%edi),%eax
45c2d3:	50                   	push   %eax
45c2d4:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
45c2da:	50                   	push   %eax
45c2db:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c2de:	e8 5d 08 fe ff       	call   0x43cb40
45c2e3:	50                   	push   %eax
45c2e4:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
45c2ea:	e8 fe ab fa ff       	call   0x406eed
45c2ef:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
45c2f5:	e8 3d 08 fb ff       	call   0x40cb37
45c2fa:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
45c300:	89 45 d0             	mov    %eax,-0x30(%ebp)
45c303:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
45c309:	89 45 d4             	mov    %eax,-0x2c(%ebp)
45c30c:	85 db                	test   %ebx,%ebx
45c30e:	74 0f                	je     0x45c31f
45c310:	53                   	push   %ebx
45c311:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45c314:	e8 c2 49 fc ff       	call   0x420cdb
45c319:	59                   	pop    %ecx
45c31a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45c31d:	eb 06                	jmp    0x45c325
45c31f:	89 75 e0             	mov    %esi,-0x20(%ebp)
45c322:	89 75 e4             	mov    %esi,-0x1c(%ebp)
45c325:	8d 45 d0             	lea    -0x30(%ebp),%eax
45c328:	6a 09                	push   $0x9
45c32a:	89 45 c8             	mov    %eax,-0x38(%ebp)
45c32d:	5b                   	pop    %ebx
45c32e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45c331:	c7 45 c0 02 00 00 00 	movl   $0x2,-0x40(%ebp)
45c338:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
45c33b:	89 75 b8             	mov    %esi,-0x48(%ebp)
45c33e:	89 75 cc             	mov    %esi,-0x34(%ebp)
45c341:	c7 45 c4 03 00 00 00 	movl   $0x3,-0x3c(%ebp)
45c348:	89 75 bc             	mov    %esi,-0x44(%ebp)
45c34b:	89 45 9c             	mov    %eax,-0x64(%ebp)
45c34e:	eb 06                	jmp    0x45c356
45c350:	6a 09                	push   $0x9
45c352:	89 75 9c             	mov    %esi,-0x64(%ebp)
45c355:	5b                   	pop    %ebx
45c356:	6a 0c                	push   $0xc
45c358:	8d 45 f0             	lea    -0x10(%ebp),%eax
45c35b:	56                   	push   %esi
45c35c:	50                   	push   %eax
45c35d:	89 75 8c             	mov    %esi,-0x74(%ebp)
45c360:	e8 eb 49 fc ff       	call   0x420d50
45c365:	8b 45 8c             	mov    -0x74(%ebp),%eax
45c368:	83 c4 0c             	add    $0xc,%esp
45c36b:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c36e:	8d 45 f0             	lea    -0x10(%ebp),%eax
45c371:	50                   	push   %eax
45c372:	6a 01                	push   $0x1
45c374:	8d 45 94             	lea    -0x6c(%ebp),%eax
45c377:	50                   	push   %eax
45c378:	6a 15                	push   $0x15
45c37a:	56                   	push   %esi
45c37b:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45c381:	50                   	push   %eax
45c382:	c7 45 f0 1c d9 48 00 	movl   $0x48d91c,-0x10(%ebp)
45c389:	89 75 f8             	mov    %esi,-0x8(%ebp)
45c38c:	ff 15 54 d8 48 00    	call   *0x48d854
45c392:	ff 75 98             	push   -0x68(%ebp)
45c395:	8b f8                	mov    %eax,%edi
45c397:	ff 15 10 d8 48 00    	call   *0x48d810
45c39d:	85 ff                	test   %edi,%edi
45c39f:	78 69                	js     0x45c40a
45c3a1:	8b 7d f8             	mov    -0x8(%ebp),%edi
45c3a4:	85 ff                	test   %edi,%edi
45c3a6:	78 62                	js     0x45c40a
45c3a8:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c3ab:	39 75 9c             	cmp    %esi,-0x64(%ebp)
45c3ae:	74 28                	je     0x45c3d8
45c3b0:	85 c0                	test   %eax,%eax
45c3b2:	74 24                	je     0x45c3d8
45c3b4:	68 00 08 00 00       	push   $0x800
45c3b9:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45c3bc:	51                   	push   %ecx
45c3bd:	ff 75 c4             	push   -0x3c(%ebp)
45c3c0:	ff 75 c0             	push   -0x40(%ebp)
45c3c3:	ff 75 bc             	push   -0x44(%ebp)
45c3c6:	ff 75 b8             	push   -0x48(%ebp)
45c3c9:	ff 75 b4             	push   -0x4c(%ebp)
45c3cc:	50                   	push   %eax
45c3cd:	ff 15 58 d8 48 00    	call   *0x48d858
45c3d3:	8b f8                	mov    %eax,%edi
45c3d5:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c3d8:	66 89 5d 84          	mov    %bx,-0x7c(%ebp)
45c3dc:	89 45 8c             	mov    %eax,-0x74(%ebp)
45c3df:	85 c0                	test   %eax,%eax
45c3e1:	75 0c                	jne    0x45c3ef
45c3e3:	6a 01                	push   $0x1
45c3e5:	68 e4 3e 4b 00       	push   $0x4b3ee4
45c3ea:	56                   	push   %esi
45c3eb:	6a 01                	push   $0x1
45c3ed:	eb 1f                	jmp    0x45c40e
45c3ef:	85 ff                	test   %edi,%edi
45c3f1:	78 17                	js     0x45c40a
45c3f3:	8b 4d 18             	mov    0x18(%ebp),%ecx
45c3f6:	8d 45 84             	lea    -0x7c(%ebp),%eax
45c3f9:	50                   	push   %eax
45c3fa:	e8 c6 d9 fe ff       	call   0x449dc5
45c3ff:	8b 45 8c             	mov    -0x74(%ebp),%eax
45c402:	50                   	push   %eax
45c403:	8b 08                	mov    (%eax),%ecx
45c405:	ff 51 08             	call   *0x8(%ecx)
45c408:	eb 0e                	jmp    0x45c418
45c40a:	56                   	push   %esi
45c40b:	56                   	push   %esi
45c40c:	56                   	push   %esi
45c40d:	57                   	push   %edi
45c40e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45c411:	e8 a7 f9 ff ff       	call   0x45bdbd
45c416:	8b f0                	mov    %eax,%esi
45c418:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
45c41e:	e8 14 07 fb ff       	call   0x40cb37
45c423:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
45c429:	e8 09 07 fb ff       	call   0x40cb37
45c42e:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c431:	e8 01 07 fb ff       	call   0x40cb37
45c436:	5f                   	pop    %edi
45c437:	8b c6                	mov    %esi,%eax
45c439:	5e                   	pop    %esi
45c43a:	5b                   	pop    %ebx
45c43b:	c9                   	leave
45c43c:	c2 14 00             	ret    $0x14
45c43f:	55                   	push   %ebp
45c440:	8b ec                	mov    %esp,%ebp
45c442:	81 ec 08 01 00 00    	sub    $0x108,%esp
45c448:	8b 45 18             	mov    0x18(%ebp),%eax
45c44b:	53                   	push   %ebx
45c44c:	8b 40 08             	mov    0x8(%eax),%eax
45c44f:	33 db                	xor    %ebx,%ebx
45c451:	56                   	push   %esi
45c452:	8b 75 10             	mov    0x10(%ebp),%esi
45c455:	57                   	push   %edi
45c456:	8b f9                	mov    %ecx,%edi
45c458:	89 7d e4             	mov    %edi,-0x1c(%ebp)
45c45b:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c45e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45c461:	89 5d d8             	mov    %ebx,-0x28(%ebp)
45c464:	89 5d dc             	mov    %ebx,-0x24(%ebp)
45c467:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45c46a:	c7 45 cc fd ff ff ff 	movl   $0xfffffffd,-0x34(%ebp)
45c471:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45c474:	88 5d fb             	mov    %bl,-0x5(%ebp)
45c477:	85 f6                	test   %esi,%esi
45c479:	0f 84 04 04 00 00    	je     0x45c883
45c47f:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
45c482:	0f 84 fb 03 00 00    	je     0x45c883
45c488:	39 5d 14             	cmp    %ebx,0x14(%ebp)
45c48b:	0f 84 f2 03 00 00    	je     0x45c883
45c491:	8b ce                	mov    %esi,%ecx
45c493:	e8 e8 06 00 00       	call   0x45cb80
45c498:	84 c0                	test   %al,%al
45c49a:	75 11                	jne    0x45c4ad
45c49c:	6a 01                	push   $0x1
45c49e:	68 34 40 4b 00       	push   $0x4b4034
45c4a3:	53                   	push   %ebx
45c4a4:	6a 02                	push   $0x2
45c4a6:	8b cf                	mov    %edi,%ecx
45c4a8:	e9 e1 03 00 00       	jmp    0x45c88e
45c4ad:	8b ce                	mov    %esi,%ecx
45c4af:	e8 74 f0 fe ff       	call   0x44b528
45c4b4:	84 c0                	test   %al,%al
45c4b6:	0f 84 2d 03 00 00    	je     0x45c7e9
45c4bc:	6a 08                	push   $0x8
45c4be:	58                   	pop    %eax
45c4bf:	39 46 0c             	cmp    %eax,0xc(%esi)
45c4c2:	75 04                	jne    0x45c4c8
45c4c4:	8b 06                	mov    (%esi),%eax
45c4c6:	eb 02                	jmp    0x45c4ca
45c4c8:	8b c3                	mov    %ebx,%eax
45c4ca:	8b 70 08             	mov    0x8(%eax),%esi
45c4cd:	89 75 ec             	mov    %esi,-0x14(%ebp)
45c4d0:	85 f6                	test   %esi,%esi
45c4d2:	0f 84 9c 03 00 00    	je     0x45c874
45c4d8:	8b 55 14             	mov    0x14(%ebp),%edx
45c4db:	8d 45 f0             	lea    -0x10(%ebp),%eax
45c4de:	50                   	push   %eax
45c4df:	8b ce                	mov    %esi,%ecx
45c4e1:	89 9d fc fe ff ff    	mov    %ebx,-0x104(%ebp)
45c4e7:	e8 6f d9 fd ff       	call   0x439e5b
45c4ec:	59                   	pop    %ecx
45c4ed:	85 c0                	test   %eax,%eax
45c4ef:	79 0a                	jns    0x45c4fb
45c4f1:	6a 01                	push   $0x1
45c4f3:	53                   	push   %ebx
45c4f4:	8b cf                	mov    %edi,%ecx
45c4f6:	e9 91 03 00 00       	jmp    0x45c88c
45c4fb:	8b 4d 08             	mov    0x8(%ebp),%ecx
45c4fe:	33 c0                	xor    %eax,%eax
45c500:	40                   	inc    %eax
45c501:	89 4d 08             	mov    %ecx,0x8(%ebp)
45c504:	66 3b c8             	cmp    %ax,%cx
45c507:	75 4d                	jne    0x45c556
45c509:	8b 55 f0             	mov    -0x10(%ebp),%edx
45c50c:	c7 45 08 03 00 00 00 	movl   $0x3,0x8(%ebp)
45c513:	85 d2                	test   %edx,%edx
45c515:	74 3f                	je     0x45c556
45c517:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
45c51d:	50                   	push   %eax
45c51e:	51                   	push   %ecx
45c51f:	ff 75 14             	push   0x14(%ebp)
45c522:	8b ce                	mov    %esi,%ecx
45c524:	e8 07 d6 fd ff       	call   0x439b30
45c529:	83 c4 0c             	add    $0xc,%esp
45c52c:	85 c0                	test   %eax,%eax
45c52e:	78 26                	js     0x45c556
45c530:	f6 85 00 ff ff ff 01 	testb  $0x1,-0x100(%ebp)
45c537:	74 0d                	je     0x45c546
45c539:	66 39 9d 08 ff ff ff 	cmp    %bx,-0xf8(%ebp)
45c540:	75 04                	jne    0x45c546
45c542:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
45c546:	83 bd 00 ff ff ff 01 	cmpl   $0x1,-0x100(%ebp)
45c54d:	75 07                	jne    0x45c556
45c54f:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
45c556:	8b 75 f4             	mov    -0xc(%ebp),%esi
45c559:	6a 10                	push   $0x10
45c55b:	46                   	inc    %esi
45c55c:	33 c9                	xor    %ecx,%ecx
45c55e:	5a                   	pop    %edx
45c55f:	8b c6                	mov    %esi,%eax
45c561:	f7 e2                	mul    %edx
45c563:	0f 90 c1             	seto   %cl
45c566:	6a 04                	push   $0x4
45c568:	5a                   	pop    %edx
45c569:	f7 d9                	neg    %ecx
45c56b:	0b c8                	or     %eax,%ecx
45c56d:	33 c0                	xor    %eax,%eax
45c56f:	03 ca                	add    %edx,%ecx
45c571:	0f 92 c0             	setb   %al
45c574:	f7 d8                	neg    %eax
45c576:	0b c1                	or     %ecx,%eax
45c578:	50                   	push   %eax
45c579:	e8 f7 28 fc ff       	call   0x41ee75
45c57e:	59                   	pop    %ecx
45c57f:	85 c0                	test   %eax,%eax
45c581:	74 1d                	je     0x45c5a0
45c583:	68 69 94 43 00       	push   $0x439469
45c588:	56                   	push   %esi
45c589:	89 30                	mov    %esi,(%eax)
45c58b:	83 c0 04             	add    $0x4,%eax
45c58e:	6a 10                	push   $0x10
45c590:	5a                   	pop    %edx
45c591:	8b c8                	mov    %eax,%ecx
45c593:	89 45 14             	mov    %eax,0x14(%ebp)
45c596:	e8 d1 83 fa ff       	call   0x40496c
45c59b:	8b 4d 14             	mov    0x14(%ebp),%ecx
45c59e:	eb 05                	jmp    0x45c5a5
45c5a0:	8b cb                	mov    %ebx,%ecx
45c5a2:	89 4d 14             	mov    %ecx,0x14(%ebp)
45c5a5:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c5a8:	8b f3                	mov    %ebx,%esi
45c5aa:	85 c0                	test   %eax,%eax
45c5ac:	74 2c                	je     0x45c5da
45c5ae:	8b f8                	mov    %eax,%edi
45c5b0:	8b df                	mov    %edi,%ebx
45c5b2:	c1 e3 04             	shl    $0x4,%ebx
45c5b5:	83 c3 f0             	add    $0xfffffff0,%ebx
45c5b8:	03 d9                	add    %ecx,%ebx
45c5ba:	8b 45 18             	mov    0x18(%ebp),%eax
45c5bd:	8b cb                	mov    %ebx,%ecx
45c5bf:	8b 40 04             	mov    0x4(%eax),%eax
45c5c2:	ff 34 b0             	push   (%eax,%esi,4)
45c5c5:	e8 e5 ce fd ff       	call   0x4394af
45c5ca:	46                   	inc    %esi
45c5cb:	83 eb 10             	sub    $0x10,%ebx
45c5ce:	3b f7                	cmp    %edi,%esi
45c5d0:	72 e8                	jb     0x45c5ba
45c5d2:	8b 7d e4             	mov    -0x1c(%ebp),%edi
45c5d5:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c5d8:	33 db                	xor    %ebx,%ebx
45c5da:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
45c5e1:	0f 84 80 00 00 00    	je     0x45c667
45c5e7:	8b cb                	mov    %ebx,%ecx
45c5e9:	89 4d 10             	mov    %ecx,0x10(%ebp)
45c5ec:	85 c0                	test   %eax,%eax
45c5ee:	74 77                	je     0x45c667
45c5f0:	8b 75 14             	mov    0x14(%ebp),%esi
45c5f3:	8b 7d 18             	mov    0x18(%ebp),%edi
45c5f6:	c1 e0 04             	shl    $0x4,%eax
45c5f9:	83 c6 f0             	add    $0xfffffff0,%esi
45c5fc:	6a 02                	push   $0x2
45c5fe:	03 f0                	add    %eax,%esi
45c600:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c603:	5a                   	pop    %edx
45c604:	66 39 94 8d 0e ff ff 	cmp    %dx,-0xf2(%ebp,%ecx,4)
45c60b:	ff