4405da:	50                   	push   %eax
4405db:	ff 37                	push   (%edi)
4405dd:	ff 15 fc d3 48 00    	call   *0x48d3fc
4405e3:	85 c0                	test   %eax,%eax
4405e5:	78 09                	js     0x4405f0
4405e7:	c7 46 14 02 00 00 00 	movl   $0x2,0x14(%esi)
4405ee:	eb 5a                	jmp    0x44064a
4405f0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4405f3:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4405f6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4405f9:	e8 17 ff ff ff       	call   0x440515
4405fe:	84 c0                	test   %al,%al
440600:	74 21                	je     0x440623
440602:	53                   	push   %ebx
440603:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
440609:	50                   	push   %eax
44060a:	ff 37                	push   (%edi)
44060c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44060f:	e8 74 fd ff ff       	call   0x440388
440614:	ff d0                	call   *%eax
440616:	85 c0                	test   %eax,%eax
440618:	78 09                	js     0x440623
44061a:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
440621:	eb 07                	jmp    0x44062a
440623:	c7 46 04 1c 80 02 80 	movl   $0x8002801c,0x4(%esi)
44062a:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
44062d:	74 1b                	je     0x44064a
44062f:	ff 75 f4             	push   -0xc(%ebp)
440632:	ff 15 88 d1 48 00    	call   *0x48d188
440638:	eb 10                	jmp    0x44064a
44063a:	c7 46 04 4a 9c 02 80 	movl   $0x80029c4a,0x4(%esi)
440641:	eb 07                	jmp    0x44064a
440643:	c7 46 04 05 40 00 80 	movl   $0x80004005,0x4(%esi)
44064a:	8b 46 04             	mov    0x4(%esi),%eax
44064d:	5f                   	pop    %edi
44064e:	5e                   	pop    %esi
44064f:	5b                   	pop    %ebx
440650:	c9                   	leave
440651:	c3                   	ret
440652:	55                   	push   %ebp
440653:	8b ec                	mov    %esp,%ebp
440655:	8b 45 08             	mov    0x8(%ebp),%eax
440658:	8b 48 08             	mov    0x8(%eax),%ecx
44065b:	85 c9                	test   %ecx,%ecx
44065d:	74 0d                	je     0x44066c
44065f:	ff 75 10             	push   0x10(%ebp)
440662:	8b 01                	mov    (%ecx),%eax
440664:	ff 75 0c             	push   0xc(%ebp)
440667:	51                   	push   %ecx
440668:	ff 10                	call   *(%eax)
44066a:	eb 05                	jmp    0x440671
44066c:	b8 01 40 00 80       	mov    $0x80004001,%eax
440671:	5d                   	pop    %ebp
440672:	c2 0c 00             	ret    $0xc
440675:	55                   	push   %ebp
440676:	8b ec                	mov    %esp,%ebp
440678:	56                   	push   %esi
440679:	8b 75 08             	mov    0x8(%ebp),%esi
44067c:	8d 46 38             	lea    0x38(%esi),%eax
44067f:	50                   	push   %eax
440680:	ff 15 30 d3 48 00    	call   *0x48d330
440686:	85 c0                	test   %eax,%eax
440688:	75 0e                	jne    0x440698
44068a:	85 f6                	test   %esi,%esi
44068c:	74 08                	je     0x440696
44068e:	51                   	push   %ecx
44068f:	8b ce                	mov    %esi,%ecx
440691:	e8 22 fd ff ff       	call   0x4403b8
440696:	33 c0                	xor    %eax,%eax
440698:	5e                   	pop    %esi
440699:	5d                   	pop    %ebp
44069a:	c2 04 00             	ret    $0x4
44069d:	55                   	push   %ebp
44069e:	8b ec                	mov    %esp,%ebp
4406a0:	83 ec 10             	sub    $0x10,%esp
4406a3:	56                   	push   %esi
4406a4:	8b f1                	mov    %ecx,%esi
4406a6:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
4406aa:	0f 84 86 00 00 00    	je     0x440736
4406b0:	8b 46 0c             	mov    0xc(%esi),%eax
4406b3:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4406b6:	8b 10                	mov    (%eax),%edx
4406b8:	51                   	push   %ecx
4406b9:	50                   	push   %eax
4406ba:	ff 52 1c             	call   *0x1c(%edx)
4406bd:	85 c0                	test   %eax,%eax
4406bf:	78 75                	js     0x440736
4406c1:	83 7e 14 01          	cmpl   $0x1,0x14(%esi)
4406c5:	75 43                	jne    0x44070a
4406c7:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4406cb:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4406cf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4406d2:	e8 50 fe ff ff       	call   0x440527
4406d7:	84 c0                	test   %al,%al
4406d9:	74 1e                	je     0x4406f9
4406db:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4406de:	ff 71 14             	push   0x14(%ecx)
4406e1:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
4406e5:	ff 71 10             	push   0x10(%ecx)
4406e8:	50                   	push   %eax
4406e9:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
4406ed:	50                   	push   %eax
4406ee:	51                   	push   %ecx
4406ef:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4406f2:	e8 a9 fc ff ff       	call   0x4403a0
4406f7:	ff d0                	call   *%eax
4406f9:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4406fd:	74 2b                	je     0x44072a
4406ff:	ff 75 f0             	push   -0x10(%ebp)
440702:	ff 15 88 d1 48 00    	call   *0x48d188
440708:	eb 20                	jmp    0x44072a
44070a:	83 7e 14 02          	cmpl   $0x2,0x14(%esi)
44070e:	75 1a                	jne    0x44072a
440710:	8b 4d fc             	mov    -0x4(%ebp),%ecx
440713:	ff 71 14             	push   0x14(%ecx)
440716:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
44071a:	ff 71 10             	push   0x10(%ecx)
44071d:	50                   	push   %eax
44071e:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
440722:	50                   	push   %eax
440723:	51                   	push   %ecx
440724:	ff 15 24 d4 48 00    	call   *0x48d424
44072a:	8b 46 0c             	mov    0xc(%esi),%eax
44072d:	ff 75 fc             	push   -0x4(%ebp)
440730:	8b 08                	mov    (%eax),%ecx
440732:	50                   	push   %eax
440733:	ff 51 30             	call   *0x30(%ecx)
440736:	5e                   	pop    %esi
440737:	c9                   	leave
440738:	c3                   	ret
440739:	55                   	push   %ebp
44073a:	8b ec                	mov    %esp,%ebp
44073c:	51                   	push   %ecx
44073d:	8b 45 10             	mov    0x10(%ebp),%eax
440740:	53                   	push   %ebx
440741:	56                   	push   %esi
440742:	33 db                	xor    %ebx,%ebx
440744:	57                   	push   %edi
440745:	8b f9                	mov    %ecx,%edi
440747:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44074a:	8d 77 1c             	lea    0x1c(%edi),%esi
44074d:	c7 07 4c 32 4b 00    	movl   $0x4b324c,(%edi)
440753:	89 5f 08             	mov    %ebx,0x8(%edi)
440756:	89 5f 0c             	mov    %ebx,0xc(%edi)
440759:	89 5f 10             	mov    %ebx,0x10(%edi)
44075c:	89 5f 14             	mov    %ebx,0x14(%edi)
44075f:	89 5f 18             	mov    %ebx,0x18(%edi)
440762:	89 1e                	mov    %ebx,(%esi)
440764:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
44076b:	89 47 24             	mov    %eax,0x24(%edi)
44076e:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
440771:	74 64                	je     0x4407d7
440773:	ff 75 0c             	push   0xc(%ebp)
440776:	e8 4f 0c 00 00       	call   0x4413ca
44077b:	56                   	push   %esi
44077c:	68 00 08 00 00       	push   $0x800
440781:	ff 77 10             	push   0x10(%edi)
440784:	ff 15 50 d4 48 00    	call   *0x48d450
44078a:	85 c0                	test   %eax,%eax
44078c:	78 49                	js     0x4407d7
44078e:	39 1e                	cmp    %ebx,(%esi)
440790:	74 45                	je     0x4407d7
440792:	8b cf                	mov    %edi,%ecx
440794:	e8 1c 0b 00 00       	call   0x4412b5
440799:	8d 45 0c             	lea    0xc(%ebp),%eax
44079c:	50                   	push   %eax
44079d:	ff 36                	push   (%esi)
44079f:	8b 75 08             	mov    0x8(%ebp),%esi
4407a2:	56                   	push   %esi
4407a3:	53                   	push   %ebx
4407a4:	ff 15 54 d4 48 00    	call   *0x48d454
4407aa:	85 c0                	test   %eax,%eax
4407ac:	78 29                	js     0x4407d7
4407ae:	8b 45 0c             	mov    0xc(%ebp),%eax
4407b1:	8d 55 fc             	lea    -0x4(%ebp),%edx
4407b4:	52                   	push   %edx
4407b5:	89 77 14             	mov    %esi,0x14(%edi)
4407b8:	8b 08                	mov    (%eax),%ecx
4407ba:	68 1c d9 48 00       	push   $0x48d91c
4407bf:	50                   	push   %eax
4407c0:	ff 11                	call   *(%ecx)
4407c2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4407c5:	51                   	push   %ecx
4407c6:	8b 11                	mov    (%ecx),%edx
4407c8:	8b f0                	mov    %eax,%esi
4407ca:	ff 52 08             	call   *0x8(%edx)
4407cd:	85 f6                	test   %esi,%esi
4407cf:	78 06                	js     0x4407d7
4407d1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4407d4:	89 47 18             	mov    %eax,0x18(%edi)
4407d7:	8b c7                	mov    %edi,%eax
4407d9:	5f                   	pop    %edi
4407da:	5e                   	pop    %esi
4407db:	5b                   	pop    %ebx
4407dc:	c9                   	leave
4407dd:	c2 0c 00             	ret    $0xc
4407e0:	56                   	push   %esi
4407e1:	8b f1                	mov    %ecx,%esi
4407e3:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4407e7:	c7 06 4c 32 4b 00    	movl   $0x4b324c,(%esi)
4407ed:	74 44                	je     0x440833
4407ef:	8b 46 10             	mov    0x10(%esi),%eax
4407f2:	57                   	push   %edi
4407f3:	33 ff                	xor    %edi,%edi
4407f5:	39 78 04             	cmp    %edi,0x4(%eax)
4407f8:	76 15                	jbe    0x44080f
4407fa:	8b 46 08             	mov    0x8(%esi),%eax
4407fd:	ff 34 b8             	push   (%eax,%edi,4)
440800:	e8 59 ed fd ff       	call   0x41f55e
440805:	8b 46 10             	mov    0x10(%esi),%eax
440808:	47                   	inc    %edi
440809:	59                   	pop    %ecx
44080a:	3b 78 04             	cmp    0x4(%eax),%edi
44080d:	72 eb                	jb     0x4407fa
44080f:	ff 76 08             	push   0x8(%esi)
440812:	e8 47 ed fd ff       	call   0x41f55e
440817:	ff 76 0c             	push   0xc(%esi)
44081a:	e8 3f ed fd ff       	call   0x41f55e
44081f:	ff 76 10             	push   0x10(%esi)
440822:	e8 37 ed fd ff       	call   0x41f55e
440827:	ff 76 04             	push   0x4(%esi)
44082a:	e8 2f ed fd ff       	call   0x41f55e
44082f:	83 c4 10             	add    $0x10,%esp
440832:	5f                   	pop    %edi
440833:	8b 4e 1c             	mov    0x1c(%esi),%ecx
440836:	85 c9                	test   %ecx,%ecx
440838:	74 06                	je     0x440840
44083a:	8b 01                	mov    (%ecx),%eax
44083c:	51                   	push   %ecx
44083d:	ff 50 08             	call   *0x8(%eax)
440840:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
440844:	74 09                	je     0x44084f
440846:	8b 46 14             	mov    0x14(%esi),%eax
440849:	50                   	push   %eax
44084a:	8b 08                	mov    (%eax),%ecx
44084c:	ff 51 08             	call   *0x8(%ecx)
44084f:	5e                   	pop    %esi
440850:	c3                   	ret
440851:	56                   	push   %esi
440852:	68 7f 94 43 00       	push   $0x43947f
440857:	8d 71 fc             	lea    -0x4(%ecx),%esi
44085a:	ff 36                	push   (%esi)
44085c:	6a 10                	push   $0x10
44085e:	5a                   	pop    %edx
44085f:	e8 88 46 fc ff       	call   0x404eec
440864:	56                   	push   %esi
440865:	e8 f4 ec fd ff       	call   0x41f55e
44086a:	59                   	pop    %ecx
44086b:	8b c6                	mov    %esi,%eax
44086d:	5e                   	pop    %esi
44086e:	c2 04 00             	ret    $0x4
440871:	56                   	push   %esi
440872:	8b f1                	mov    %ecx,%esi
440874:	e8 67 ff ff ff       	call   0x4407e0
440879:	56                   	push   %esi
44087a:	e8 df ec fd ff       	call   0x41f55e
44087f:	59                   	pop    %ecx
440880:	8b c6                	mov    %esi,%eax
440882:	5e                   	pop    %esi
440883:	c2 04 00             	ret    $0x4
440886:	55                   	push   %ebp
440887:	8b ec                	mov    %esp,%ebp
440889:	56                   	push   %esi
44088a:	8b 75 08             	mov    0x8(%ebp),%esi
44088d:	83 c6 20             	add    $0x20,%esi
440890:	8b 4e f8             	mov    -0x8(%esi),%ecx
440893:	85 c9                	test   %ecx,%ecx
440895:	74 0a                	je     0x4408a1
440897:	8b 01                	mov    (%ecx),%eax
440899:	51                   	push   %ecx
44089a:	ff 50 04             	call   *0x4(%eax)
44089d:	89 06                	mov    %eax,(%esi)
44089f:	eb 07                	jmp    0x4408a8
4408a1:	56                   	push   %esi
4408a2:	ff 15 34 d3 48 00    	call   *0x48d334
4408a8:	8b 06                	mov    (%esi),%eax
4408aa:	5e                   	pop    %esi
4408ab:	5d                   	pop    %ebp
4408ac:	c2 04 00             	ret    $0x4
4408af:	55                   	push   %ebp
4408b0:	8b ec                	mov    %esp,%ebp
4408b2:	66 8b 45 0c          	mov    0xc(%ebp),%ax
4408b6:	83 ec 64             	sub    $0x64,%esp
4408b9:	53                   	push   %ebx
4408ba:	56                   	push   %esi
4408bb:	33 db                	xor    %ebx,%ebx
4408bd:	57                   	push   %edi
4408be:	66 83 f8 1f          	cmp    $0x1f,%ax
4408c2:	75 12                	jne    0x4408d6
4408c4:	8b 45 08             	mov    0x8(%ebp),%eax
4408c7:	8b 40 08             	mov    0x8(%eax),%eax
4408ca:	85 c0                	test   %eax,%eax
4408cc:	74 02                	je     0x4408d0
4408ce:	8b d8                	mov    %eax,%ebx
4408d0:	53                   	push   %ebx
4408d1:	e9 9f 00 00 00       	jmp    0x440975
4408d6:	66 83 f8 1e          	cmp    $0x1e,%ax
4408da:	75 50                	jne    0x44092c
4408dc:	8b 45 08             	mov    0x8(%ebp),%eax
4408df:	53                   	push   %ebx
4408e0:	8b 40 08             	mov    0x8(%eax),%eax
4408e3:	53                   	push   %ebx
4408e4:	6a ff                	push   $0xffffffff
4408e6:	50                   	push   %eax
4408e7:	53                   	push   %ebx
4408e8:	53                   	push   %ebx
4408e9:	8b 1d 78 d1 48 00    	mov    0x48d178,%ebx
4408ef:	89 45 0c             	mov    %eax,0xc(%ebp)
4408f2:	ff d3                	call   *%ebx
4408f4:	33 c9                	xor    %ecx,%ecx
4408f6:	6a 02                	push   $0x2
4408f8:	5a                   	pop    %edx
4408f9:	8b f8                	mov    %eax,%edi
4408fb:	f7 e2                	mul    %edx
4408fd:	0f 90 c1             	seto   %cl
440900:	f7 d9                	neg    %ecx
440902:	0b c8                	or     %eax,%ecx
440904:	51                   	push   %ecx
440905:	e8 e0 eb fd ff       	call   0x41f4ea
44090a:	59                   	pop    %ecx
44090b:	57                   	push   %edi
44090c:	8b f0                	mov    %eax,%esi
44090e:	56                   	push   %esi
44090f:	6a ff                	push   $0xffffffff
440911:	ff 75 0c             	push   0xc(%ebp)
440914:	33 c0                	xor    %eax,%eax
440916:	50                   	push   %eax
440917:	50                   	push   %eax
440918:	ff d3                	call   *%ebx
44091a:	56                   	push   %esi
44091b:	ff 15 2c d4 48 00    	call   *0x48d42c
440921:	56                   	push   %esi
440922:	8b d8                	mov    %eax,%ebx
440924:	e8 35 ec fd ff       	call   0x41f55e
440929:	59                   	pop    %ecx
44092a:	eb 51                	jmp    0x44097d
44092c:	66 83 f8 08          	cmp    $0x8,%ax
440930:	75 18                	jne    0x44094a
440932:	8b 45 08             	mov    0x8(%ebp),%eax
440935:	8b 70 08             	mov    0x8(%eax),%esi
440938:	56                   	push   %esi
440939:	ff 15 2c d4 48 00    	call   *0x48d42c
44093f:	56                   	push   %esi
440940:	8b d8                	mov    %eax,%ebx
440942:	ff 15 0c d4 48 00    	call   *0x48d40c
440948:	eb 33                	jmp    0x44097d
44094a:	66 83 f8 48          	cmp    $0x48,%ax
44094e:	75 2d                	jne    0x44097d
440950:	8b 75 08             	mov    0x8(%ebp),%esi
440953:	8d 7d f0             	lea    -0x10(%ebp),%edi