40953a:	8b f1                	mov    %ecx,%esi
40953c:	74 03                	je     0x409541
40953e:	8b 40 04             	mov    0x4(%eax),%eax
409541:	50                   	push   %eax
409542:	ff 15 f4 ff 4a 00    	call   *0x4afff4
409548:	50                   	push   %eax
409549:	8b ce                	mov    %esi,%ecx
40954b:	e8 14 61 04 00       	call   0x44f664
409550:	5e                   	pop    %esi
409551:	c2 04 00             	ret    $0x4
409554:	55                   	push   %ebp
409555:	8b ec                	mov    %esp,%ebp
409557:	56                   	push   %esi
409558:	ff 75 18             	push   0x18(%ebp)
40955b:	8b f1                	mov    %ecx,%esi
40955d:	ff 75 14             	push   0x14(%ebp)
409560:	ff 75 10             	push   0x10(%ebp)
409563:	ff 75 0c             	push   0xc(%ebp)
409566:	ff 75 08             	push   0x8(%ebp)
409569:	ff 15 a8 00 4b 00    	call   *0x4b00a8
40956f:	50                   	push   %eax
409570:	8b ce                	mov    %esi,%ecx
409572:	e8 ed 60 04 00       	call   0x44f664
409577:	5e                   	pop    %esi
409578:	5d                   	pop    %ebp
409579:	c2 14 00             	ret    $0x14
40957c:	56                   	push   %esi
40957d:	8b f1                	mov    %ecx,%esi
40957f:	e8 14 00 00 00       	call   0x409598
409584:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
409589:	74 07                	je     0x409592
40958b:	56                   	push   %esi
40958c:	e8 ef 6a 03 00       	call   0x440080
409591:	59                   	pop    %ecx
409592:	8b c6                	mov    %esi,%eax
409594:	5e                   	pop    %esi
409595:	c2 04 00             	ret    $0x4
409598:	c7 01 70 b6 48 00    	movl   $0x48b670,(%ecx)
40959e:	e9 18 61 04 00       	jmp    0x44f6bb
4095a3:	56                   	push   %esi
4095a4:	8b f1                	mov    %ecx,%esi
4095a6:	e8 7d ff ff ff       	call   0x409528
4095ab:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4095b0:	74 07                	je     0x4095b9
4095b2:	56                   	push   %esi
4095b3:	e8 c8 6a 03 00       	call   0x440080
4095b8:	59                   	pop    %ecx
4095b9:	8b c6                	mov    %esi,%eax
4095bb:	5e                   	pop    %esi
4095bc:	c2 04 00             	ret    $0x4
4095bf:	53                   	push   %ebx
4095c0:	8b 5c 24 08          	mov    0x8(%esp),%ebx
4095c4:	85 db                	test   %ebx,%ebx
4095c6:	75 04                	jne    0x4095cc
4095c8:	33 c0                	xor    %eax,%eax
4095ca:	5b                   	pop    %ebx
4095cb:	c3                   	ret
4095cc:	56                   	push   %esi
4095cd:	57                   	push   %edi
4095ce:	53                   	push   %ebx
4095cf:	ff 15 88 03 4b 00    	call   *0x4b0388
4095d5:	8b f0                	mov    %eax,%esi
4095d7:	46                   	inc    %esi
4095d8:	8d 04 36             	lea    (%esi,%esi,1),%eax
4095db:	50                   	push   %eax
4095dc:	ff 15 18 0b 4b 00    	call   *0x4b0b18
4095e2:	8b f8                	mov    %eax,%edi
4095e4:	85 ff                	test   %edi,%edi
4095e6:	74 1c                	je     0x409604
4095e8:	56                   	push   %esi
4095e9:	57                   	push   %edi
4095ea:	6a ff                	push   $0xffffffff
4095ec:	53                   	push   %ebx
4095ed:	6a 00                	push   $0x0
4095ef:	6a 00                	push   $0x0
4095f1:	ff 15 a4 03 4b 00    	call   *0x4b03a4
4095f7:	85 c0                	test   %eax,%eax
4095f9:	75 09                	jne    0x409604
4095fb:	57                   	push   %edi
4095fc:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
409602:	33 ff                	xor    %edi,%edi
409604:	8b c7                	mov    %edi,%eax
409606:	5f                   	pop    %edi
409607:	5e                   	pop    %esi
409608:	5b                   	pop    %ebx
409609:	c3                   	ret
40960a:	53                   	push   %ebx
40960b:	8b 5c 24 08          	mov    0x8(%esp),%ebx
40960f:	85 db                	test   %ebx,%ebx
409611:	75 04                	jne    0x409617
409613:	33 c0                	xor    %eax,%eax
409615:	5b                   	pop    %ebx
409616:	c3                   	ret
409617:	56                   	push   %esi
409618:	57                   	push   %edi
409619:	53                   	push   %ebx
40961a:	e8 a9 ee 00 00       	call   0x4184c8
40961f:	59                   	pop    %ecx
409620:	8d 7c 00 02          	lea    0x2(%eax,%eax,1),%edi
409624:	57                   	push   %edi
409625:	ff 15 18 0b 4b 00    	call   *0x4b0b18
40962b:	8b f0                	mov    %eax,%esi
40962d:	85 f6                	test   %esi,%esi
40962f:	74 20                	je     0x409651
409631:	6a 00                	push   $0x0
409633:	6a 00                	push   $0x0
409635:	57                   	push   %edi
409636:	56                   	push   %esi
409637:	6a ff                	push   $0xffffffff
409639:	53                   	push   %ebx
40963a:	6a 00                	push   $0x0
40963c:	6a 00                	push   $0x0
40963e:	ff 15 a0 03 4b 00    	call   *0x4b03a0
409644:	85 c0                	test   %eax,%eax
409646:	75 09                	jne    0x409651
409648:	56                   	push   %esi
409649:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
40964f:	33 f6                	xor    %esi,%esi
409651:	5f                   	pop    %edi
409652:	8b c6                	mov    %esi,%eax
409654:	5e                   	pop    %esi
409655:	5b                   	pop    %ebx
409656:	c3                   	ret
409657:	e9 5b df ff ff       	jmp    0x4075b7
40965c:	83 c1 04             	add    $0x4,%ecx
40965f:	51                   	push   %ecx
409660:	ff 15 a4 02 4b 00    	call   *0x4b02a4
409666:	c3                   	ret
409667:	c3                   	ret
409668:	8b 41 04             	mov    0x4(%ecx),%eax
40966b:	03 44 24 04          	add    0x4(%esp),%eax
40966f:	c2 04 00             	ret    $0x4
409672:	8b 44 24 08          	mov    0x8(%esp),%eax
409676:	c2 08 00             	ret    $0x8
409679:	56                   	push   %esi
40967a:	8b f1                	mov    %ecx,%esi
40967c:	8b 46 04             	mov    0x4(%esi),%eax
40967f:	85 c0                	test   %eax,%eax
409681:	74 0b                	je     0x40968e
409683:	50                   	push   %eax
409684:	e8 f7 69 03 00       	call   0x440080
409689:	83 66 04 00          	andl   $0x0,0x4(%esi)
40968d:	59                   	pop    %ecx
40968e:	8b 46 08             	mov    0x8(%esi),%eax
409691:	85 c0                	test   %eax,%eax
409693:	74 0b                	je     0x4096a0
409695:	50                   	push   %eax
409696:	e8 e5 69 03 00       	call   0x440080
40969b:	83 66 08 00          	andl   $0x0,0x8(%esi)
40969f:	59                   	pop    %ecx
4096a0:	8b 46 0c             	mov    0xc(%esi),%eax
4096a3:	85 c0                	test   %eax,%eax
4096a5:	74 10                	je     0x4096b7
4096a7:	83 f8 ff             	cmp    $0xffffffff,%eax
4096aa:	74 0b                	je     0x4096b7
4096ac:	8b 06                	mov    (%esi),%eax
4096ae:	8b ce                	mov    %esi,%ecx
4096b0:	ff 50 48             	call   *0x48(%eax)
4096b3:	83 66 0c 00          	andl   $0x0,0xc(%esi)
4096b7:	5e                   	pop    %esi
4096b8:	c3                   	ret
4096b9:	ff 71 0c             	push   0xc(%ecx)
4096bc:	ff 15 84 02 4b 00    	call   *0x4b0284
4096c2:	c3                   	ret
4096c3:	8b 41 04             	mov    0x4(%ecx),%eax
4096c6:	85 c0                	test   %eax,%eax
4096c8:	74 0e                	je     0x4096d8
4096ca:	8b 00                	mov    (%eax),%eax
4096cc:	23 44 24 04          	and    0x4(%esp),%eax
4096d0:	f7 d8                	neg    %eax
4096d2:	1b c0                	sbb    %eax,%eax
4096d4:	f7 d8                	neg    %eax
4096d6:	eb 02                	jmp    0x4096da
4096d8:	33 c0                	xor    %eax,%eax
4096da:	c2 04 00             	ret    $0x4
4096dd:	8b 41 04             	mov    0x4(%ecx),%eax
4096e0:	85 c0                	test   %eax,%eax
4096e2:	74 18                	je     0x4096fc
4096e4:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4096e8:	85 c9                	test   %ecx,%ecx
4096ea:	74 10                	je     0x4096fc
4096ec:	8b 50 0c             	mov    0xc(%eax),%edx
4096ef:	89 11                	mov    %edx,(%ecx)
4096f1:	8b 40 10             	mov    0x10(%eax),%eax
4096f4:	89 41 04             	mov    %eax,0x4(%ecx)
4096f7:	33 c0                	xor    %eax,%eax
4096f9:	40                   	inc    %eax
4096fa:	eb 02                	jmp    0x4096fe
4096fc:	33 c0                	xor    %eax,%eax
4096fe:	c2 04 00             	ret    $0x4
409701:	8b 41 04             	mov    0x4(%ecx),%eax
409704:	85 c0                	test   %eax,%eax
409706:	74 18                	je     0x409720
409708:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40970c:	85 c9                	test   %ecx,%ecx
40970e:	74 10                	je     0x409720
409710:	8b 50 14             	mov    0x14(%eax),%edx
409713:	89 11                	mov    %edx,(%ecx)
409715:	8b 40 18             	mov    0x18(%eax),%eax
409718:	89 41 04             	mov    %eax,0x4(%ecx)
40971b:	33 c0                	xor    %eax,%eax
40971d:	40                   	inc    %eax
40971e:	eb 02                	jmp    0x409722
409720:	33 c0                	xor    %eax,%eax
409722:	c2 04 00             	ret    $0x4
409725:	8b 41 04             	mov    0x4(%ecx),%eax
409728:	85 c0                	test   %eax,%eax
40972a:	74 18                	je     0x409744
40972c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
409730:	85 c9                	test   %ecx,%ecx
409732:	74 10                	je     0x409744
409734:	8b 50 04             	mov    0x4(%eax),%edx
409737:	89 11                	mov    %edx,(%ecx)
409739:	8b 40 08             	mov    0x8(%eax),%eax
40973c:	89 41 04             	mov    %eax,0x4(%ecx)
40973f:	33 c0                	xor    %eax,%eax
409741:	40                   	inc    %eax
409742:	eb 02                	jmp    0x409746
409744:	33 c0                	xor    %eax,%eax
409746:	c2 04 00             	ret    $0x4
409749:	56                   	push   %esi
40974a:	8b f1                	mov    %ecx,%esi
40974c:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
409750:	75 04                	jne    0x409756
409752:	33 c0                	xor    %eax,%eax
409754:	5e                   	pop    %esi
409755:	c3                   	ret
409756:	57                   	push   %edi
409757:	8d 7e 04             	lea    0x4(%esi),%edi
40975a:	83 3f 00             	cmpl   $0x0,(%edi)
40975d:	75 0d                	jne    0x40976c
40975f:	68 40 01 00 00       	push   $0x140
409764:	e8 ec 68 03 00       	call   0x440055
409769:	59                   	pop    %ecx
40976a:	89 07                	mov    %eax,(%edi)
40976c:	8b 07                	mov    (%edi),%eax
40976e:	8b 4e 08             	mov    0x8(%esi),%ecx
409771:	50                   	push   %eax
409772:	ff 76 0c             	push   0xc(%esi)
409775:	89 0f                	mov    %ecx,(%edi)
409777:	89 46 08             	mov    %eax,0x8(%esi)
40977a:	ff 15 80 02 4b 00    	call   *0x4b0280
409780:	5f                   	pop    %edi
409781:	5e                   	pop    %esi
409782:	c3                   	ret
409783:	33 c0                	xor    %eax,%eax
409785:	39 41 04             	cmp    %eax,0x4(%ecx)
409788:	74 0b                	je     0x409795
40978a:	8b 49 04             	mov    0x4(%ecx),%ecx
40978d:	8b 41 20             	mov    0x20(%ecx),%eax
409790:	8b 49 1c             	mov    0x1c(%ecx),%ecx
409793:	eb 02                	jmp    0x409797
409795:	33 c9                	xor    %ecx,%ecx
409797:	8b d1                	mov    %ecx,%edx
409799:	c3                   	ret
40979a:	e9 05 f4 00 00       	jmp    0x418ba4
40979f:	8b 01                	mov    (%ecx),%eax
4097a1:	6a 10                	push   $0x10
4097a3:	ff 50 38             	call   *0x38(%eax)
4097a6:	c3                   	ret
4097a7:	55                   	push   %ebp
4097a8:	8b ec                	mov    %esp,%ebp
4097aa:	51                   	push   %ecx
4097ab:	51                   	push   %ecx
4097ac:	8b 41 04             	mov    0x4(%ecx),%eax
4097af:	85 c0                	test   %eax,%eax
4097b1:	74 20                	je     0x4097d3
4097b3:	6a ff                	push   $0xffffffff
4097b5:	83 c0 0c             	add    $0xc,%eax
4097b8:	50                   	push   %eax
4097b9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4097bc:	e8 94 d0 ff ff       	call   0x406855
4097c1:	8b 10                	mov    (%eax),%edx
4097c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4097c6:	89 11                	mov    %edx,(%ecx)
4097c8:	8b 40 04             	mov    0x4(%eax),%eax
4097cb:	89 41 04             	mov    %eax,0x4(%ecx)
4097ce:	33 c0                	xor    %eax,%eax
4097d0:	40                   	inc    %eax
4097d1:	eb 02                	jmp    0x4097d5
4097d3:	33 c0                	xor    %eax,%eax
4097d5:	c9                   	leave
4097d6:	c2 04 00             	ret    $0x4
4097d9:	55                   	push   %ebp
4097da:	8b ec                	mov    %esp,%ebp
4097dc:	51                   	push   %ecx
4097dd:	51                   	push   %ecx
4097de:	8b 41 04             	mov    0x4(%ecx),%eax
4097e1:	85 c0                	test   %eax,%eax
4097e3:	74 20                	je     0x409805
4097e5:	6a ff                	push   $0xffffffff
4097e7:	83 c0 14             	add    $0x14,%eax
4097ea:	50                   	push   %eax
4097eb:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4097ee:	e8 62 d0 ff ff       	call   0x406855
4097f3:	8b 10                	mov    (%eax),%edx
4097f5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4097f8:	89 11                	mov    %edx,(%ecx)
4097fa:	8b 40 04             	mov    0x4(%eax),%eax
4097fd:	89 41 04             	mov    %eax,0x4(%ecx)
409800:	33 c0                	xor    %eax,%eax
409802:	40                   	inc    %eax
409803:	eb 02                	jmp    0x409807
409805:	33 c0                	xor    %eax,%eax
409807:	c9                   	leave
409808:	c2 04 00             	ret    $0x4
40980b:	55                   	push   %ebp
40980c:	8b ec                	mov    %esp,%ebp
40980e:	51                   	push   %ecx
40980f:	51                   	push   %ecx
409810:	8b 41 04             	mov    0x4(%ecx),%eax
409813:	85 c0                	test   %eax,%eax
409815:	74 20                	je     0x409837
409817:	6a ff                	push   $0xffffffff
409819:	83 c0 04             	add    $0x4,%eax
40981c:	50                   	push   %eax
40981d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
409820:	e8 30 d0 ff ff       	call   0x406855
409825:	8b 10                	mov    (%eax),%edx
409827:	8b 4d 08             	mov    0x8(%ebp),%ecx
40982a:	89 11                	mov    %edx,(%ecx)
40982c:	8b 40 04             	mov    0x4(%eax),%eax
40982f:	89 41 04             	mov    %eax,0x4(%ecx)
409832:	33 c0                	xor    %eax,%eax
409834:	40                   	inc    %eax
409835:	eb 02                	jmp    0x409839
409837:	33 c0                	xor    %eax,%eax
409839:	c9                   	leave
40983a:	c2 04 00             	ret    $0x4
40983d:	56                   	push   %esi
40983e:	57                   	push   %edi
40983f:	8b f1                	mov    %ecx,%esi
409841:	33 ff                	xor    %edi,%edi
409843:	39 7e 04             	cmp    %edi,0x4(%esi)
409846:	74 29                	je     0x409871
409848:	8b 06                	mov    (%esi),%eax
40984a:	6a 10                	push   $0x10
40984c:	ff 50 38             	call   *0x38(%eax)
40984f:	85 c0                	test   %eax,%eax
409851:	74 1e                	je     0x409871
409853:	8b 46 04             	mov    0x4(%esi),%eax
409856:	80 78 2c 2e          	cmpb   $0x2e,0x2c(%eax)
40985a:	75 15                	jne    0x409871
40985c:	8a 48 2d             	mov    0x2d(%eax),%cl
40985f:	84 c9                	test   %cl,%cl
409861:	74 0b                	je     0x40986e
409863:	80 f9 2e             	cmp    $0x2e,%cl
409866:	75 09                	jne    0x409871
409868:	80 78 2e 00          	cmpb   $0x0,0x2e(%eax)
40986c:	75 03                	jne    0x409871