a505c9:	cc                   	int3
a505ca:	cc                   	int3
a505cb:	cc                   	int3
a505cc:	cc                   	int3
a505cd:	cc                   	int3
a505ce:	cc                   	int3
a505cf:	cc                   	int3
a505d0:	56                   	push   %esi
a505d1:	8b 44 24 14          	mov    0x14(%esp),%eax
a505d5:	0b c0                	or     %eax,%eax
a505d7:	75 28                	jne    0xa50601
a505d9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
a505dd:	8b 44 24 0c          	mov    0xc(%esp),%eax
a505e1:	33 d2                	xor    %edx,%edx
a505e3:	f7 f1                	div    %ecx
a505e5:	8b d8                	mov    %eax,%ebx
a505e7:	8b 44 24 08          	mov    0x8(%esp),%eax
a505eb:	f7 f1                	div    %ecx
a505ed:	8b f0                	mov    %eax,%esi
a505ef:	8b c3                	mov    %ebx,%eax
a505f1:	f7 64 24 10          	mull   0x10(%esp)
a505f5:	8b c8                	mov    %eax,%ecx
a505f7:	8b c6                	mov    %esi,%eax
a505f9:	f7 64 24 10          	mull   0x10(%esp)
a505fd:	03 d1                	add    %ecx,%edx
a505ff:	eb 47                	jmp    0xa50648
a50601:	8b c8                	mov    %eax,%ecx
a50603:	8b 5c 24 10          	mov    0x10(%esp),%ebx
a50607:	8b 54 24 0c          	mov    0xc(%esp),%edx
a5060b:	8b 44 24 08          	mov    0x8(%esp),%eax
a5060f:	d1 e9                	shr    $1,%ecx
a50611:	d1 db                	rcr    $1,%ebx
a50613:	d1 ea                	shr    $1,%edx
a50615:	d1 d8                	rcr    $1,%eax
a50617:	0b c9                	or     %ecx,%ecx
a50619:	75 f4                	jne    0xa5060f
a5061b:	f7 f3                	div    %ebx
a5061d:	8b f0                	mov    %eax,%esi
a5061f:	f7 64 24 14          	mull   0x14(%esp)
a50623:	8b c8                	mov    %eax,%ecx
a50625:	8b 44 24 10          	mov    0x10(%esp),%eax
a50629:	f7 e6                	mul    %esi
a5062b:	03 d1                	add    %ecx,%edx
a5062d:	72 0e                	jb     0xa5063d
a5062f:	3b 54 24 0c          	cmp    0xc(%esp),%edx
a50633:	77 08                	ja     0xa5063d
a50635:	72 0f                	jb     0xa50646
a50637:	3b 44 24 08          	cmp    0x8(%esp),%eax
a5063b:	76 09                	jbe    0xa50646
a5063d:	4e                   	dec    %esi
a5063e:	2b 44 24 10          	sub    0x10(%esp),%eax
a50642:	1b 54 24 14          	sbb    0x14(%esp),%edx
a50646:	33 db                	xor    %ebx,%ebx
a50648:	2b 44 24 08          	sub    0x8(%esp),%eax
a5064c:	1b 54 24 0c          	sbb    0xc(%esp),%edx
a50650:	f7 da                	neg    %edx
a50652:	f7 d8                	neg    %eax
a50654:	83 da 00             	sbb    $0x0,%edx
a50657:	8b ca                	mov    %edx,%ecx
a50659:	8b d3                	mov    %ebx,%edx
a5065b:	8b d9                	mov    %ecx,%ebx
a5065d:	8b c8                	mov    %eax,%ecx
a5065f:	8b c6                	mov    %esi,%eax
a50661:	5e                   	pop    %esi
a50662:	c2 10 00             	ret    $0x10
a50665:	cc                   	int3
a50666:	cc                   	int3
a50667:	cc                   	int3
a50668:	cc                   	int3
a50669:	cc                   	int3
a5066a:	cc                   	int3
a5066b:	cc                   	int3
a5066c:	cc                   	int3
a5066d:	cc                   	int3
a5066e:	cc                   	int3
a5066f:	cc                   	int3
a50670:	cc                   	int3
a50671:	cc                   	int3
a50672:	cc                   	int3
a50673:	cc                   	int3
a50674:	cc                   	int3
a50675:	cc                   	int3
a50676:	cc                   	int3
a50677:	cc                   	int3
a50678:	cc                   	int3
a50679:	cc                   	int3
a5067a:	cc                   	int3
a5067b:	cc                   	int3
a5067c:	cc                   	int3
a5067d:	cc                   	int3
a5067e:	cc                   	int3
a5067f:	cc                   	int3
a50680:	cc                   	int3
a50681:	cc                   	int3
a50682:	cc                   	int3
a50683:	cc                   	int3
a50684:	cc                   	int3
a50685:	cc                   	int3
a50686:	cc                   	int3
a50687:	cc                   	int3
a50688:	cc                   	int3
a50689:	cc                   	int3
a5068a:	ff 25 00 80 db 00    	jmp    *0xdb8000
a50690:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a50693:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
a5069a:	59                   	pop    %ecx
a5069b:	5f                   	pop    %edi
a5069c:	5f                   	pop    %edi
a5069d:	5e                   	pop    %esi
a5069e:	5b                   	pop    %ebx
a5069f:	8b e5                	mov    %ebp,%esp
a506a1:	5d                   	pop    %ebp
a506a2:	51                   	push   %ecx
a506a3:	f2 c3                	bnd ret
a506a5:	cc                   	int3
a506a6:	cc                   	int3
a506a7:	cc                   	int3
a506a8:	cc                   	int3
a506a9:	cc                   	int3
a506aa:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a506ad:	33 cd                	xor    %ebp,%ecx
a506af:	f2 e8 01 b1 9c ff    	bnd call 0x41b7b6
a506b5:	f2 e9 5c dd 9b ff    	bnd jmp 0x40e417
a506bb:	cc                   	int3
a506bc:	cc                   	int3
a506bd:	cc                   	int3
a506be:	cc                   	int3
a506bf:	8b 4d ec             	mov    -0x14(%ebp),%ecx
a506c2:	33 cd                	xor    %ebp,%ecx
a506c4:	f2 e8 ec b0 9c ff    	bnd call 0x41b7b6
a506ca:	f2 e9 47 dd 9b ff    	bnd jmp 0x40e417
a506d0:	cc                   	int3
a506d1:	cc                   	int3
a506d2:	cc                   	int3
a506d3:	cc                   	int3
a506d4:	50                   	push   %eax
a506d5:	64 ff 35 00 00 00 00 	push   %fs:0x0
a506dc:	8d 44 24 0c          	lea    0xc(%esp),%eax
a506e0:	2b 64 24 0c          	sub    0xc(%esp),%esp
a506e4:	53                   	push   %ebx
a506e5:	56                   	push   %esi
a506e6:	57                   	push   %edi
a506e7:	89 28                	mov    %ebp,(%eax)
a506e9:	8b e8                	mov    %eax,%ebp
a506eb:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a506f0:	33 c5                	xor    %ebp,%eax
a506f2:	50                   	push   %eax
a506f3:	ff 75 fc             	push   -0x4(%ebp)
a506f6:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
a506fd:	8d 45 f4             	lea    -0xc(%ebp),%eax
a50700:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
a50706:	f2 c3                	bnd ret
a50708:	cc                   	int3
a50709:	cc                   	int3
a5070a:	cc                   	int3
a5070b:	cc                   	int3
a5070c:	cc                   	int3
a5070d:	cc                   	int3
a5070e:	cc                   	int3
a5070f:	cc                   	int3
a50710:	cc                   	int3
a50711:	cc                   	int3
a50712:	cc                   	int3
a50713:	cc                   	int3
a50714:	cc                   	int3
a50715:	50                   	push   %eax
a50716:	64 ff 35 00 00 00 00 	push   %fs:0x0
a5071d:	8d 44 24 0c          	lea    0xc(%esp),%eax
a50721:	2b 64 24 0c          	sub    0xc(%esp),%esp
a50725:	53                   	push   %ebx
a50726:	56                   	push   %esi
a50727:	57                   	push   %edi
a50728:	89 28                	mov    %ebp,(%eax)
a5072a:	8b e8                	mov    %eax,%ebp
a5072c:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a50731:	33 c5                	xor    %ebp,%eax
a50733:	50                   	push   %eax
a50734:	89 45 f0             	mov    %eax,-0x10(%ebp)
a50737:	ff 75 fc             	push   -0x4(%ebp)
a5073a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
a50741:	8d 45 f4             	lea    -0xc(%ebp),%eax
a50744:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
a5074a:	f2 c3                	bnd ret
a5074c:	cc                   	int3
a5074d:	cc                   	int3
a5074e:	cc                   	int3
a5074f:	cc                   	int3
a50750:	cc                   	int3
a50751:	cc                   	int3
a50752:	cc                   	int3
a50753:	cc                   	int3
a50754:	cc                   	int3
a50755:	cc                   	int3
a50756:	cc                   	int3
a50757:	cc                   	int3
a50758:	cc                   	int3
a50759:	50                   	push   %eax
a5075a:	64 ff 35 00 00 00 00 	push   %fs:0x0
a50761:	8d 44 24 0c          	lea    0xc(%esp),%eax
a50765:	2b 64 24 0c          	sub    0xc(%esp),%esp
a50769:	53                   	push   %ebx
a5076a:	56                   	push   %esi
a5076b:	57                   	push   %edi
a5076c:	89 28                	mov    %ebp,(%eax)
a5076e:	8b e8                	mov    %eax,%ebp
a50770:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a50775:	33 c5                	xor    %ebp,%eax
a50777:	50                   	push   %eax
a50778:	89 65 f0             	mov    %esp,-0x10(%ebp)
a5077b:	ff 75 fc             	push   -0x4(%ebp)
a5077e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
a50785:	8d 45 f4             	lea    -0xc(%ebp),%eax
a50788:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
a5078e:	f2 c3                	bnd ret
a50790:	cc                   	int3
a50791:	cc                   	int3
a50792:	cc                   	int3
a50793:	cc                   	int3
a50794:	cc                   	int3
a50795:	cc                   	int3
a50796:	cc                   	int3
a50797:	cc                   	int3
a50798:	cc                   	int3
a50799:	cc                   	int3
a5079a:	cc                   	int3
a5079b:	cc                   	int3
a5079c:	cc                   	int3
a5079d:	50                   	push   %eax
a5079e:	64 ff 35 00 00 00 00 	push   %fs:0x0
a507a5:	8d 44 24 0c          	lea    0xc(%esp),%eax
a507a9:	2b 64 24 0c          	sub    0xc(%esp),%esp
a507ad:	53                   	push   %ebx
a507ae:	56                   	push   %esi
a507af:	57                   	push   %edi
a507b0:	89 28                	mov    %ebp,(%eax)
a507b2:	8b e8                	mov    %eax,%ebp
a507b4:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a507b9:	33 c5                	xor    %ebp,%eax
a507bb:	50                   	push   %eax
a507bc:	89 45 ec             	mov    %eax,-0x14(%ebp)
a507bf:	89 65 f0             	mov    %esp,-0x10(%ebp)
a507c2:	ff 75 fc             	push   -0x4(%ebp)
a507c5:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
a507cc:	8d 45 f4             	lea    -0xc(%ebp),%eax
a507cf:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
a507d5:	f2 c3                	bnd ret
a507d7:	cc                   	int3
a507d8:	cc                   	int3
a507d9:	cc                   	int3
a507da:	cc                   	int3
a507db:	cc                   	int3
a507dc:	cc                   	int3
a507dd:	cc                   	int3
a507de:	cc                   	int3
a507df:	cc                   	int3
a507e0:	cc                   	int3
a507e1:	cc                   	int3
a507e2:	cc                   	int3
a507e3:	cc                   	int3
a507e4:	cc                   	int3
a507e5:	cc                   	int3
a507e6:	cc                   	int3
a507e7:	cc                   	int3
a507e8:	cc                   	int3
a507e9:	cc                   	int3
a507ea:	cc                   	int3
a507eb:	cc                   	int3
a507ec:	cc                   	int3
a507ed:	cc                   	int3
a507ee:	cc                   	int3
a507ef:	cc                   	int3
a507f0:	68 90 87 a7 00       	push   $0xa78790
a507f5:	64 ff 35 00 00 00 00 	push   %fs:0x0
a507fc:	8b 44 24 10          	mov    0x10(%esp),%eax
a50800:	89 6c 24 10          	mov    %ebp,0x10(%esp)
a50804:	8d 6c 24 10          	lea    0x10(%esp),%ebp
a50808:	2b e0                	sub    %eax,%esp
a5080a:	53                   	push   %ebx
a5080b:	56                   	push   %esi
a5080c:	57                   	push   %edi
a5080d:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a50812:	31 45 fc             	xor    %eax,-0x4(%ebp)
a50815:	33 c5                	xor    %ebp,%eax
a50817:	50                   	push   %eax
a50818:	89 65 e8             	mov    %esp,-0x18(%ebp)
a5081b:	ff 75 f8             	push   -0x8(%ebp)
a5081e:	8b 45 fc             	mov    -0x4(%ebp),%eax
a50821:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
a50828:	89 45 f8             	mov    %eax,-0x8(%ebp)
a5082b:	8d 45 f0             	lea    -0x10(%ebp),%eax
a5082e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
a50834:	f2 c3                	bnd ret
a50836:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a50839:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
a50840:	59                   	pop    %ecx
a50841:	5f                   	pop    %edi
a50842:	5f                   	pop    %edi
a50843:	5e                   	pop    %esi
a50844:	5b                   	pop    %ebx
a50845:	8b e5                	mov    %ebp,%esp
a50847:	5d                   	pop    %ebp
a50848:	51                   	push   %ecx
a50849:	f2 c3                	bnd ret
a5084b:	cc                   	int3
a5084c:	cc                   	int3
a5084d:	cc                   	int3
a5084e:	cc                   	int3
a5084f:	cc                   	int3
a50850:	cc                   	int3
a50851:	cc                   	int3
a50852:	cc                   	int3
a50853:	cc                   	int3
a50854:	cc                   	int3
a50855:	cc                   	int3
a50856:	cc                   	int3
a50857:	cc                   	int3
a50858:	cc                   	int3
a50859:	cc                   	int3
a5085a:	cc                   	int3
a5085b:	cc                   	int3
a5085c:	cc                   	int3
a5085d:	cc                   	int3
a5085e:	cc                   	int3
a5085f:	cc                   	int3
a50860:	cc                   	int3
a50861:	cc                   	int3
a50862:	cc                   	int3
a50863:	cc                   	int3
a50864:	cc                   	int3
a50865:	cc                   	int3
a50866:	cc                   	int3
a50867:	cc                   	int3
a50868:	cc                   	int3
a50869:	cc                   	int3
a5086a:	cc                   	int3
a5086b:	cc                   	int3
a5086c:	cc                   	int3
a5086d:	cc                   	int3
a5086e:	cc                   	int3
a5086f:	cc                   	int3
a50870:	68 90 87 a7 00       	push   $0xa78790
a50875:	64 ff 35 00 00 00 00 	push   %fs:0x0
a5087c:	8b 44 24 10          	mov    0x10(%esp),%eax
a50880:	89 6c 24 10          	mov    %ebp,0x10(%esp)
a50884:	8d 6c 24 10          	lea    0x10(%esp),%ebp
a50888:	2b e0                	sub    %eax,%esp
a5088a:	53                   	push   %ebx
a5088b:	56                   	push   %esi
a5088c:	57                   	push   %edi
a5088d:	a1 24 f6 d5 00       	mov    0xd5f624,%eax