465765:	57                   	push   %edi
465766:	6a 01                	push   $0x1
465768:	50                   	push   %eax
465769:	ff 15 84 f1 48 00    	call   *0x48f184
46576f:	8b d8                	mov    %eax,%ebx
465771:	85 db                	test   %ebx,%ebx
465773:	74 31                	je     0x4657a6
465775:	33 c9                	xor    %ecx,%ecx
465777:	8b c6                	mov    %esi,%eax
465779:	6a 02                	push   $0x2
46577b:	5a                   	pop    %edx
46577c:	3b de                	cmp    %esi,%ebx
46577e:	7c 02                	jl     0x465782
465780:	8b c3                	mov    %ebx,%eax
465782:	f7 e2                	mul    %edx
465784:	0f 90 c1             	seto   %cl
465787:	f7 d9                	neg    %ecx
465789:	0b c8                	or     %eax,%ecx
46578b:	51                   	push   %ecx
46578c:	e8 65 b8 fb ff       	call   0x420ff6
465791:	59                   	pop    %ecx
465792:	53                   	push   %ebx
465793:	50                   	push   %eax
465794:	56                   	push   %esi
465795:	57                   	push   %edi
465796:	6a 01                	push   $0x1
465798:	6a 00                	push   $0x0
46579a:	89 45 fc             	mov    %eax,-0x4(%ebp)
46579d:	ff 15 84 f1 48 00    	call   *0x48f184
4657a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4657a6:	5b                   	pop    %ebx
4657a7:	5f                   	pop    %edi
4657a8:	5e                   	pop    %esi
4657a9:	8b e5                	mov    %ebp,%esp
4657ab:	5d                   	pop    %ebp
4657ac:	c3                   	ret
4657ad:	55                   	push   %ebp
4657ae:	8b ec                	mov    %esp,%ebp
4657b0:	83 ec 2c             	sub    $0x2c,%esp
4657b3:	53                   	push   %ebx
4657b4:	56                   	push   %esi
4657b5:	57                   	push   %edi
4657b6:	6a 08                	push   $0x8
4657b8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4657bb:	8d 7d d4             	lea    -0x2c(%ebp),%edi
4657be:	59                   	pop    %ecx
4657bf:	be b8 4b 4a 00       	mov    $0x4a4bb8,%esi
4657c4:	8b da                	mov    %edx,%ebx
4657c6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4657c8:	6a 30                	push   $0x30
4657ca:	58                   	pop    %eax
4657cb:	6a 78                	push   $0x78
4657cd:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4657cf:	66 89 03             	mov    %ax,(%ebx)
4657d2:	58                   	pop    %eax
4657d3:	66 89 43 02          	mov    %ax,0x2(%ebx)
4657d7:	8b 45 08             	mov    0x8(%ebp),%eax
4657da:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4657dd:	8d 70 ff             	lea    -0x1(%eax),%esi
4657e0:	85 f6                	test   %esi,%esi
4657e2:	78 39                	js     0x46581d
4657e4:	8d 7b 04             	lea    0x4(%ebx),%edi
4657e7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4657ea:	8d 3c b7             	lea    (%edi,%esi,4),%edi
4657ed:	0f b6 04 1e          	movzbl (%esi,%ebx,1),%eax
4657f1:	85 c0                	test   %eax,%eax
4657f3:	79 05                	jns    0x4657fa
4657f5:	05 00 01 00 00       	add    $0x100,%eax
4657fa:	6a 10                	push   $0x10
4657fc:	99                   	cltd
4657fd:	59                   	pop    %ecx
4657fe:	f7 f9                	idiv   %ecx
465800:	66 8b 4c 55 d4       	mov    -0x2c(%ebp,%edx,2),%cx
465805:	66 8b 44 45 d4       	mov    -0x2c(%ebp,%eax,2),%ax
46580a:	66 89 4f 02          	mov    %cx,0x2(%edi)
46580e:	66 89 07             	mov    %ax,(%edi)
465811:	83 ef 04             	sub    $0x4,%edi
465814:	4e                   	dec    %esi
465815:	79 d6                	jns    0x4657ed
465817:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46581a:	8b 45 08             	mov    0x8(%ebp),%eax
46581d:	5f                   	pop    %edi
46581e:	33 c9                	xor    %ecx,%ecx
465820:	5e                   	pop    %esi
465821:	66 89 4c 83 04       	mov    %cx,0x4(%ebx,%eax,4)
465826:	5b                   	pop    %ebx
465827:	8b e5                	mov    %ebp,%esp
465829:	5d                   	pop    %ebp
46582a:	c3                   	ret
46582b:	55                   	push   %ebp
46582c:	8b ec                	mov    %esp,%ebp
46582e:	83 ec 0c             	sub    $0xc,%esp
465831:	53                   	push   %ebx
465832:	8b da                	mov    %edx,%ebx
465834:	8b d1                	mov    %ecx,%edx
465836:	56                   	push   %esi
465837:	33 f6                	xor    %esi,%esi
465839:	89 55 f4             	mov    %edx,-0xc(%ebp)
46583c:	8d 43 ff             	lea    -0x1(%ebx),%eax
46583f:	83 f8 07             	cmp    $0x7,%eax
465842:	77 4b                	ja     0x46588f
465844:	57                   	push   %edi
465845:	8b 7d 08             	mov    0x8(%ebp),%edi
465848:	33 c9                	xor    %ecx,%ecx
46584a:	41                   	inc    %ecx
46584b:	89 75 fc             	mov    %esi,-0x4(%ebp)
46584e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
465851:	89 37                	mov    %esi,(%edi)
465853:	89 77 04             	mov    %esi,0x4(%edi)
465856:	85 db                	test   %ebx,%ebx
465858:	7e 30                	jle    0x46588a
46585a:	ff 75 fc             	push   -0x4(%ebp)
46585d:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
465861:	99                   	cltd
465862:	51                   	push   %ecx
465863:	52                   	push   %edx
465864:	50                   	push   %eax
465865:	e8 96 09 fd ff       	call   0x436200
46586a:	01 07                	add    %eax,(%edi)
46586c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46586f:	11 57 04             	adc    %edx,0x4(%edi)
465872:	46                   	inc    %esi
465873:	8b 45 fc             	mov    -0x4(%ebp),%eax
465876:	8b 55 f4             	mov    -0xc(%ebp),%edx
465879:	0f a4 c8 08          	shld   $0x8,%ecx,%eax
46587d:	c1 e1 08             	shl    $0x8,%ecx
465880:	89 45 fc             	mov    %eax,-0x4(%ebp)
465883:	89 4d f8             	mov    %ecx,-0x8(%ebp)
465886:	3b f3                	cmp    %ebx,%esi
465888:	7c d0                	jl     0x46585a
46588a:	b0 01                	mov    $0x1,%al
46588c:	5f                   	pop    %edi
46588d:	eb 0a                	jmp    0x465899
46588f:	8b 45 08             	mov    0x8(%ebp),%eax
465892:	89 30                	mov    %esi,(%eax)
465894:	89 70 04             	mov    %esi,0x4(%eax)
465897:	32 c0                	xor    %al,%al
465899:	5e                   	pop    %esi
46589a:	5b                   	pop    %ebx
46589b:	8b e5                	mov    %ebp,%esp
46589d:	5d                   	pop    %ebp
46589e:	c3                   	ret
46589f:	55                   	push   %ebp
4658a0:	8b ec                	mov    %esp,%ebp
4658a2:	83 ec 0c             	sub    $0xc,%esp
4658a5:	56                   	push   %esi
4658a6:	57                   	push   %edi
4658a7:	8b fa                	mov    %edx,%edi
4658a9:	8b f1                	mov    %ecx,%esi
4658ab:	57                   	push   %edi
4658ac:	ff 15 58 f2 48 00    	call   *0x48f258
4658b2:	66 83 3e 00          	cmpw   $0x0,(%esi)
4658b6:	0f 84 5b 01 00 00    	je     0x465a17
4658bc:	56                   	push   %esi
4658bd:	e8 7a d5 fb ff       	call   0x422e3c
4658c2:	59                   	pop    %ecx
4658c3:	83 f8 04             	cmp    $0x4,%eax
4658c6:	0f 82 4b 01 00 00    	jb     0x465a17
4658cc:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4658d0:	53                   	push   %ebx
4658d1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4658d4:	0f 84 97 00 00 00    	je     0x465971
4658da:	6a 04                	push   $0x4
4658dc:	8d 45 f4             	lea    -0xc(%ebp),%eax
4658df:	56                   	push   %esi
4658e0:	50                   	push   %eax
4658e1:	e8 08 ea fb ff       	call   0x4242ee
4658e6:	33 c0                	xor    %eax,%eax
4658e8:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
4658ec:	8d 45 f4             	lea    -0xc(%ebp),%eax
4658ef:	50                   	push   %eax
4658f0:	e8 d5 de fb ff       	call   0x4237ca
4658f5:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
4658f8:	66 89 07             	mov    %ax,(%edi)
4658fb:	83 c6 08             	add    $0x8,%esi
4658fe:	56                   	push   %esi
4658ff:	e8 38 d5 fb ff       	call   0x422e3c
465904:	83 c4 14             	add    $0x14,%esp
465907:	83 f8 02             	cmp    $0x2,%eax
46590a:	72 65                	jb     0x465971
46590c:	6a 02                	push   $0x2
46590e:	8d 45 f4             	lea    -0xc(%ebp),%eax
465911:	56                   	push   %esi
465912:	50                   	push   %eax
465913:	e8 d6 e9 fb ff       	call   0x4242ee
465918:	33 c0                	xor    %eax,%eax
46591a:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
46591e:	8d 45 f4             	lea    -0xc(%ebp),%eax
465921:	50                   	push   %eax
465922:	e8 a3 de fb ff       	call   0x4237ca
465927:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
46592a:	66 89 47 02          	mov    %ax,0x2(%edi)
46592e:	83 c6 04             	add    $0x4,%esi
465931:	56                   	push   %esi
465932:	e8 05 d5 fb ff       	call   0x422e3c
465937:	83 c4 14             	add    $0x14,%esp
46593a:	83 f8 02             	cmp    $0x2,%eax
46593d:	72 32                	jb     0x465971
46593f:	6a 02                	push   $0x2
465941:	8d 45 f4             	lea    -0xc(%ebp),%eax
465944:	56                   	push   %esi
465945:	50                   	push   %eax
465946:	e8 a3 e9 fb ff       	call   0x4242ee
46594b:	33 c0                	xor    %eax,%eax
46594d:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
465951:	8d 45 f4             	lea    -0xc(%ebp),%eax
465954:	50                   	push   %eax
465955:	e8 70 de fb ff       	call   0x4237ca
46595a:	83 c6 04             	add    $0x4,%esi
46595d:	66 89 47 06          	mov    %ax,0x6(%edi)
465961:	56                   	push   %esi
465962:	e8 d5 d4 fb ff       	call   0x422e3c
465967:	83 c4 14             	add    $0x14,%esp
46596a:	85 c0                	test   %eax,%eax
46596c:	74 03                	je     0x465971
46596e:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
465971:	56                   	push   %esi
465972:	e8 c5 d4 fb ff       	call   0x422e3c
465977:	59                   	pop    %ecx
465978:	83 f8 02             	cmp    $0x2,%eax
46597b:	0f 82 91 00 00 00    	jb     0x465a12
465981:	6a 02                	push   $0x2
465983:	8d 45 f4             	lea    -0xc(%ebp),%eax
465986:	56                   	push   %esi
465987:	50                   	push   %eax
465988:	e8 61 e9 fb ff       	call   0x4242ee
46598d:	33 c0                	xor    %eax,%eax
46598f:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
465993:	8d 45 f4             	lea    -0xc(%ebp),%eax
465996:	50                   	push   %eax
465997:	e8 2e de fb ff       	call   0x4237ca
46599c:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
46599f:	66 89 47 08          	mov    %ax,0x8(%edi)
4659a3:	83 c6 04             	add    $0x4,%esi
4659a6:	8d 1c 5d 04 00 00 00 	lea    0x4(,%ebx,2),%ebx
4659ad:	56                   	push   %esi
4659ae:	e8 89 d4 fb ff       	call   0x422e3c
4659b3:	83 c4 14             	add    $0x14,%esp
4659b6:	83 f8 02             	cmp    $0x2,%eax
4659b9:	72 57                	jb     0x465a12
4659bb:	6a 02                	push   $0x2
4659bd:	8d 45 f4             	lea    -0xc(%ebp),%eax
4659c0:	56                   	push   %esi
4659c1:	50                   	push   %eax
4659c2:	e8 27 e9 fb ff       	call   0x4242ee
4659c7:	33 c0                	xor    %eax,%eax
4659c9:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
4659cd:	8d 45 f4             	lea    -0xc(%ebp),%eax
4659d0:	50                   	push   %eax
4659d1:	e8 f4 dd fb ff       	call   0x4237ca
4659d6:	03 f3                	add    %ebx,%esi
4659d8:	66 89 47 0a          	mov    %ax,0xa(%edi)
4659dc:	56                   	push   %esi
4659dd:	e8 5a d4 fb ff       	call   0x422e3c
4659e2:	83 c4 14             	add    $0x14,%esp
4659e5:	83 f8 02             	cmp    $0x2,%eax
4659e8:	72 28                	jb     0x465a12
4659ea:	6a 02                	push   $0x2
4659ec:	8d 45 f4             	lea    -0xc(%ebp),%eax
4659ef:	56                   	push   %esi
4659f0:	50                   	push   %eax
4659f1:	e8 f8 e8 fb ff       	call   0x4242ee
4659f6:	33 c0                	xor    %eax,%eax
4659f8:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
4659fc:	8d 45 f4             	lea    -0xc(%ebp),%eax
4659ff:	50                   	push   %eax
465a00:	e8 c5 dd fb ff       	call   0x4237ca
465a05:	83 c4 10             	add    $0x10,%esp
465a08:	66 89 47 0c          	mov    %ax,0xc(%edi)
465a0c:	33 c0                	xor    %eax,%eax
465a0e:	66 89 47 0e          	mov    %ax,0xe(%edi)
465a12:	b0 01                	mov    $0x1,%al
465a14:	5b                   	pop    %ebx
465a15:	eb 02                	jmp    0x465a19
465a17:	32 c0                	xor    %al,%al
465a19:	5f                   	pop    %edi
465a1a:	5e                   	pop    %esi
465a1b:	8b e5                	mov    %ebp,%esp
465a1d:	5d                   	pop    %ebp
465a1e:	c3                   	ret
465a1f:	55                   	push   %ebp
465a20:	8b ec                	mov    %esp,%ebp
465a22:	83 ec 14             	sub    $0x14,%esp
465a25:	53                   	push   %ebx
465a26:	8b d9                	mov    %ecx,%ebx
465a28:	89 55 fc             	mov    %edx,-0x4(%ebp)
465a2b:	57                   	push   %edi
465a2c:	53                   	push   %ebx
465a2d:	e8 0a d4 fb ff       	call   0x422e3c
465a32:	8b f8                	mov    %eax,%edi
465a34:	99                   	cltd
465a35:	2b c2                	sub    %edx,%eax
465a37:	83 e0 fe             	and    $0xfffffffe,%eax
465a3a:	59                   	pop    %ecx
465a3b:	3b f8                	cmp    %eax,%edi
465a3d:	74 04                	je     0x465a43
465a3f:	32 c0                	xor    %al,%al
465a41:	eb 4a                	jmp    0x465a8d
465a43:	56                   	push   %esi
465a44:	33 f6                	xor    %esi,%esi
465a46:	85 ff                	test   %edi,%edi
465a48:	7e 40                	jle    0x465a8a
465a4a:	66 8b 04 73          	mov    (%ebx,%esi,2),%ax
465a4e:	8d 55 ec             	lea    -0x14(%ebp),%edx
465a51:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
465a55:	8d 4d f4             	lea    -0xc(%ebp),%ecx
465a58:	66 8b 44 73 02       	mov    0x2(%ebx,%esi,2),%ax
465a5d:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
465a61:	33 c0                	xor    %eax,%eax
465a63:	6a 08                	push   $0x8
465a65:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
465a69:	e8 8d a1 fb ff       	call   0x41fbfb
465a6e:	59                   	pop    %ecx
465a6f:	84 c0                	test   %al,%al
465a71:	74 20                	je     0x465a93
465a73:	8a 4d ec             	mov    -0x14(%ebp),%cl
465a76:	8b c6                	mov    %esi,%eax
465a78:	99                   	cltd
465a79:	83 c6 02             	add    $0x2,%esi
465a7c:	2b c2                	sub    %edx,%eax
465a7e:	8b 55 fc             	mov    -0x4(%ebp),%edx
465a81:	d1 f8                	sar    $1,%eax
465a83:	88 0c 10             	mov    %cl,(%eax,%edx,1)
465a86:	3b f7                	cmp    %edi,%esi
465a88:	7c c0                	jl     0x465a4a
465a8a:	b0 01                	mov    $0x1,%al
465a8c:	5e                   	pop    %esi
465a8d:	5f                   	pop    %edi
465a8e:	5b                   	pop    %ebx
465a8f:	8b e5                	mov    %ebp,%esp
465a91:	5d                   	pop    %ebp
465a92:	c3                   	ret
465a93:	32 c0                	xor    %al,%al
465a95:	eb f5                	jmp    0x465a8c
465a97:	55                   	push   %ebp
465a98:	8b ec                	mov    %esp,%ebp
465a9a:	51                   	push   %ecx
465a9b:	53                   	push   %ebx
465a9c:	56                   	push   %esi
465a9d:	57                   	push   %edi
465a9e:	8b f9                	mov    %ecx,%edi
465aa0:	8b f2                	mov    %edx,%esi
465aa2:	57                   	push   %edi
465aa3:	e8 94 d3 fb ff       	call   0x422e3c
465aa8:	83 26 00             	andl   $0x0,(%esi)
465aab:	59                   	pop    %ecx
465aac:	33 c9                	xor    %ecx,%ecx
465aae:	c7 45 fc 30 00 00 00 	movl   $0x30,-0x4(%ebp)
465ab5:	41                   	inc    %ecx
465ab6:	8d 50 ff             	lea    -0x1(%eax),%edx