40e46f:	89 48 0c             	mov    %ecx,0xc(%eax)
40e472:	89 48 1c             	mov    %ecx,0x1c(%eax)
40e475:	89 48 24             	mov    %ecx,0x24(%eax)
40e478:	89 48 10             	mov    %ecx,0x10(%eax)
40e47b:	89 48 2c             	mov    %ecx,0x2c(%eax)
40e47e:	c3                   	ret
40e47f:	56                   	push   %esi
40e480:	8b f1                	mov    %ecx,%esi
40e482:	ff 76 0c             	push   0xc(%esi)
40e485:	e8 f6 1b 03 00       	call   0x440080
40e48a:	ff 76 24             	push   0x24(%esi)
40e48d:	e8 ee 1b 03 00       	call   0x440080
40e492:	59                   	pop    %ecx
40e493:	59                   	pop    %ecx
40e494:	5e                   	pop    %esi
40e495:	c3                   	ret
40e496:	b8 08 36 48 00       	mov    $0x483608,%eax
40e49b:	e8 dc 97 00 00       	call   0x417c7c
40e4a0:	51                   	push   %ecx
40e4a1:	51                   	push   %ecx
40e4a2:	8b 45 0c             	mov    0xc(%ebp),%eax
40e4a5:	53                   	push   %ebx
40e4a6:	56                   	push   %esi
40e4a7:	8b f1                	mov    %ecx,%esi
40e4a9:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e4ac:	57                   	push   %edi
40e4ad:	8b 7d 08             	mov    0x8(%ebp),%edi
40e4b0:	89 65 f0             	mov    %esp,-0x10(%ebp)
40e4b3:	51                   	push   %ecx
40e4b4:	33 db                	xor    %ebx,%ebx
40e4b6:	53                   	push   %ebx
40e4b7:	50                   	push   %eax
40e4b8:	89 75 ec             	mov    %esi,-0x14(%ebp)
40e4bb:	89 46 08             	mov    %eax,0x8(%esi)
40e4be:	89 4e 18             	mov    %ecx,0x18(%esi)
40e4c1:	89 7e 10             	mov    %edi,0x10(%esi)
40e4c4:	89 5e 14             	mov    %ebx,0x14(%esi)
40e4c7:	e8 74 9d 00 00       	call   0x418240
40e4cc:	ff 76 0c             	push   0xc(%esi)
40e4cf:	e8 ac 1b 03 00       	call   0x440080
40e4d4:	6b ff 34             	imul   $0x34,%edi,%edi
40e4d7:	57                   	push   %edi
40e4d8:	89 5e 0c             	mov    %ebx,0xc(%esi)
40e4db:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e4de:	e8 72 1b 03 00       	call   0x440055
40e4e3:	83 c4 14             	add    $0x14,%esp
40e4e6:	89 46 0c             	mov    %eax,0xc(%esi)
40e4e9:	eb 11                	jmp    0x40e4fc
40e4eb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e4ee:	e8 26 1a 03 00       	call   0x43ff19
40e4f3:	b8 f9 e4 40 00       	mov    $0x40e4f9,%eax
40e4f8:	c3                   	ret
40e4f9:	8b 75 ec             	mov    -0x14(%ebp),%esi
40e4fc:	8b 46 0c             	mov    0xc(%esi),%eax
40e4ff:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e502:	f7 d8                	neg    %eax
40e504:	1b c0                	sbb    %eax,%eax
40e506:	5f                   	pop    %edi
40e507:	25 f2 ff f8 7f       	and    $0x7ff8fff2,%eax
40e50c:	5e                   	pop    %esi
40e50d:	05 0e 00 07 80       	add    $0x8007000e,%eax
40e512:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e519:	5b                   	pop    %ebx
40e51a:	c9                   	leave
40e51b:	c2 0c 00             	ret    $0xc
40e51e:	51                   	push   %ecx
40e51f:	ff 15 20 06 4b 00    	call   *0x4b0620
40e525:	c3                   	ret
40e526:	ff 74 24 10          	push   0x10(%esp)
40e52a:	ff 74 24 10          	push   0x10(%esp)
40e52e:	ff 74 24 10          	push   0x10(%esp)
40e532:	ff 74 24 10          	push   0x10(%esp)
40e536:	51                   	push   %ecx
40e537:	ff 15 1c 06 4b 00    	call   *0x4b061c
40e53d:	c2 10 00             	ret    $0x10
40e540:	55                   	push   %ebp
40e541:	8b ec                	mov    %esp,%ebp
40e543:	8b 45 1c             	mov    0x1c(%ebp),%eax
40e546:	33 d2                	xor    %edx,%edx
40e548:	3b c2                	cmp    %edx,%eax
40e54a:	56                   	push   %esi
40e54b:	8b f1                	mov    %ecx,%esi
40e54d:	74 05                	je     0x40e554
40e54f:	2b 46 08             	sub    0x8(%esi),%eax
40e552:	eb 02                	jmp    0x40e556
40e554:	33 c0                	xor    %eax,%eax
40e556:	8b 4d 18             	mov    0x18(%ebp),%ecx
40e559:	3b ca                	cmp    %edx,%ecx
40e55b:	74 05                	je     0x40e562
40e55d:	2b 4e 08             	sub    0x8(%esi),%ecx
40e560:	eb 02                	jmp    0x40e564
40e562:	33 c9                	xor    %ecx,%ecx
40e564:	52                   	push   %edx
40e565:	50                   	push   %eax
40e566:	8b 45 14             	mov    0x14(%ebp),%eax
40e569:	2b 46 08             	sub    0x8(%esi),%eax
40e56c:	51                   	push   %ecx
40e56d:	50                   	push   %eax
40e56e:	8b 46 14             	mov    0x14(%esi),%eax
40e571:	52                   	push   %edx
40e572:	6b c0 34             	imul   $0x34,%eax,%eax
40e575:	03 46 0c             	add    0xc(%esi),%eax
40e578:	52                   	push   %edx
40e579:	52                   	push   %edx
40e57a:	ff 75 10             	push   0x10(%ebp)
40e57d:	ff 75 0c             	push   0xc(%ebp)
40e580:	ff 75 08             	push   0x8(%ebp)
40e583:	50                   	push   %eax
40e584:	e8 25 fc ff ff       	call   0x40e1ae
40e589:	83 c4 2c             	add    $0x2c,%esp
40e58c:	ff 46 14             	incl   0x14(%esi)
40e58f:	5e                   	pop    %esi
40e590:	5d                   	pop    %ebp
40e591:	c2 18 00             	ret    $0x18
40e594:	ff 74 24 08          	push   0x8(%esp)
40e598:	ff 74 24 08          	push   0x8(%esp)
40e59c:	51                   	push   %ecx
40e59d:	ff 15 34 07 4b 00    	call   *0x4b0734
40e5a3:	c2 08 00             	ret    $0x8
40e5a6:	ff 74 24 04          	push   0x4(%esp)
40e5aa:	51                   	push   %ecx
40e5ab:	ff 15 0c 07 4b 00    	call   *0x4b070c
40e5b1:	f7 d8                	neg    %eax
40e5b3:	1b c0                	sbb    %eax,%eax
40e5b5:	40                   	inc    %eax
40e5b6:	c2 04 00             	ret    $0x4
40e5b9:	c3                   	ret
40e5ba:	b8 00 c5 48 00       	mov    $0x48c500,%eax
40e5bf:	c3                   	ret
40e5c0:	b8 1a 36 48 00       	mov    $0x48361a,%eax
40e5c5:	e8 b2 96 00 00       	call   0x417c7c
40e5ca:	83 ec 1c             	sub    $0x1c,%esp
40e5cd:	56                   	push   %esi
40e5ce:	8b f1                	mov    %ecx,%esi
40e5d0:	8b 4e 34             	mov    0x34(%esi),%ecx
40e5d3:	2b 4e 2c             	sub    0x2c(%esi),%ecx
40e5d6:	8b 46 38             	mov    0x38(%esi),%eax
40e5d9:	2b 46 30             	sub    0x30(%esi),%eax
40e5dc:	57                   	push   %edi
40e5dd:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40e5e0:	6a 00                	push   $0x0
40e5e2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40e5e5:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e5e8:	e8 11 0e 04 00       	call   0x44f3fe
40e5ed:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e5f1:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e5f4:	50                   	push   %eax
40e5f5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40e5f8:	e8 2b 17 05 00       	call   0x45fd28
40e5fd:	8b 46 4c             	mov    0x4c(%esi),%eax
40e600:	8b 08                	mov    (%eax),%ecx
40e602:	8d 55 ec             	lea    -0x14(%ebp),%edx
40e605:	52                   	push   %edx
40e606:	6a 01                	push   $0x1
40e608:	50                   	push   %eax
40e609:	ff 51 44             	call   *0x44(%ecx)
40e60c:	8b f8                	mov    %eax,%edi
40e60e:	85 ff                	test   %edi,%edi
40e610:	7c 31                	jl     0x40e643
40e612:	8b 46 4c             	mov    0x4c(%esi),%eax
40e615:	8b 08                	mov    (%eax),%ecx
40e617:	8d 55 ec             	lea    -0x14(%ebp),%edx
40e61a:	52                   	push   %edx
40e61b:	6a 01                	push   $0x1
40e61d:	50                   	push   %eax
40e61e:	ff 51 48             	call   *0x48(%ecx)
40e621:	85 c0                	test   %eax,%eax
40e623:	7c 1e                	jl     0x40e643
40e625:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e628:	50                   	push   %eax
40e629:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40e62c:	e8 85 17 05 00       	call   0x45fdb6
40e631:	8b 46 2c             	mov    0x2c(%esi),%eax
40e634:	03 45 ec             	add    -0x14(%ebp),%eax
40e637:	89 46 34             	mov    %eax,0x34(%esi)
40e63a:	8b 46 30             	mov    0x30(%esi),%eax
40e63d:	03 45 f0             	add    -0x10(%ebp),%eax
40e640:	89 46 38             	mov    %eax,0x38(%esi)
40e643:	33 c0                	xor    %eax,%eax
40e645:	85 ff                	test   %edi,%edi
40e647:	0f 9d c0             	setge  %al
40e64a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40e64e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40e651:	8b f0                	mov    %eax,%esi
40e653:	e8 01 0e 04 00       	call   0x44f459
40e658:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e65b:	5f                   	pop    %edi
40e65c:	8b c6                	mov    %esi,%eax
40e65e:	5e                   	pop    %esi
40e65f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e666:	c9                   	leave
40e667:	c3                   	ret
40e668:	55                   	push   %ebp
40e669:	8b ec                	mov    %esp,%ebp
40e66b:	83 ec 20             	sub    $0x20,%esp
40e66e:	56                   	push   %esi
40e66f:	ff 75 18             	push   0x18(%ebp)
40e672:	8d 45 e0             	lea    -0x20(%ebp),%eax
40e675:	50                   	push   %eax
40e676:	8b f1                	mov    %ecx,%esi
40e678:	ff 15 44 07 4b 00    	call   *0x4b0744
40e67e:	ff 75 28             	push   0x28(%ebp)
40e681:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40e684:	ff 75 24             	push   0x24(%ebp)
40e687:	8b 45 e8             	mov    -0x18(%ebp),%eax
40e68a:	ff 75 20             	push   0x20(%ebp)
40e68d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40e690:	ff 75 1c             	push   0x1c(%ebp)
40e693:	2b c1                	sub    %ecx,%eax
40e695:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40e698:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40e69b:	2b ca                	sub    %edx,%ecx
40e69d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e6a0:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40e6a3:	51                   	push   %ecx
40e6a4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40e6a7:	51                   	push   %ecx
40e6a8:	ff 75 14             	push   0x14(%ebp)
40e6ab:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e6ae:	ff 75 10             	push   0x10(%ebp)
40e6b1:	8b 06                	mov    (%esi),%eax
40e6b3:	ff 75 0c             	push   0xc(%ebp)
40e6b6:	8b ce                	mov    %esi,%ecx
40e6b8:	ff 75 08             	push   0x8(%ebp)
40e6bb:	89 55 f4             	mov    %edx,-0xc(%ebp)
40e6be:	ff 50 50             	call   *0x50(%eax)
40e6c1:	5e                   	pop    %esi
40e6c2:	c9                   	leave
40e6c3:	c2 24 00             	ret    $0x24
40e6c6:	56                   	push   %esi
40e6c7:	8b 74 24 08          	mov    0x8(%esp),%esi
40e6cb:	85 f6                	test   %esi,%esi
40e6cd:	75 04                	jne    0x40e6d3
40e6cf:	33 c0                	xor    %eax,%eax
40e6d1:	eb 20                	jmp    0x40e6f3
40e6d3:	57                   	push   %edi
40e6d4:	8b 7c 24 10          	mov    0x10(%esp),%edi
40e6d8:	85 ff                	test   %edi,%edi
40e6da:	74 06                	je     0x40e6e2
40e6dc:	8b 07                	mov    (%edi),%eax
40e6de:	57                   	push   %edi
40e6df:	ff 50 04             	call   *0x4(%eax)
40e6e2:	8b 06                	mov    (%esi),%eax
40e6e4:	85 c0                	test   %eax,%eax
40e6e6:	74 06                	je     0x40e6ee
40e6e8:	8b 08                	mov    (%eax),%ecx
40e6ea:	50                   	push   %eax
40e6eb:	ff 51 08             	call   *0x8(%ecx)
40e6ee:	89 3e                	mov    %edi,(%esi)
40e6f0:	8b c7                	mov    %edi,%eax
40e6f2:	5f                   	pop    %edi
40e6f3:	5e                   	pop    %esi
40e6f4:	c2 08 00             	ret    $0x8
40e6f7:	55                   	push   %ebp
40e6f8:	8b ec                	mov    %esp,%ebp
40e6fa:	51                   	push   %ecx
40e6fb:	56                   	push   %esi
40e6fc:	57                   	push   %edi
40e6fd:	33 ff                	xor    %edi,%edi
40e6ff:	39 7d 1c             	cmp    %edi,0x1c(%ebp)
40e702:	75 38                	jne    0x40e73c
40e704:	8d 45 1c             	lea    0x1c(%ebp),%eax
40e707:	50                   	push   %eax
40e708:	68 fc 5c 49 00       	push   $0x495cfc
40e70d:	57                   	push   %edi
40e70e:	ff 75 10             	push   0x10(%ebp)
40e711:	89 7d 1c             	mov    %edi,0x1c(%ebp)
40e714:	ff 75 08             	push   0x8(%ebp)
40e717:	ff 15 38 0b 4b 00    	call   *0x4b0b38
40e71d:	8b f0                	mov    %eax,%esi
40e71f:	3b f7                	cmp    %edi,%esi
40e721:	7c 59                	jl     0x40e77c
40e723:	ff 75 18             	push   0x18(%ebp)
40e726:	8b 45 1c             	mov    0x1c(%ebp),%eax
40e729:	ff 75 14             	push   0x14(%ebp)
40e72c:	8b 08                	mov    (%eax),%ecx
40e72e:	ff 75 0c             	push   0xc(%ebp)
40e731:	50                   	push   %eax
40e732:	ff 51 0c             	call   *0xc(%ecx)
40e735:	8b f0                	mov    %eax,%esi
40e737:	8b 45 1c             	mov    0x1c(%ebp),%eax
40e73a:	eb 3a                	jmp    0x40e776
40e73c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e73f:	50                   	push   %eax
40e740:	68 dc 64 49 00       	push   $0x4964dc
40e745:	57                   	push   %edi
40e746:	ff 75 10             	push   0x10(%ebp)
40e749:	89 7d fc             	mov    %edi,-0x4(%ebp)
40e74c:	ff 75 08             	push   0x8(%ebp)
40e74f:	ff 15 38 0b 4b 00    	call   *0x4b0b38
40e755:	8b f0                	mov    %eax,%esi
40e757:	3b f7                	cmp    %edi,%esi
40e759:	7c 21                	jl     0x40e77c
40e75b:	ff 75 18             	push   0x18(%ebp)
40e75e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e761:	ff 75 1c             	push   0x1c(%ebp)
40e764:	8b 08                	mov    (%eax),%ecx
40e766:	ff 75 14             	push   0x14(%ebp)
40e769:	57                   	push   %edi
40e76a:	ff 75 0c             	push   0xc(%ebp)
40e76d:	50                   	push   %eax
40e76e:	ff 51 1c             	call   *0x1c(%ecx)
40e771:	8b f0                	mov    %eax,%esi
40e773:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e776:	8b 08                	mov    (%eax),%ecx
40e778:	50                   	push   %eax
40e779:	ff 51 08             	call   *0x8(%ecx)
40e77c:	5f                   	pop    %edi
40e77d:	8b c6                	mov    %esi,%eax
40e77f:	5e                   	pop    %esi
40e780:	c9                   	leave
40e781:	c2 18 00             	ret    $0x18
40e784:	8b 41 4c             	mov    0x4c(%ecx),%eax
40e787:	8b 10                	mov    (%eax),%edx
40e789:	56                   	push   %esi
40e78a:	8d 71 2c             	lea    0x2c(%ecx),%esi
40e78d:	56                   	push   %esi
40e78e:	8b 71 1c             	mov    0x1c(%ecx),%esi
40e791:	8b 76 1c             	mov    0x1c(%esi),%esi
40e794:	ff 76 1c             	push   0x1c(%esi)
40e797:	81 c1 c4 00 00 00    	add    $0xc4,%ecx
40e79d:	6a 00                	push   $0x0
40e79f:	51                   	push   %ecx
40e7a0:	ff 74 24 1c          	push   0x1c(%esp)
40e7a4:	ff 74 24 1c          	push   0x1c(%esp)
40e7a8:	50                   	push   %eax
40e7a9:	ff 52 2c             	call   *0x2c(%edx)
40e7ac:	5e                   	pop    %esi
40e7ad:	c2 08 00             	ret    $0x8
40e7b0:	f6 41 6d 10          	testb  $0x10,0x6d(%ecx)
40e7b4:	74 08                	je     0x40e7be
40e7b6:	33 c0                	xor    %eax,%eax
40e7b8:	40                   	inc    %eax
40e7b9:	84 41 68             	test   %al,0x68(%ecx)
40e7bc:	75 02                	jne    0x40e7c0
40e7be:	33 c0                	xor    %eax,%eax
40e7c0:	c3                   	ret
40e7c1:	f6 41 6d 10          	testb  $0x10,0x6d(%ecx)
40e7c5:	74 10                	je     0x40e7d7
40e7c7:	8b 41 68             	mov    0x68(%ecx),%eax
40e7ca:	24 01                	and    $0x1,%al
40e7cc:	f6 d8                	neg    %al
40e7ce:	1b c0                	sbb    %eax,%eax
40e7d0:	83 e0 f0             	and    $0xfffffff0,%eax
40e7d3:	83 c0 20             	add    $0x20,%eax
40e7d6:	c3                   	ret
40e7d7:	33 c0                	xor    %eax,%eax
40e7d9:	c3                   	ret
40e7da:	55                   	push   %ebp
40e7db:	8b ec                	mov    %esp,%ebp