6477cb:	c1 e2 12             	shl    $0x12,%edx
6477ce:	33 c0                	xor    %eax,%eax
6477d0:	0b 04 24             	or     (%esp),%eax
6477d3:	0b 54 24 04          	or     0x4(%esp),%edx
6477d7:	83 c4 08             	add    $0x8,%esp
6477da:	52                   	push   %edx
6477db:	50                   	push   %eax
6477dc:	8b 44 24 28          	mov    0x28(%esp),%eax
6477e0:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6477e4:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6477e8:	c1 ea 12             	shr    $0x12,%edx
6477eb:	52                   	push   %edx
6477ec:	50                   	push   %eax
6477ed:	8b 54 24 30          	mov    0x30(%esp),%edx
6477f1:	c1 e2 0e             	shl    $0xe,%edx
6477f4:	33 c0                	xor    %eax,%eax
6477f6:	0b 04 24             	or     (%esp),%eax
6477f9:	0b 54 24 04          	or     0x4(%esp),%edx
6477fd:	83 c4 08             	add    $0x8,%esp
647800:	33 04 24             	xor    (%esp),%eax
647803:	33 54 24 04          	xor    0x4(%esp),%edx
647807:	83 c4 08             	add    $0x8,%esp
64780a:	52                   	push   %edx
64780b:	50                   	push   %eax
64780c:	8b 44 24 2c          	mov    0x2c(%esp),%eax
647810:	c1 e8 09             	shr    $0x9,%eax
647813:	33 d2                	xor    %edx,%edx
647815:	52                   	push   %edx
647816:	50                   	push   %eax
647817:	8b 44 24 30          	mov    0x30(%esp),%eax
64781b:	8b 54 24 34          	mov    0x34(%esp),%edx
64781f:	0f a4 c2 17          	shld   $0x17,%eax,%edx
647823:	c1 e0 17             	shl    $0x17,%eax
647826:	0b 04 24             	or     (%esp),%eax
647829:	0b 54 24 04          	or     0x4(%esp),%edx
64782d:	83 c4 08             	add    $0x8,%esp
647830:	33 04 24             	xor    (%esp),%eax
647833:	33 54 24 04          	xor    0x4(%esp),%edx
647837:	83 c4 08             	add    $0x8,%esp
64783a:	03 44 24 38          	add    0x38(%esp),%eax
64783e:	13 54 24 3c          	adc    0x3c(%esp),%edx
647842:	52                   	push   %edx
647843:	50                   	push   %eax
647844:	8b 44 24 28          	mov    0x28(%esp),%eax
647848:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64784c:	23 44 24 30          	and    0x30(%esp),%eax
647850:	23 54 24 34          	and    0x34(%esp),%edx
647854:	52                   	push   %edx
647855:	50                   	push   %eax
647856:	8b 44 24 30          	mov    0x30(%esp),%eax
64785a:	8b 54 24 34          	mov    0x34(%esp),%edx
64785e:	f7 d0                	not    %eax
647860:	f7 d2                	not    %edx
647862:	23 44 24 40          	and    0x40(%esp),%eax
647866:	23 54 24 44          	and    0x44(%esp),%edx
64786a:	33 04 24             	xor    (%esp),%eax
64786d:	33 54 24 04          	xor    0x4(%esp),%edx
647871:	83 c4 08             	add    $0x8,%esp
647874:	03 04 24             	add    (%esp),%eax
647877:	13 54 24 04          	adc    0x4(%esp),%edx
64787b:	83 c4 08             	add    $0x8,%esp
64787e:	05 9c 61 26 ea       	add    $0xea26619c,%eax
647883:	81 d2 ce 3e 27 ca    	adc    $0xca273ece,%edx
647889:	03 84 24 50 02 00 00 	add    0x250(%esp),%eax
647890:	13 94 24 54 02 00 00 	adc    0x254(%esp),%edx
647897:	89 44 24 40          	mov    %eax,0x40(%esp)
64789b:	89 54 24 44          	mov    %edx,0x44(%esp)
64789f:	8b 04 24             	mov    (%esp),%eax
6478a2:	8b 54 24 04          	mov    0x4(%esp),%edx
6478a6:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6478aa:	c1 ea 1c             	shr    $0x1c,%edx
6478ad:	52                   	push   %edx
6478ae:	50                   	push   %eax
6478af:	8b 54 24 08          	mov    0x8(%esp),%edx
6478b3:	c1 e2 04             	shl    $0x4,%edx
6478b6:	33 c0                	xor    %eax,%eax
6478b8:	0b 04 24             	or     (%esp),%eax
6478bb:	0b 54 24 04          	or     0x4(%esp),%edx
6478bf:	83 c4 08             	add    $0x8,%esp
6478c2:	52                   	push   %edx
6478c3:	50                   	push   %eax
6478c4:	8b 44 24 0c          	mov    0xc(%esp),%eax
6478c8:	c1 e8 02             	shr    $0x2,%eax
6478cb:	33 d2                	xor    %edx,%edx
6478cd:	52                   	push   %edx
6478ce:	50                   	push   %eax
6478cf:	8b 44 24 10          	mov    0x10(%esp),%eax
6478d3:	8b 54 24 14          	mov    0x14(%esp),%edx
6478d7:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6478db:	c1 e0 1e             	shl    $0x1e,%eax
6478de:	0b 04 24             	or     (%esp),%eax
6478e1:	0b 54 24 04          	or     0x4(%esp),%edx
6478e5:	83 c4 08             	add    $0x8,%esp
6478e8:	33 04 24             	xor    (%esp),%eax
6478eb:	33 54 24 04          	xor    0x4(%esp),%edx
6478ef:	83 c4 08             	add    $0x8,%esp
6478f2:	52                   	push   %edx
6478f3:	50                   	push   %eax
6478f4:	8b 44 24 0c          	mov    0xc(%esp),%eax
6478f8:	c1 e8 07             	shr    $0x7,%eax
6478fb:	33 d2                	xor    %edx,%edx
6478fd:	52                   	push   %edx
6478fe:	50                   	push   %eax
6478ff:	8b 44 24 10          	mov    0x10(%esp),%eax
647903:	8b 54 24 14          	mov    0x14(%esp),%edx
647907:	0f a4 c2 19          	shld   $0x19,%eax,%edx
64790b:	c1 e0 19             	shl    $0x19,%eax
64790e:	0b 04 24             	or     (%esp),%eax
647911:	0b 54 24 04          	or     0x4(%esp),%edx
647915:	83 c4 08             	add    $0x8,%esp
647918:	33 04 24             	xor    (%esp),%eax
64791b:	33 54 24 04          	xor    0x4(%esp),%edx
64791f:	83 c4 08             	add    $0x8,%esp
647922:	52                   	push   %edx
647923:	50                   	push   %eax
647924:	8b 44 24 08          	mov    0x8(%esp),%eax
647928:	8b 54 24 0c          	mov    0xc(%esp),%edx
64792c:	23 44 24 10          	and    0x10(%esp),%eax
647930:	23 54 24 14          	and    0x14(%esp),%edx
647934:	52                   	push   %edx
647935:	50                   	push   %eax
647936:	8b 44 24 10          	mov    0x10(%esp),%eax
64793a:	8b 54 24 14          	mov    0x14(%esp),%edx
64793e:	23 44 24 20          	and    0x20(%esp),%eax
647942:	23 54 24 24          	and    0x24(%esp),%edx
647946:	33 04 24             	xor    (%esp),%eax
647949:	33 54 24 04          	xor    0x4(%esp),%edx
64794d:	83 c4 08             	add    $0x8,%esp
647950:	52                   	push   %edx
647951:	50                   	push   %eax
647952:	8b 44 24 18          	mov    0x18(%esp),%eax
647956:	8b 54 24 1c          	mov    0x1c(%esp),%edx
64795a:	23 44 24 20          	and    0x20(%esp),%eax
64795e:	23 54 24 24          	and    0x24(%esp),%edx
647962:	33 04 24             	xor    (%esp),%eax
647965:	33 54 24 04          	xor    0x4(%esp),%edx
647969:	83 c4 08             	add    $0x8,%esp
64796c:	03 04 24             	add    (%esp),%eax
64796f:	13 54 24 04          	adc    0x4(%esp),%edx
647973:	83 c4 08             	add    $0x8,%esp
647976:	89 44 24 48          	mov    %eax,0x48(%esp)
64797a:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64797e:	8b 44 24 18          	mov    0x18(%esp),%eax
647982:	8b 54 24 1c          	mov    0x1c(%esp),%edx
647986:	03 44 24 40          	add    0x40(%esp),%eax
64798a:	13 54 24 44          	adc    0x44(%esp),%edx
64798e:	89 44 24 18          	mov    %eax,0x18(%esp)
647992:	89 54 24 1c          	mov    %edx,0x1c(%esp)
647996:	8b 44 24 40          	mov    0x40(%esp),%eax
64799a:	8b 54 24 44          	mov    0x44(%esp),%edx
64799e:	03 44 24 48          	add    0x48(%esp),%eax
6479a2:	13 54 24 4c          	adc    0x4c(%esp),%edx
6479a6:	89 44 24 38          	mov    %eax,0x38(%esp)
6479aa:	89 54 24 3c          	mov    %edx,0x3c(%esp)
6479ae:	8b 44 24 18          	mov    0x18(%esp),%eax
6479b2:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6479b6:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6479ba:	c1 ea 0e             	shr    $0xe,%edx
6479bd:	52                   	push   %edx
6479be:	50                   	push   %eax
6479bf:	8b 54 24 20          	mov    0x20(%esp),%edx
6479c3:	c1 e2 12             	shl    $0x12,%edx
6479c6:	33 c0                	xor    %eax,%eax
6479c8:	0b 04 24             	or     (%esp),%eax
6479cb:	0b 54 24 04          	or     0x4(%esp),%edx
6479cf:	83 c4 08             	add    $0x8,%esp
6479d2:	52                   	push   %edx
6479d3:	50                   	push   %eax
6479d4:	8b 44 24 20          	mov    0x20(%esp),%eax
6479d8:	8b 54 24 24          	mov    0x24(%esp),%edx
6479dc:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6479e0:	c1 ea 12             	shr    $0x12,%edx
6479e3:	52                   	push   %edx
6479e4:	50                   	push   %eax
6479e5:	8b 54 24 28          	mov    0x28(%esp),%edx
6479e9:	c1 e2 0e             	shl    $0xe,%edx
6479ec:	33 c0                	xor    %eax,%eax
6479ee:	0b 04 24             	or     (%esp),%eax
6479f1:	0b 54 24 04          	or     0x4(%esp),%edx
6479f5:	83 c4 08             	add    $0x8,%esp
6479f8:	33 04 24             	xor    (%esp),%eax
6479fb:	33 54 24 04          	xor    0x4(%esp),%edx
6479ff:	83 c4 08             	add    $0x8,%esp
647a02:	52                   	push   %edx
647a03:	50                   	push   %eax
647a04:	8b 44 24 24          	mov    0x24(%esp),%eax
647a08:	c1 e8 09             	shr    $0x9,%eax
647a0b:	33 d2                	xor    %edx,%edx
647a0d:	52                   	push   %edx
647a0e:	50                   	push   %eax
647a0f:	8b 44 24 28          	mov    0x28(%esp),%eax
647a13:	8b 54 24 2c          	mov    0x2c(%esp),%edx
647a17:	0f a4 c2 17          	shld   $0x17,%eax,%edx
647a1b:	c1 e0 17             	shl    $0x17,%eax
647a1e:	0b 04 24             	or     (%esp),%eax
647a21:	0b 54 24 04          	or     0x4(%esp),%edx
647a25:	83 c4 08             	add    $0x8,%esp
647a28:	33 04 24             	xor    (%esp),%eax
647a2b:	33 54 24 04          	xor    0x4(%esp),%edx
647a2f:	83 c4 08             	add    $0x8,%esp
647a32:	03 44 24 30          	add    0x30(%esp),%eax
647a36:	13 54 24 34          	adc    0x34(%esp),%edx
647a3a:	52                   	push   %edx
647a3b:	50                   	push   %eax
647a3c:	8b 44 24 20          	mov    0x20(%esp),%eax
647a40:	8b 54 24 24          	mov    0x24(%esp),%edx
647a44:	23 44 24 28          	and    0x28(%esp),%eax
647a48:	23 54 24 2c          	and    0x2c(%esp),%edx
647a4c:	52                   	push   %edx
647a4d:	50                   	push   %eax
647a4e:	8b 44 24 28          	mov    0x28(%esp),%eax
647a52:	8b 54 24 2c          	mov    0x2c(%esp),%edx
647a56:	f7 d0                	not    %eax
647a58:	f7 d2                	not    %edx
647a5a:	23 44 24 38          	and    0x38(%esp),%eax
647a5e:	23 54 24 3c          	and    0x3c(%esp),%edx
647a62:	33 04 24             	xor    (%esp),%eax
647a65:	33 54 24 04          	xor    0x4(%esp),%edx
647a69:	83 c4 08             	add    $0x8,%esp
647a6c:	03 04 24             	add    (%esp),%eax
647a6f:	13 54 24 04          	adc    0x4(%esp),%edx
647a73:	83 c4 08             	add    $0x8,%esp
647a76:	05 07 c2 c0 21       	add    $0x21c0c207,%eax
647a7b:	81 d2 c7 b8 86 d1    	adc    $0xd186b8c7,%edx
647a81:	03 84 24 58 02 00 00 	add    0x258(%esp),%eax
647a88:	13 94 24 5c 02 00 00 	adc    0x25c(%esp),%edx
647a8f:	89 44 24 40          	mov    %eax,0x40(%esp)
647a93:	89 54 24 44          	mov    %edx,0x44(%esp)
647a97:	8b 44 24 38          	mov    0x38(%esp),%eax
647a9b:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647a9f:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
647aa3:	c1 ea 1c             	shr    $0x1c,%edx
647aa6:	52                   	push   %edx
647aa7:	50                   	push   %eax
647aa8:	8b 54 24 40          	mov    0x40(%esp),%edx
647aac:	c1 e2 04             	shl    $0x4,%edx
647aaf:	33 c0                	xor    %eax,%eax
647ab1:	0b 04 24             	or     (%esp),%eax
647ab4:	0b 54 24 04          	or     0x4(%esp),%edx
647ab8:	83 c4 08             	add    $0x8,%esp
647abb:	52                   	push   %edx
647abc:	50                   	push   %eax
647abd:	8b 44 24 44          	mov    0x44(%esp),%eax
647ac1:	c1 e8 02             	shr    $0x2,%eax
647ac4:	33 d2                	xor    %edx,%edx
647ac6:	52                   	push   %edx
647ac7:	50                   	push   %eax
647ac8:	8b 44 24 48          	mov    0x48(%esp),%eax
647acc:	8b 54 24 4c          	mov    0x4c(%esp),%edx
647ad0:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
647ad4:	c1 e0 1e             	shl    $0x1e,%eax
647ad7:	0b 04 24             	or     (%esp),%eax
647ada:	0b 54 24 04          	or     0x4(%esp),%edx
647ade:	83 c4 08             	add    $0x8,%esp
647ae1:	33 04 24             	xor    (%esp),%eax
647ae4:	33 54 24 04          	xor    0x4(%esp),%edx
647ae8:	83 c4 08             	add    $0x8,%esp
647aeb:	52                   	push   %edx
647aec:	50                   	push   %eax
647aed:	8b 44 24 44          	mov    0x44(%esp),%eax
647af1:	c1 e8 07             	shr    $0x7,%eax
647af4:	33 d2                	xor    %edx,%edx
647af6:	52                   	push   %edx
647af7:	50                   	push   %eax
647af8:	8b 44 24 48          	mov    0x48(%esp),%eax
647afc:	8b 54 24 4c          	mov    0x4c(%esp),%edx
647b00:	0f a4 c2 19          	shld   $0x19,%eax,%edx
647b04:	c1 e0 19             	shl    $0x19,%eax
647b07:	0b 04 24             	or     (%esp),%eax
647b0a:	0b 54 24 04          	or     0x4(%esp),%edx
647b0e:	83 c4 08             	add    $0x8,%esp
647b11:	33 04 24             	xor    (%esp),%eax
647b14:	33 54 24 04          	xor    0x4(%esp),%edx
647b18:	83 c4 08             	add    $0x8,%esp
647b1b:	52                   	push   %edx
647b1c:	50                   	push   %eax
647b1d:	8b 44 24 40          	mov    0x40(%esp),%eax
647b21:	8b 54 24 44          	mov    0x44(%esp),%edx
647b25:	23 44 24 08          	and    0x8(%esp),%eax
647b29:	23 54 24 0c          	and    0xc(%esp),%edx
647b2d:	52                   	push   %edx
647b2e:	50                   	push   %eax
647b2f:	8b 44 24 48          	mov    0x48(%esp),%eax
647b33:	8b 54 24 4c          	mov    0x4c(%esp),%edx
647b37:	23 44 24 18          	and    0x18(%esp),%eax
647b3b:	23 54 24 1c          	and    0x1c(%esp),%edx
647b3f:	33 04 24             	xor    (%esp),%eax
647b42:	33 54 24 04          	xor    0x4(%esp),%edx
647b46:	83 c4 08             	add    $0x8,%esp
647b49:	52                   	push   %edx
647b4a:	50                   	push   %eax
647b4b:	8b 44 24 10          	mov    0x10(%esp),%eax
647b4f:	8b 54 24 14          	mov    0x14(%esp),%edx
647b53:	23 44 24 18          	and    0x18(%esp),%eax
647b57:	23 54 24 1c          	and    0x1c(%esp),%edx
647b5b:	33 04 24             	xor    (%esp),%eax
647b5e:	33 54 24 04          	xor    0x4(%esp),%edx
647b62:	83 c4 08             	add    $0x8,%esp
647b65:	03 04 24             	add    (%esp),%eax
647b68:	13 54 24 04          	adc    0x4(%esp),%edx
647b6c:	83 c4 08             	add    $0x8,%esp
647b6f:	89 44 24 48          	mov    %eax,0x48(%esp)
647b73:	89 54 24 4c          	mov    %edx,0x4c(%esp)
647b77:	8b 44 24 10          	mov    0x10(%esp),%eax
647b7b:	8b 54 24 14          	mov    0x14(%esp),%edx
647b7f:	03 44 24 40          	add    0x40(%esp),%eax
647b83:	13 54 24 44          	adc    0x44(%esp),%edx
647b87:	89 44 24 10          	mov    %eax,0x10(%esp)
647b8b:	89 54 24 14          	mov    %edx,0x14(%esp)
647b8f:	8b 44 24 40          	mov    0x40(%esp),%eax
647b93:	8b 54 24 44          	mov    0x44(%esp),%edx
647b97:	03 44 24 48          	add    0x48(%esp),%eax
647b9b:	13 54 24 4c          	adc    0x4c(%esp),%edx
647b9f:	89 44 24 30          	mov    %eax,0x30(%esp)
647ba3:	89 54 24 34          	mov    %edx,0x34(%esp)
647ba7:	8b 44 24 10          	mov    0x10(%esp),%eax
647bab:	8b 54 24 14          	mov    0x14(%esp),%edx
647baf:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
647bb3:	c1 ea 0e             	shr    $0xe,%edx
647bb6:	52                   	push   %edx
647bb7:	50                   	push   %eax
647bb8:	8b 54 24 18          	mov    0x18(%esp),%edx
647bbc:	c1 e2 12             	shl    $0x12,%edx
647bbf:	33 c0                	xor    %eax,%eax
647bc1:	0b 04 24             	or     (%esp),%eax
647bc4:	0b 54 24 04          	or     0x4(%esp),%edx
647bc8:	83 c4 08             	add    $0x8,%esp
647bcb:	52                   	push   %edx
647bcc:	50                   	push   %eax
647bcd:	8b 44 24 18          	mov    0x18(%esp),%eax
647bd1:	8b 54 24 1c          	mov    0x1c(%esp),%edx
647bd5:	0f ac d0 12          	shrd   $0x12,%edx,%eax
647bd9:	c1 ea 12             	shr    $0x12,%edx
647bdc:	52                   	push   %edx
647bdd:	50                   	push   %eax
647bde:	8b 54 24 20          	mov    0x20(%esp),%edx
647be2:	c1 e2 0e             	shl    $0xe,%edx
647be5:	33 c0                	xor    %eax,%eax
647be7:	0b 04 24             	or     (%esp),%eax
647bea:	0b 54 24 04          	or     0x4(%esp),%edx
647bee:	83 c4 08             	add    $0x8,%esp
647bf1:	33 04 24             	xor    (%esp),%eax
647bf4:	33 54 24 04          	xor    0x4(%esp),%edx
647bf8:	83 c4 08             	add    $0x8,%esp
647bfb:	52                   	push   %edx
647bfc:	50                   	push   %eax
647bfd:	8b 44 24 1c          	mov    0x1c(%esp),%eax
647c01:	c1 e8 09             	shr    $0x9,%eax
647c04:	33 d2                	xor    %edx,%edx
647c06:	52                   	push   %edx