46176f:	8b 45 fc             	mov    -0x4(%ebp),%eax
461772:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
461776:	75 56                	jne    0x4617ce
461778:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
46177c:	75 50                	jne    0x4617ce
46177e:	85 c0                	test   %eax,%eax
461780:	75 4c                	jne    0x4617ce
461782:	a1 04 7f 4c 00       	mov    0x4c7f04,%eax
461787:	3b f0                	cmp    %eax,%esi
461789:	75 43                	jne    0x4617ce
46178b:	3b 05 08 7f 4c 00    	cmp    0x4c7f08,%eax
461791:	75 3b                	jne    0x4617ce
461793:	83 63 20 00          	andl   $0x0,0x20(%ebx)
461797:	eb 35                	jmp    0x4617ce
461799:	85 ff                	test   %edi,%edi
46179b:	8b 3d 64 f6 48 00    	mov    0x48f664,%edi
4617a1:	74 20                	je     0x4617c3
4617a3:	6a 00                	push   $0x0
4617a5:	ff 35 08 7f 4c 00    	push   0x4c7f08
4617ab:	56                   	push   %esi
4617ac:	ff d7                	call   *%edi
4617ae:	a1 04 7f 4c 00       	mov    0x4c7f04,%eax
4617b3:	8b 0d 08 7f 4c 00    	mov    0x4c7f08,%ecx
4617b9:	3b c1                	cmp    %ecx,%eax
4617bb:	74 0b                	je     0x4617c8
4617bd:	6a 00                	push   $0x0
4617bf:	51                   	push   %ecx
4617c0:	50                   	push   %eax
4617c1:	ff d7                	call   *%edi
4617c3:	a1 04 7f 4c 00       	mov    0x4c7f04,%eax
4617c8:	6a 00                	push   $0x0
4617ca:	50                   	push   %eax
4617cb:	56                   	push   %esi
4617cc:	ff d7                	call   *%edi
4617ce:	5e                   	pop    %esi
4617cf:	5f                   	pop    %edi
4617d0:	5b                   	pop    %ebx
4617d1:	8b e5                	mov    %ebp,%esp
4617d3:	5d                   	pop    %ebp
4617d4:	c2 08 00             	ret    $0x8
4617d7:	55                   	push   %ebp
4617d8:	8b ec                	mov    %esp,%ebp
4617da:	83 ec 1c             	sub    $0x1c,%esp
4617dd:	f6 41 0c 04          	testb  $0x4,0xc(%ecx)
4617e1:	74 37                	je     0x46181a
4617e3:	8b 45 08             	mov    0x8(%ebp),%eax
4617e6:	33 c9                	xor    %ecx,%ecx
4617e8:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4617ec:	41                   	inc    %ecx
4617ed:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4617f1:	0f b6 c0             	movzbl %al,%eax
4617f4:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
4617f8:	8b 45 0c             	mov    0xc(%ebp),%eax
4617fb:	0f b6 c0             	movzbl %al,%eax
4617fe:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
461802:	8b 45 10             	mov    0x10(%ebp),%eax
461805:	89 45 ec             	mov    %eax,-0x14(%ebp)
461808:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46180b:	6a 1c                	push   $0x1c
46180d:	50                   	push   %eax
46180e:	51                   	push   %ecx
46180f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
461812:	ff 15 ec f5 48 00    	call   *0x48f5ec
461818:	eb 11                	jmp    0x46182b
46181a:	6a 00                	push   $0x0
46181c:	ff 75 10             	push   0x10(%ebp)
46181f:	ff 75 0c             	push   0xc(%ebp)
461822:	ff 75 08             	push   0x8(%ebp)
461825:	ff 15 e8 f5 48 00    	call   *0x48f5e8
46182b:	8b e5                	mov    %ebp,%esp
46182d:	5d                   	pop    %ebp
46182e:	c2 10 00             	ret    $0x10
461831:	55                   	push   %ebp
461832:	8b ec                	mov    %esp,%ebp
461834:	56                   	push   %esi
461835:	8b f1                	mov    %ecx,%esi
461837:	33 c0                	xor    %eax,%eax
461839:	89 46 04             	mov    %eax,0x4(%esi)
46183c:	88 46 0a             	mov    %al,0xa(%esi)
46183f:	8b 45 08             	mov    0x8(%ebp),%eax
461842:	c7 06 ff 00 00 00    	movl   $0xff,(%esi)
461848:	66 89 46 08          	mov    %ax,0x8(%esi)
46184c:	66 85 c0             	test   %ax,%ax
46184f:	75 04                	jne    0x461855
461851:	32 c0                	xor    %al,%al
461853:	eb 45                	jmp    0x46189a
461855:	50                   	push   %eax
461856:	ff 15 00 f6 48 00    	call   *0x48f600
46185c:	0f b7 c0             	movzwl %ax,%eax
46185f:	66 83 f8 ff          	cmp    $0xffff,%ax
461863:	74 ec                	je     0x461851
461865:	53                   	push   %ebx
461866:	8b d8                	mov    %eax,%ebx
461868:	88 06                	mov    %al,(%esi)
46186a:	6a 00                	push   $0x0
46186c:	0f b6 c0             	movzbl %al,%eax
46186f:	50                   	push   %eax
461870:	c1 fb 08             	sar    $0x8,%ebx
461873:	ff 15 8c f6 48 00    	call   *0x48f68c
461879:	88 46 07             	mov    %al,0x7(%esi)
46187c:	f6 c3 01             	test   $0x1,%bl
46187f:	74 04                	je     0x461885
461881:	c6 46 01 01          	movb   $0x1,0x1(%esi)
461885:	f6 c3 02             	test   $0x2,%bl
461888:	74 04                	je     0x46188e
46188a:	c6 46 03 01          	movb   $0x1,0x3(%esi)
46188e:	f6 c3 04             	test   $0x4,%bl
461891:	5b                   	pop    %ebx
461892:	74 04                	je     0x461898
461894:	c6 46 04 01          	movb   $0x1,0x4(%esi)
461898:	b0 01                	mov    $0x1,%al
46189a:	5e                   	pop    %esi
46189b:	5d                   	pop    %ebp
46189c:	c2 04 00             	ret    $0x4
46189f:	55                   	push   %ebp
4618a0:	8b ec                	mov    %esp,%ebp
4618a2:	56                   	push   %esi
4618a3:	8b f1                	mov    %ecx,%esi
4618a5:	33 c0                	xor    %eax,%eax
4618a7:	33 c9                	xor    %ecx,%ecx
4618a9:	89 46 06             	mov    %eax,0x6(%esi)
4618ac:	8a 45 08             	mov    0x8(%ebp),%al
4618af:	89 4e 01             	mov    %ecx,0x1(%esi)
4618b2:	88 4e 05             	mov    %cl,0x5(%esi)
4618b5:	88 4e 0a             	mov    %cl,0xa(%esi)
4618b8:	88 06                	mov    %al,(%esi)
4618ba:	3c ff                	cmp    $0xff,%al
4618bc:	75 04                	jne    0x4618c2
4618be:	32 c0                	xor    %al,%al
4618c0:	eb 10                	jmp    0x4618d2
4618c2:	51                   	push   %ecx
4618c3:	0f b6 c0             	movzbl %al,%eax
4618c6:	50                   	push   %eax
4618c7:	ff 15 8c f6 48 00    	call   *0x48f68c
4618cd:	88 46 07             	mov    %al,0x7(%esi)
4618d0:	b0 01                	mov    $0x1,%al
4618d2:	5e                   	pop    %esi
4618d3:	5d                   	pop    %ebp
4618d4:	c2 04 00             	ret    $0x4
4618d7:	55                   	push   %ebp
4618d8:	8b ec                	mov    %esp,%ebp
4618da:	8d 45 10             	lea    0x10(%ebp),%eax
4618dd:	50                   	push   %eax
4618de:	ff 75 0c             	push   0xc(%ebp)
4618e1:	ff 75 08             	push   0x8(%ebp)
4618e4:	e8 1c 27 fc ff       	call   0x424005
4618e9:	83 c4 0c             	add    $0xc,%esp
4618ec:	5d                   	pop    %ebp
4618ed:	c3                   	ret
4618ee:	55                   	push   %ebp
4618ef:	8b ec                	mov    %esp,%ebp
4618f1:	51                   	push   %ecx
4618f2:	56                   	push   %esi
4618f3:	57                   	push   %edi
4618f4:	8b f9                	mov    %ecx,%edi
4618f6:	33 f6                	xor    %esi,%esi
4618f8:	8d 47 04             	lea    0x4(%edi),%eax
4618fb:	83 38 00             	cmpl   $0x0,(%eax)
4618fe:	74 09                	je     0x461909
461900:	46                   	inc    %esi
461901:	83 c0 08             	add    $0x8,%eax
461904:	83 fe 10             	cmp    $0x10,%esi
461907:	7c f2                	jl     0x4618fb
461909:	83 fe 10             	cmp    $0x10,%esi
46190c:	75 04                	jne    0x461912
46190e:	33 c0                	xor    %eax,%eax
461910:	eb 37                	jmp    0x461949
461912:	8d 45 fc             	lea    -0x4(%ebp),%eax
461915:	50                   	push   %eax
461916:	ff 75 0c             	push   0xc(%ebp)
461919:	ff 15 60 f6 48 00    	call   *0x48f660
46191f:	ff 75 fc             	push   -0x4(%ebp)
461922:	6a 00                	push   $0x0
461924:	68 38 04 00 00       	push   $0x438
461929:	ff 15 c4 f1 48 00    	call   *0x48f1c4
46192f:	6a 04                	push   $0x4
461931:	68 00 10 00 00       	push   $0x1000
461936:	ff 75 08             	push   0x8(%ebp)
461939:	89 04 f7             	mov    %eax,(%edi,%esi,8)
46193c:	6a 00                	push   $0x0
46193e:	50                   	push   %eax
46193f:	ff 15 c8 f1 48 00    	call   *0x48f1c8
461945:	89 44 f7 04          	mov    %eax,0x4(%edi,%esi,8)
461949:	5f                   	pop    %edi
46194a:	5e                   	pop    %esi
46194b:	8b e5                	mov    %ebp,%esp
46194d:	5d                   	pop    %ebp
46194e:	c2 08 00             	ret    $0x8
461951:	55                   	push   %ebp
461952:	8b ec                	mov    %esp,%ebp
461954:	56                   	push   %esi
461955:	57                   	push   %edi
461956:	8b f9                	mov    %ecx,%edi
461958:	33 f6                	xor    %esi,%esi
46195a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46195d:	8d 47 04             	lea    0x4(%edi),%eax
461960:	39 08                	cmp    %ecx,(%eax)
461962:	74 0b                	je     0x46196f
461964:	46                   	inc    %esi
461965:	83 c0 08             	add    $0x8,%eax
461968:	83 fe 10             	cmp    $0x10,%esi
46196b:	7c f3                	jl     0x461960
46196d:	eb 22                	jmp    0x461991
46196f:	68 00 80 00 00       	push   $0x8000
461974:	6a 00                	push   $0x0
461976:	ff 74 f7 04          	push   0x4(%edi,%esi,8)
46197a:	ff 34 f7             	push   (%edi,%esi,8)
46197d:	ff 15 c0 f1 48 00    	call   *0x48f1c0
461983:	ff 34 f7             	push   (%edi,%esi,8)
461986:	ff 15 5c f3 48 00    	call   *0x48f35c
46198c:	83 64 f7 04 00       	andl   $0x0,0x4(%edi,%esi,8)
461991:	5f                   	pop    %edi
461992:	5e                   	pop    %esi
461993:	5d                   	pop    %ebp
461994:	c2 04 00             	ret    $0x4
461997:	55                   	push   %ebp
461998:	8b ec                	mov    %esp,%ebp
46199a:	56                   	push   %esi
46199b:	8b 75 08             	mov    0x8(%ebp),%esi
46199e:	8d 51 04             	lea    0x4(%ecx),%edx
4619a1:	33 c0                	xor    %eax,%eax
4619a3:	39 32                	cmp    %esi,(%edx)
4619a5:	74 09                	je     0x4619b0
4619a7:	40                   	inc    %eax
4619a8:	83 c2 08             	add    $0x8,%edx
4619ab:	83 f8 10             	cmp    $0x10,%eax
4619ae:	7c f3                	jl     0x4619a3
4619b0:	83 f8 10             	cmp    $0x10,%eax
4619b3:	74 12                	je     0x4619c7
4619b5:	6a 00                	push   $0x0
4619b7:	ff 75 10             	push   0x10(%ebp)
4619ba:	ff 75 0c             	push   0xc(%ebp)
4619bd:	56                   	push   %esi
4619be:	ff 34 c1             	push   (%ecx,%eax,8)
4619c1:	ff 15 d0 f1 48 00    	call   *0x48f1d0
4619c7:	5e                   	pop    %esi
4619c8:	5d                   	pop    %ebp
4619c9:	c2 0c 00             	ret    $0xc
4619cc:	55                   	push   %ebp
4619cd:	8b ec                	mov    %esp,%ebp
4619cf:	56                   	push   %esi
4619d0:	8b 75 0c             	mov    0xc(%ebp),%esi
4619d3:	8d 51 04             	lea    0x4(%ecx),%edx
4619d6:	33 c0                	xor    %eax,%eax
4619d8:	39 32                	cmp    %esi,(%edx)
4619da:	74 09                	je     0x4619e5
4619dc:	40                   	inc    %eax
4619dd:	83 c2 08             	add    $0x8,%edx
4619e0:	83 f8 10             	cmp    $0x10,%eax
4619e3:	7c f3                	jl     0x4619d8
4619e5:	83 f8 10             	cmp    $0x10,%eax
4619e8:	74 12                	je     0x4619fc
4619ea:	6a 00                	push   $0x0
4619ec:	ff 75 10             	push   0x10(%ebp)
4619ef:	ff 75 08             	push   0x8(%ebp)
4619f2:	56                   	push   %esi
4619f3:	ff 34 c1             	push   (%ecx,%eax,8)
4619f6:	ff 15 cc f1 48 00    	call   *0x48f1cc
4619fc:	5e                   	pop    %esi
4619fd:	5d                   	pop    %ebp
4619fe:	c2 0c 00             	ret    $0xc
461a01:	55                   	push   %ebp
461a02:	8b ec                	mov    %esp,%ebp
461a04:	53                   	push   %ebx
461a05:	8b 5d 08             	mov    0x8(%ebp),%ebx
461a08:	56                   	push   %esi
461a09:	8b f1                	mov    %ecx,%esi
461a0b:	57                   	push   %edi
461a0c:	c7 06 14 f9 48 00    	movl   $0x48f914,(%esi)
461a12:	8b 43 08             	mov    0x8(%ebx),%eax
461a15:	89 46 08             	mov    %eax,0x8(%esi)
461a18:	85 c0                	test   %eax,%eax
461a1a:	74 57                	je     0x461a73
461a1c:	6a 08                	push   $0x8
461a1e:	5a                   	pop    %edx
461a1f:	3b c2                	cmp    %edx,%eax
461a21:	72 02                	jb     0x461a25
461a23:	8b d0                	mov    %eax,%edx
461a25:	89 56 0c             	mov    %edx,0xc(%esi)
461a28:	33 c9                	xor    %ecx,%ecx
461a2a:	8b c2                	mov    %edx,%eax
461a2c:	6a 04                	push   $0x4
461a2e:	5a                   	pop    %edx
461a2f:	f7 e2                	mul    %edx
461a31:	0f 90 c1             	seto   %cl
461a34:	f7 d9                	neg    %ecx
461a36:	0b c8                	or     %eax,%ecx
461a38:	51                   	push   %ecx
461a39:	e8 b8 f5 fb ff       	call   0x420ff6
461a3e:	33 ff                	xor    %edi,%edi
461a40:	89 46 04             	mov    %eax,0x4(%esi)
461a43:	59                   	pop    %ecx
461a44:	39 7e 08             	cmp    %edi,0x8(%esi)
461a47:	76 32                	jbe    0x461a7b
461a49:	6a 04                	push   $0x4
461a4b:	e8 a6 f5 fb ff       	call   0x420ff6
461a50:	8b d0                	mov    %eax,%edx
461a52:	59                   	pop    %ecx
461a53:	85 d2                	test   %edx,%edx
461a55:	74 0c                	je     0x461a63
461a57:	8b 4b 04             	mov    0x4(%ebx),%ecx
461a5a:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
461a5d:	8b 09                	mov    (%ecx),%ecx
461a5f:	89 0a                	mov    %ecx,(%edx)
461a61:	eb 02                	jmp    0x461a65
461a63:	33 d2                	xor    %edx,%edx
461a65:	8b 46 04             	mov    0x4(%esi),%eax
461a68:	89 14 b8             	mov    %edx,(%eax,%edi,4)
461a6b:	47                   	inc    %edi
461a6c:	3b 7e 08             	cmp    0x8(%esi),%edi
461a6f:	72 d8                	jb     0x461a49
461a71:	eb 08                	jmp    0x461a7b
461a73:	83 66 0c 00          	andl   $0x0,0xc(%esi)
461a77:	83 66 04 00          	andl   $0x0,0x4(%esi)
461a7b:	5f                   	pop    %edi
461a7c:	8b c6                	mov    %esi,%eax
461a7e:	5e                   	pop    %esi
461a7f:	5b                   	pop    %ebx
461a80:	5d                   	pop    %ebp
461a81:	c2 04 00             	ret    $0x4
461a84:	55                   	push   %ebp
461a85:	8b ec                	mov    %esp,%ebp
461a87:	8b 55 08             	mov    0x8(%ebp),%edx
461a8a:	56                   	push   %esi
461a8b:	8b f1                	mov    %ecx,%esi
461a8d:	c7 06 c8 2e 4a 00    	movl   $0x4a2ec8,(%esi)
461a93:	8b 42 04             	mov    0x4(%edx),%eax
461a96:	89 46 04             	mov    %eax,0x4(%esi)
461a99:	8b 42 08             	mov    0x8(%edx),%eax
461a9c:	8b 4e 04             	mov    0x4(%esi),%ecx
461a9f:	89 46 08             	mov    %eax,0x8(%esi)
461aa2:	8b 42 0c             	mov    0xc(%edx),%eax
461aa5:	89 46 0c             	mov    %eax,0xc(%esi)
461aa8:	8b 42 10             	mov    0x10(%edx),%eax
461aab:	89 46 10             	mov    %eax,0x10(%esi)
461aae:	8b 42 14             	mov    0x14(%edx),%eax
461ab1:	89 46 14             	mov    %eax,0x14(%esi)
461ab4:	8b 01                	mov    (%ecx),%eax
461ab6:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
461abb:	75 11                	jne    0x461ace
461abd:	56                   	push   %esi
461abe:	8b ce                	mov    %esi,%ecx
461ac0:	e8 0a 02 00 00       	call   0x461ccf
461ac5:	8b ce                	mov    %esi,%ecx
461ac7:	e8 f8 08 00 00       	call   0x4623c4
461acc:	eb 03                	jmp    0x461ad1
461ace:	40                   	inc    %eax
461acf:	89 01                	mov    %eax,(%ecx)
461ad1:	8b c6                	mov    %esi,%eax
461ad3:	5e                   	pop    %esi