4403fd:	68 0c b6 46 00       	push   $0x46b60c
440402:	a3 30 b6 46 00       	mov    %eax,0x46b630
440407:	ff 15 88 b1 44 00    	call   *0x44b188
44040d:	c7 05 38 b6 46 00 01 	movl   $0x1,0x46b638
440414:	00 00 00
440417:	5d                   	pop    %ebp
440418:	c2 04 00             	ret    $0x4
44041b:	55                   	push   %ebp
44041c:	8b ec                	mov    %esp,%ebp
44041e:	51                   	push   %ecx
44041f:	53                   	push   %ebx
440420:	56                   	push   %esi
440421:	33 db                	xor    %ebx,%ebx
440423:	68 0c b6 46 00       	push   $0x46b60c
440428:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44042b:	ff 15 b4 b1 44 00    	call   *0x44b1b4
440431:	8b 45 14             	mov    0x14(%ebp),%eax
440434:	85 c0                	test   %eax,%eax
440436:	74 2d                	je     0x440465
440438:	66 39 18             	cmp    %bx,(%eax)
44043b:	74 28                	je     0x440465
44043d:	68 74 a7 46 00       	push   $0x46a774
440442:	68 04 b6 46 00       	push   $0x46b604
440447:	50                   	push   %eax
440448:	ff 75 10             	push   0x10(%ebp)
44044b:	ff 75 0c             	push   0xc(%ebp)
44044e:	ff 75 08             	push   0x8(%ebp)
440451:	e8 8a 29 fc ff       	call   0x402de0
440456:	8b f0                	mov    %eax,%esi
440458:	85 f6                	test   %esi,%esi
44045a:	0f 88 09 01 00 00    	js     0x440569
440460:	e9 b6 00 00 00       	jmp    0x44051b
440465:	68 04 b6 46 00       	push   $0x46b604
44046a:	ff 75 0c             	push   0xc(%ebp)
44046d:	ff 75 08             	push   0x8(%ebp)
440470:	e8 04 29 fc ff       	call   0x402d79
440475:	8b f0                	mov    %eax,%esi
440477:	85 f6                	test   %esi,%esi
440479:	0f 88 ea 00 00 00    	js     0x440569
44047f:	8d 45 fc             	lea    -0x4(%ebp),%eax
440482:	50                   	push   %eax
440483:	ff 35 04 b6 46 00    	push   0x46b604
440489:	e8 b8 2f fc ff       	call   0x403446
44048e:	8b f0                	mov    %eax,%esi
440490:	85 f6                	test   %esi,%esi
440492:	0f 88 d1 00 00 00    	js     0x440569
440498:	53                   	push   %ebx
440499:	ff 75 fc             	push   -0x4(%ebp)
44049c:	e8 72 3b fc ff       	call   0x404013
4404a1:	8b f0                	mov    %eax,%esi
4404a3:	85 f6                	test   %esi,%esi
4404a5:	0f 88 be 00 00 00    	js     0x440569
4404ab:	39 5d 18             	cmp    %ebx,0x18(%ebp)
4404ae:	53                   	push   %ebx
4404af:	68 80 00 00 00       	push   $0x80
4404b4:	6a 02                	push   $0x2
4404b6:	58                   	pop    %eax
4404b7:	6a 04                	push   $0x4
4404b9:	59                   	pop    %ecx
4404ba:	0f 45 c1             	cmovne %ecx,%eax
4404bd:	50                   	push   %eax
4404be:	53                   	push   %ebx
4404bf:	6a 01                	push   $0x1
4404c1:	68 00 00 00 40       	push   $0x40000000
4404c6:	ff 35 04 b6 46 00    	push   0x46b604
4404cc:	ff 15 d8 b0 44 00    	call   *0x44b0d8
4404d2:	a3 74 a7 46 00       	mov    %eax,0x46a774
4404d7:	83 f8 ff             	cmp    $0xffffffff,%eax
4404da:	75 2f                	jne    0x44050b
4404dc:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4404e2:	0f b7 f0             	movzwl %ax,%esi
4404e5:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4404eb:	85 c0                	test   %eax,%eax
4404ed:	0f 4e f0             	cmovle %eax,%esi
4404f0:	85 f6                	test   %esi,%esi
4404f2:	79 12                	jns    0x440506
4404f4:	56                   	push   %esi
4404f5:	68 81 00 00 00       	push   $0x81
4404fa:	68 6c 62 46 00       	push   $0x46626c
4404ff:	e8 cf 32 fc ff       	call   0x4037d3
440504:	eb 63                	jmp    0x440569
440506:	a1 74 a7 46 00       	mov    0x46a774,%eax
44050b:	39 5d 18             	cmp    %ebx,0x18(%ebp)
44050e:	74 0b                	je     0x44051b
440510:	6a 02                	push   $0x2
440512:	53                   	push   %ebx
440513:	53                   	push   %ebx
440514:	50                   	push   %eax
440515:	ff 15 34 b1 44 00    	call   *0x44b134
44051b:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
44051e:	74 05                	je     0x440525
440520:	e8 cb fc ff ff       	call   0x4401f0
440525:	a1 08 b6 46 00       	mov    0x46b608,%eax
44052a:	85 c0                	test   %eax,%eax
44052c:	74 1b                	je     0x440549
44052e:	50                   	push   %eax
44052f:	e8 24 01 00 00       	call   0x440658
440534:	a1 08 b6 46 00       	mov    0x46b608,%eax
440539:	85 c0                	test   %eax,%eax
44053b:	74 0c                	je     0x440549
44053d:	50                   	push   %eax
44053e:	e8 ac 4f 00 00       	call   0x4454ef
440543:	89 1d 08 b6 46 00    	mov    %ebx,0x46b608
440549:	39 5d 20             	cmp    %ebx,0x20(%ebp)
44054c:	74 15                	je     0x440563
44054e:	53                   	push   %ebx
44054f:	ff 35 04 b6 46 00    	push   0x46b604
440555:	ff 75 20             	push   0x20(%ebp)
440558:	e8 48 1c fc ff       	call   0x4021a5
44055d:	8b f0                	mov    %eax,%esi
44055f:	85 f6                	test   %esi,%esi
440561:	78 06                	js     0x440569
440563:	89 1d 34 b6 46 00    	mov    %ebx,0x46b634
440569:	68 0c b6 46 00       	push   $0x46b60c
44056e:	ff 15 b8 b1 44 00    	call   *0x44b1b8
440574:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
440577:	74 08                	je     0x440581
440579:	ff 75 fc             	push   -0x4(%ebp)
44057c:	e8 6e 4f 00 00       	call   0x4454ef
440581:	8b c6                	mov    %esi,%eax
440583:	5e                   	pop    %esi
440584:	5b                   	pop    %ebx
440585:	8b e5                	mov    %ebp,%esp
440587:	5d                   	pop    %ebp
440588:	c2 1c 00             	ret    $0x1c
44058b:	55                   	push   %ebp
44058c:	8b ec                	mov    %esp,%ebp
44058e:	8b 45 08             	mov    0x8(%ebp),%eax
440591:	a3 3c b6 46 00       	mov    %eax,0x46b63c
440596:	8b 45 0c             	mov    0xc(%ebp),%eax
440599:	a3 40 b6 46 00       	mov    %eax,0x46b640
44059e:	5d                   	pop    %ebp
44059f:	c2 08 00             	ret    $0x8
4405a2:	55                   	push   %ebp
4405a3:	8b ec                	mov    %esp,%ebp
4405a5:	8b 45 08             	mov    0x8(%ebp),%eax
4405a8:	56                   	push   %esi
4405a9:	8b 35 78 a7 46 00    	mov    0x46a778,%esi
4405af:	3b f0                	cmp    %eax,%esi
4405b1:	74 60                	je     0x440613
4405b3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4405b7:	a3 78 a7 46 00       	mov    %eax,0x46a778
4405bc:	74 55                	je     0x440613
4405be:	8b 0d 7c a7 46 00    	mov    0x46a77c,%ecx
4405c4:	83 e8 00             	sub    $0x0,%eax
4405c7:	74 34                	je     0x4405fd
4405c9:	83 e8 01             	sub    $0x1,%eax
4405cc:	74 27                	je     0x4405f5
4405ce:	83 e8 01             	sub    $0x1,%eax
4405d1:	74 1a                	je     0x4405ed
4405d3:	83 e8 01             	sub    $0x1,%eax
4405d6:	74 0d                	je     0x4405e5
4405d8:	83 e8 01             	sub    $0x1,%eax
4405db:	75 26                	jne    0x440603
4405dd:	8b 0d 8c a7 46 00    	mov    0x46a78c,%ecx
4405e3:	eb 1e                	jmp    0x440603
4405e5:	8b 0d 88 a7 46 00    	mov    0x46a788,%ecx
4405eb:	eb 16                	jmp    0x440603
4405ed:	8b 0d 84 a7 46 00    	mov    0x46a784,%ecx
4405f3:	eb 0e                	jmp    0x440603
4405f5:	8b 0d 80 a7 46 00    	mov    0x46a780,%ecx
4405fb:	eb 06                	jmp    0x440603
4405fd:	8b 0d 90 a7 46 00    	mov    0x46a790,%ecx
440603:	51                   	push   %ecx
440604:	68 78 62 46 00       	push   $0x466278
440609:	6a 02                	push   $0x2
44060b:	e8 0a 00 00 00       	call   0x44061a
440610:	83 c4 0c             	add    $0xc,%esp
440613:	8b c6                	mov    %esi,%eax
440615:	5e                   	pop    %esi
440616:	5d                   	pop    %ebp
440617:	c2 08 00             	ret    $0x8
44061a:	55                   	push   %ebp
44061b:	8b ec                	mov    %esp,%ebp
44061d:	8d 45 10             	lea    0x10(%ebp),%eax
440620:	50                   	push   %eax
440621:	ff 75 0c             	push   0xc(%ebp)
440624:	ff 75 08             	push   0x8(%ebp)
440627:	e8 02 00 00 00       	call   0x44062e
44062c:	5d                   	pop    %ebp
44062d:	c3                   	ret
44062e:	55                   	push   %ebp
44062f:	8b ec                	mov    %esp,%ebp
440631:	8b 45 08             	mov    0x8(%ebp),%eax
440634:	83 f8 05             	cmp    $0x5,%eax
440637:	74 0d                	je     0x440646
440639:	39 05 78 a7 46 00    	cmp    %eax,0x46a778
44063f:	7d 05                	jge    0x440646
440641:	33 c0                	xor    %eax,%eax
440643:	40                   	inc    %eax
440644:	eb 0e                	jmp    0x440654
440646:	6a 01                	push   $0x1
440648:	ff 75 10             	push   0x10(%ebp)
44064b:	ff 75 0c             	push   0xc(%ebp)
44064e:	50                   	push   %eax
44064f:	e8 f4 f8 ff ff       	call   0x43ff48
440654:	5d                   	pop    %ebp
440655:	c2 0c 00             	ret    $0xc
440658:	55                   	push   %ebp
440659:	8b ec                	mov    %esp,%ebp
44065b:	51                   	push   %ecx
44065c:	53                   	push   %ebx
44065d:	8b 5d 08             	mov    0x8(%ebp),%ebx
440660:	56                   	push   %esi
440661:	57                   	push   %edi
440662:	33 f6                	xor    %esi,%esi
440664:	33 ff                	xor    %edi,%edi
440666:	21 75 fc             	and    %esi,-0x4(%ebp)
440669:	53                   	push   %ebx
44066a:	ff 15 f4 b0 44 00    	call   *0x44b0f4
440670:	8b 0d 74 a7 46 00    	mov    0x46a774,%ecx
440676:	89 45 08             	mov    %eax,0x8(%ebp)
440679:	83 f9 ff             	cmp    $0xffffffff,%ecx
44067c:	75 16                	jne    0x440694
44067e:	57                   	push   %edi
44067f:	53                   	push   %ebx
440680:	68 08 b6 46 00       	push   $0x46b608
440685:	e8 fa 1c fc ff       	call   0x402384
44068a:	8b f0                	mov    %eax,%esi
44068c:	85 f6                	test   %esi,%esi
44068e:	78 5a                	js     0x4406ea
440690:	33 f6                	xor    %esi,%esi
440692:	eb 56                	jmp    0x4406ea
440694:	85 c0                	test   %eax,%eax
440696:	74 52                	je     0x4406ea
440698:	6a 00                	push   $0x0
44069a:	8d 55 fc             	lea    -0x4(%ebp),%edx
44069d:	2b c7                	sub    %edi,%eax
44069f:	52                   	push   %edx
4406a0:	50                   	push   %eax
4406a1:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
4406a4:	50                   	push   %eax
4406a5:	51                   	push   %ecx
4406a6:	ff 15 30 b1 44 00    	call   *0x44b130
4406ac:	85 c0                	test   %eax,%eax
4406ae:	75 18                	jne    0x4406c8
4406b0:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4406b6:	0f b7 f0             	movzwl %ax,%esi
4406b9:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4406bf:	85 c0                	test   %eax,%eax
4406c1:	0f 4e f0             	cmovle %eax,%esi
4406c4:	85 f6                	test   %esi,%esi
4406c6:	78 12                	js     0x4406da
4406c8:	03 7d fc             	add    -0x4(%ebp),%edi
4406cb:	8b 45 08             	mov    0x8(%ebp),%eax
4406ce:	3b f8                	cmp    %eax,%edi
4406d0:	73 18                	jae    0x4406ea
4406d2:	8b 0d 74 a7 46 00    	mov    0x46a774,%ecx
4406d8:	eb be                	jmp    0x440698
4406da:	56                   	push   %esi
4406db:	68 10 03 00 00       	push   $0x310
4406e0:	68 6c 62 46 00       	push   $0x46626c
4406e5:	e8 e9 30 fc ff       	call   0x4037d3
4406ea:	5f                   	pop    %edi
4406eb:	8b c6                	mov    %esi,%eax
4406ed:	5e                   	pop    %esi
4406ee:	5b                   	pop    %ebx
4406ef:	8b e5                	mov    %ebp,%esp
4406f1:	5d                   	pop    %ebp
4406f2:	c2 04 00             	ret    $0x4
4406f5:	55                   	push   %ebp
4406f6:	8b ec                	mov    %esp,%ebp
4406f8:	56                   	push   %esi
4406f9:	ff 75 08             	push   0x8(%ebp)
4406fc:	e8 0a f9 ff ff       	call   0x44000b
440701:	33 f6                	xor    %esi,%esi
440703:	39 35 38 b6 46 00    	cmp    %esi,0x46b638
440709:	74 11                	je     0x44071c
44070b:	68 0c b6 46 00       	push   $0x46b60c
440710:	ff 15 8c b1 44 00    	call   *0x44b18c
440716:	89 35 38 b6 46 00    	mov    %esi,0x46b638
44071c:	a1 24 b6 46 00       	mov    0x46b624,%eax
440721:	89 35 30 b6 46 00    	mov    %esi,0x46b630
440727:	89 35 34 b6 46 00    	mov    %esi,0x46b634
44072d:	85 c0                	test   %eax,%eax
44072f:	74 0c                	je     0x44073d
440731:	50                   	push   %eax
440732:	e8 b8 4d 00 00       	call   0x4454ef
440737:	89 35 24 b6 46 00    	mov    %esi,0x46b624
44073d:	a1 2c b6 46 00       	mov    0x46b62c,%eax
440742:	85 c0                	test   %eax,%eax
440744:	74 0c                	je     0x440752
440746:	50                   	push   %eax
440747:	e8 a3 4d 00 00       	call   0x4454ef
44074c:	89 35 2c b6 46 00    	mov    %esi,0x46b62c
440752:	a1 28 b6 46 00       	mov    0x46b628,%eax
440757:	85 c0                	test   %eax,%eax
440759:	74 0c                	je     0x440767
44075b:	50                   	push   %eax
44075c:	e8 8e 4d 00 00       	call   0x4454ef
440761:	89 35 28 b6 46 00    	mov    %esi,0x46b628
440767:	5e                   	pop    %esi
440768:	5d                   	pop    %ebp
440769:	c2 04 00             	ret    $0x4
44076c:	55                   	push   %ebp
44076d:	8b ec                	mov    %esp,%ebp
44076f:	83 ec 0c             	sub    $0xc,%esp
440772:	56                   	push   %esi
440773:	57                   	push   %edi
440774:	8d 45 fc             	lea    -0x4(%ebp),%eax
440777:	33 ff                	xor    %edi,%edi
440779:	50                   	push   %eax
44077a:	6a 08                	push   $0x8
44077c:	ff 75 08             	push   0x8(%ebp)
44077f:	8b f7                	mov    %edi,%esi
440781:	89 7d fc             	mov    %edi,-0x4(%ebp)
440784:	89 7d f8             	mov    %edi,-0x8(%ebp)
440787:	89 7d f4             	mov    %edi,-0xc(%ebp)
44078a:	ff 15 08 b0 44 00    	call   *0x44b008
440790:	85 c0                	test   %eax,%eax
440792:	75 23                	jne    0x4407b7
440794:	ff 15 e8 b0 44 00    	call   *0x44b0e8
44079a:	0f b7 f0             	movzwl %ax,%esi
44079d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4407a3:	85 c0                	test   %eax,%eax
4407a5:	0f 4e f0             	cmovle %eax,%esi
4407a8:	b8 05 40 00 80       	mov    $0x80004005,%eax
4407ad:	85 f6                	test   %esi,%esi
4407af:	0f 49 f0             	cmovns %eax,%esi
4407b2:	56                   	push   %esi
4407b3:	6a 21                	push   $0x21
4407b5:	eb 54                	jmp    0x44080b
4407b7:	8d 45 f4             	lea    -0xc(%ebp),%eax
4407ba:	50                   	push   %eax
4407bb:	6a 04                	push   $0x4
4407bd:	8d 45 f8             	lea    -0x8(%ebp),%eax
4407c0:	50                   	push   %eax
4407c1:	6a 14                	push   $0x14
4407c3:	ff 75 fc             	push   -0x4(%ebp)
4407c6:	ff 15 88 b0 44 00    	call   *0x44b088
4407cc:	85 c0                	test   %eax,%eax
4407ce:	74 0f                	je     0x4407df
4407d0:	8b 45 0c             	mov    0xc(%ebp),%eax
4407d3:	33 c9                	xor    %ecx,%ecx
4407d5:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
4407d8:	0f 95 c1             	setne  %cl
4407db:	89 08                	mov    %ecx,(%eax)
4407dd:	eb 36                	jmp    0x440815
4407df:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4407e5:	0f b7 f0             	movzwl %ax,%esi
4407e8:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4407ee:	85 c0                	test   %eax,%eax
4407f0:	0f 4e f0             	cmovle %eax,%esi
4407f3:	81 fe 57 00 07 80    	cmp    $0x80070057,%esi
4407f9:	75 09                	jne    0x440804
4407fb:	8b 45 0c             	mov    0xc(%ebp),%eax
4407fe:	8b f7                	mov    %edi,%esi
440800:	89 38                	mov    %edi,(%eax)
440802:	eb 11                	jmp    0x440815
440804:	85 f6                	test   %esi,%esi