643789:	03 84 24 48 01 00 00 	add    0x148(%esp),%eax
643790:	13 94 24 4c 01 00 00 	adc    0x14c(%esp),%edx
643797:	89 44 24 40          	mov    %eax,0x40(%esp)
64379b:	89 54 24 44          	mov    %edx,0x44(%esp)
64379f:	8b 44 24 08          	mov    0x8(%esp),%eax
6437a3:	8b 54 24 0c          	mov    0xc(%esp),%edx
6437a7:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6437ab:	c1 ea 1c             	shr    $0x1c,%edx
6437ae:	52                   	push   %edx
6437af:	50                   	push   %eax
6437b0:	8b 54 24 10          	mov    0x10(%esp),%edx
6437b4:	c1 e2 04             	shl    $0x4,%edx
6437b7:	33 c0                	xor    %eax,%eax
6437b9:	0b 04 24             	or     (%esp),%eax
6437bc:	0b 54 24 04          	or     0x4(%esp),%edx
6437c0:	83 c4 08             	add    $0x8,%esp
6437c3:	52                   	push   %edx
6437c4:	50                   	push   %eax
6437c5:	8b 44 24 14          	mov    0x14(%esp),%eax
6437c9:	c1 e8 02             	shr    $0x2,%eax
6437cc:	33 d2                	xor    %edx,%edx
6437ce:	52                   	push   %edx
6437cf:	50                   	push   %eax
6437d0:	8b 44 24 18          	mov    0x18(%esp),%eax
6437d4:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6437d8:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6437dc:	c1 e0 1e             	shl    $0x1e,%eax
6437df:	0b 04 24             	or     (%esp),%eax
6437e2:	0b 54 24 04          	or     0x4(%esp),%edx
6437e6:	83 c4 08             	add    $0x8,%esp
6437e9:	33 04 24             	xor    (%esp),%eax
6437ec:	33 54 24 04          	xor    0x4(%esp),%edx
6437f0:	83 c4 08             	add    $0x8,%esp
6437f3:	52                   	push   %edx
6437f4:	50                   	push   %eax
6437f5:	8b 44 24 14          	mov    0x14(%esp),%eax
6437f9:	c1 e8 07             	shr    $0x7,%eax
6437fc:	33 d2                	xor    %edx,%edx
6437fe:	52                   	push   %edx
6437ff:	50                   	push   %eax
643800:	8b 44 24 18          	mov    0x18(%esp),%eax
643804:	8b 54 24 1c          	mov    0x1c(%esp),%edx
643808:	0f a4 c2 19          	shld   $0x19,%eax,%edx
64380c:	c1 e0 19             	shl    $0x19,%eax
64380f:	0b 04 24             	or     (%esp),%eax
643812:	0b 54 24 04          	or     0x4(%esp),%edx
643816:	83 c4 08             	add    $0x8,%esp
643819:	33 04 24             	xor    (%esp),%eax
64381c:	33 54 24 04          	xor    0x4(%esp),%edx
643820:	83 c4 08             	add    $0x8,%esp
643823:	52                   	push   %edx
643824:	50                   	push   %eax
643825:	8b 44 24 10          	mov    0x10(%esp),%eax
643829:	8b 54 24 14          	mov    0x14(%esp),%edx
64382d:	23 44 24 18          	and    0x18(%esp),%eax
643831:	23 54 24 1c          	and    0x1c(%esp),%edx
643835:	52                   	push   %edx
643836:	50                   	push   %eax
643837:	8b 44 24 18          	mov    0x18(%esp),%eax
64383b:	8b 54 24 1c          	mov    0x1c(%esp),%edx
64383f:	23 44 24 28          	and    0x28(%esp),%eax
643843:	23 54 24 2c          	and    0x2c(%esp),%edx
643847:	33 04 24             	xor    (%esp),%eax
64384a:	33 54 24 04          	xor    0x4(%esp),%edx
64384e:	83 c4 08             	add    $0x8,%esp
643851:	52                   	push   %edx
643852:	50                   	push   %eax
643853:	8b 44 24 20          	mov    0x20(%esp),%eax
643857:	8b 54 24 24          	mov    0x24(%esp),%edx
64385b:	23 44 24 28          	and    0x28(%esp),%eax
64385f:	23 54 24 2c          	and    0x2c(%esp),%edx
643863:	33 04 24             	xor    (%esp),%eax
643866:	33 54 24 04          	xor    0x4(%esp),%edx
64386a:	83 c4 08             	add    $0x8,%esp
64386d:	03 04 24             	add    (%esp),%eax
643870:	13 54 24 04          	adc    0x4(%esp),%edx
643874:	83 c4 08             	add    $0x8,%esp
643877:	89 44 24 48          	mov    %eax,0x48(%esp)
64387b:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64387f:	8b 44 24 20          	mov    0x20(%esp),%eax
643883:	8b 54 24 24          	mov    0x24(%esp),%edx
643887:	03 44 24 40          	add    0x40(%esp),%eax
64388b:	13 54 24 44          	adc    0x44(%esp),%edx
64388f:	89 44 24 20          	mov    %eax,0x20(%esp)
643893:	89 54 24 24          	mov    %edx,0x24(%esp)
643897:	8b 44 24 40          	mov    0x40(%esp),%eax
64389b:	8b 54 24 44          	mov    0x44(%esp),%edx
64389f:	03 44 24 48          	add    0x48(%esp),%eax
6438a3:	13 54 24 4c          	adc    0x4c(%esp),%edx
6438a7:	89 04 24             	mov    %eax,(%esp)
6438aa:	89 54 24 04          	mov    %edx,0x4(%esp)
6438ae:	8b 44 24 20          	mov    0x20(%esp),%eax
6438b2:	8b 54 24 24          	mov    0x24(%esp),%edx
6438b6:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6438ba:	c1 ea 0e             	shr    $0xe,%edx
6438bd:	52                   	push   %edx
6438be:	50                   	push   %eax
6438bf:	8b 54 24 28          	mov    0x28(%esp),%edx
6438c3:	c1 e2 12             	shl    $0x12,%edx
6438c6:	33 c0                	xor    %eax,%eax
6438c8:	0b 04 24             	or     (%esp),%eax
6438cb:	0b 54 24 04          	or     0x4(%esp),%edx
6438cf:	83 c4 08             	add    $0x8,%esp
6438d2:	52                   	push   %edx
6438d3:	50                   	push   %eax
6438d4:	8b 44 24 28          	mov    0x28(%esp),%eax
6438d8:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6438dc:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6438e0:	c1 ea 12             	shr    $0x12,%edx
6438e3:	52                   	push   %edx
6438e4:	50                   	push   %eax
6438e5:	8b 54 24 30          	mov    0x30(%esp),%edx
6438e9:	c1 e2 0e             	shl    $0xe,%edx
6438ec:	33 c0                	xor    %eax,%eax
6438ee:	0b 04 24             	or     (%esp),%eax
6438f1:	0b 54 24 04          	or     0x4(%esp),%edx
6438f5:	83 c4 08             	add    $0x8,%esp
6438f8:	33 04 24             	xor    (%esp),%eax
6438fb:	33 54 24 04          	xor    0x4(%esp),%edx
6438ff:	83 c4 08             	add    $0x8,%esp
643902:	52                   	push   %edx
643903:	50                   	push   %eax
643904:	8b 44 24 2c          	mov    0x2c(%esp),%eax
643908:	c1 e8 09             	shr    $0x9,%eax
64390b:	33 d2                	xor    %edx,%edx
64390d:	52                   	push   %edx
64390e:	50                   	push   %eax
64390f:	8b 44 24 30          	mov    0x30(%esp),%eax
643913:	8b 54 24 34          	mov    0x34(%esp),%edx
643917:	0f a4 c2 17          	shld   $0x17,%eax,%edx
64391b:	c1 e0 17             	shl    $0x17,%eax
64391e:	0b 04 24             	or     (%esp),%eax
643921:	0b 54 24 04          	or     0x4(%esp),%edx
643925:	83 c4 08             	add    $0x8,%esp
643928:	33 04 24             	xor    (%esp),%eax
64392b:	33 54 24 04          	xor    0x4(%esp),%edx
64392f:	83 c4 08             	add    $0x8,%esp
643932:	03 44 24 38          	add    0x38(%esp),%eax
643936:	13 54 24 3c          	adc    0x3c(%esp),%edx
64393a:	52                   	push   %edx
64393b:	50                   	push   %eax
64393c:	8b 44 24 28          	mov    0x28(%esp),%eax
643940:	8b 54 24 2c          	mov    0x2c(%esp),%edx
643944:	23 44 24 30          	and    0x30(%esp),%eax
643948:	23 54 24 34          	and    0x34(%esp),%edx
64394c:	52                   	push   %edx
64394d:	50                   	push   %eax
64394e:	8b 44 24 30          	mov    0x30(%esp),%eax
643952:	8b 54 24 34          	mov    0x34(%esp),%edx
643956:	f7 d0                	not    %eax
643958:	f7 d2                	not    %edx
64395a:	23 44 24 40          	and    0x40(%esp),%eax
64395e:	23 54 24 44          	and    0x44(%esp),%edx
643962:	33 04 24             	xor    (%esp),%eax
643965:	33 54 24 04          	xor    0x4(%esp),%edx
643969:	83 c4 08             	add    $0x8,%esp
64396c:	03 04 24             	add    (%esp),%eax
64396f:	13 54 24 04          	adc    0x4(%esp),%edx
643973:	83 c4 08             	add    $0x8,%esp
643976:	05 fc 2f d2 46       	add    $0x46d22ffc,%eax
64397b:	81 d2 85 0a b7 27    	adc    $0x27b70a85,%edx
643981:	03 84 24 50 01 00 00 	add    0x150(%esp),%eax
643988:	13 94 24 54 01 00 00 	adc    0x154(%esp),%edx
64398f:	89 44 24 40          	mov    %eax,0x40(%esp)
643993:	89 54 24 44          	mov    %edx,0x44(%esp)
643997:	8b 04 24             	mov    (%esp),%eax
64399a:	8b 54 24 04          	mov    0x4(%esp),%edx
64399e:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6439a2:	c1 ea 1c             	shr    $0x1c,%edx
6439a5:	52                   	push   %edx
6439a6:	50                   	push   %eax
6439a7:	8b 54 24 08          	mov    0x8(%esp),%edx
6439ab:	c1 e2 04             	shl    $0x4,%edx
6439ae:	33 c0                	xor    %eax,%eax
6439b0:	0b 04 24             	or     (%esp),%eax
6439b3:	0b 54 24 04          	or     0x4(%esp),%edx
6439b7:	83 c4 08             	add    $0x8,%esp
6439ba:	52                   	push   %edx
6439bb:	50                   	push   %eax
6439bc:	8b 44 24 0c          	mov    0xc(%esp),%eax
6439c0:	c1 e8 02             	shr    $0x2,%eax
6439c3:	33 d2                	xor    %edx,%edx
6439c5:	52                   	push   %edx
6439c6:	50                   	push   %eax
6439c7:	8b 44 24 10          	mov    0x10(%esp),%eax
6439cb:	8b 54 24 14          	mov    0x14(%esp),%edx
6439cf:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6439d3:	c1 e0 1e             	shl    $0x1e,%eax
6439d6:	0b 04 24             	or     (%esp),%eax
6439d9:	0b 54 24 04          	or     0x4(%esp),%edx
6439dd:	83 c4 08             	add    $0x8,%esp
6439e0:	33 04 24             	xor    (%esp),%eax
6439e3:	33 54 24 04          	xor    0x4(%esp),%edx
6439e7:	83 c4 08             	add    $0x8,%esp
6439ea:	52                   	push   %edx
6439eb:	50                   	push   %eax
6439ec:	8b 44 24 0c          	mov    0xc(%esp),%eax
6439f0:	c1 e8 07             	shr    $0x7,%eax
6439f3:	33 d2                	xor    %edx,%edx
6439f5:	52                   	push   %edx
6439f6:	50                   	push   %eax
6439f7:	8b 44 24 10          	mov    0x10(%esp),%eax
6439fb:	8b 54 24 14          	mov    0x14(%esp),%edx
6439ff:	0f a4 c2 19          	shld   $0x19,%eax,%edx
643a03:	c1 e0 19             	shl    $0x19,%eax
643a06:	0b 04 24             	or     (%esp),%eax
643a09:	0b 54 24 04          	or     0x4(%esp),%edx
643a0d:	83 c4 08             	add    $0x8,%esp
643a10:	33 04 24             	xor    (%esp),%eax
643a13:	33 54 24 04          	xor    0x4(%esp),%edx
643a17:	83 c4 08             	add    $0x8,%esp
643a1a:	52                   	push   %edx
643a1b:	50                   	push   %eax
643a1c:	8b 44 24 08          	mov    0x8(%esp),%eax
643a20:	8b 54 24 0c          	mov    0xc(%esp),%edx
643a24:	23 44 24 10          	and    0x10(%esp),%eax
643a28:	23 54 24 14          	and    0x14(%esp),%edx
643a2c:	52                   	push   %edx
643a2d:	50                   	push   %eax
643a2e:	8b 44 24 10          	mov    0x10(%esp),%eax
643a32:	8b 54 24 14          	mov    0x14(%esp),%edx
643a36:	23 44 24 20          	and    0x20(%esp),%eax
643a3a:	23 54 24 24          	and    0x24(%esp),%edx
643a3e:	33 04 24             	xor    (%esp),%eax
643a41:	33 54 24 04          	xor    0x4(%esp),%edx
643a45:	83 c4 08             	add    $0x8,%esp
643a48:	52                   	push   %edx
643a49:	50                   	push   %eax
643a4a:	8b 44 24 18          	mov    0x18(%esp),%eax
643a4e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
643a52:	23 44 24 20          	and    0x20(%esp),%eax
643a56:	23 54 24 24          	and    0x24(%esp),%edx
643a5a:	33 04 24             	xor    (%esp),%eax
643a5d:	33 54 24 04          	xor    0x4(%esp),%edx
643a61:	83 c4 08             	add    $0x8,%esp
643a64:	03 04 24             	add    (%esp),%eax
643a67:	13 54 24 04          	adc    0x4(%esp),%edx
643a6b:	83 c4 08             	add    $0x8,%esp
643a6e:	89 44 24 48          	mov    %eax,0x48(%esp)
643a72:	89 54 24 4c          	mov    %edx,0x4c(%esp)
643a76:	8b 44 24 18          	mov    0x18(%esp),%eax
643a7a:	8b 54 24 1c          	mov    0x1c(%esp),%edx
643a7e:	03 44 24 40          	add    0x40(%esp),%eax
643a82:	13 54 24 44          	adc    0x44(%esp),%edx
643a86:	89 44 24 18          	mov    %eax,0x18(%esp)
643a8a:	89 54 24 1c          	mov    %edx,0x1c(%esp)
643a8e:	8b 44 24 40          	mov    0x40(%esp),%eax
643a92:	8b 54 24 44          	mov    0x44(%esp),%edx
643a96:	03 44 24 48          	add    0x48(%esp),%eax
643a9a:	13 54 24 4c          	adc    0x4c(%esp),%edx
643a9e:	89 44 24 38          	mov    %eax,0x38(%esp)
643aa2:	89 54 24 3c          	mov    %edx,0x3c(%esp)
643aa6:	8b 44 24 18          	mov    0x18(%esp),%eax
643aaa:	8b 54 24 1c          	mov    0x1c(%esp),%edx
643aae:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
643ab2:	c1 ea 0e             	shr    $0xe,%edx
643ab5:	52                   	push   %edx
643ab6:	50                   	push   %eax
643ab7:	8b 54 24 20          	mov    0x20(%esp),%edx
643abb:	c1 e2 12             	shl    $0x12,%edx
643abe:	33 c0                	xor    %eax,%eax
643ac0:	0b 04 24             	or     (%esp),%eax
643ac3:	0b 54 24 04          	or     0x4(%esp),%edx
643ac7:	83 c4 08             	add    $0x8,%esp
643aca:	52                   	push   %edx
643acb:	50                   	push   %eax
643acc:	8b 44 24 20          	mov    0x20(%esp),%eax
643ad0:	8b 54 24 24          	mov    0x24(%esp),%edx
643ad4:	0f ac d0 12          	shrd   $0x12,%edx,%eax
643ad8:	c1 ea 12             	shr    $0x12,%edx
643adb:	52                   	push   %edx
643adc:	50                   	push   %eax
643add:	8b 54 24 28          	mov    0x28(%esp),%edx
643ae1:	c1 e2 0e             	shl    $0xe,%edx
643ae4:	33 c0                	xor    %eax,%eax
643ae6:	0b 04 24             	or     (%esp),%eax
643ae9:	0b 54 24 04          	or     0x4(%esp),%edx
643aed:	83 c4 08             	add    $0x8,%esp
643af0:	33 04 24             	xor    (%esp),%eax
643af3:	33 54 24 04          	xor    0x4(%esp),%edx
643af7:	83 c4 08             	add    $0x8,%esp
643afa:	52                   	push   %edx
643afb:	50                   	push   %eax
643afc:	8b 44 24 24          	mov    0x24(%esp),%eax
643b00:	c1 e8 09             	shr    $0x9,%eax
643b03:	33 d2                	xor    %edx,%edx
643b05:	52                   	push   %edx
643b06:	50                   	push   %eax
643b07:	8b 44 24 28          	mov    0x28(%esp),%eax
643b0b:	8b 54 24 2c          	mov    0x2c(%esp),%edx
643b0f:	0f a4 c2 17          	shld   $0x17,%eax,%edx
643b13:	c1 e0 17             	shl    $0x17,%eax
643b16:	0b 04 24             	or     (%esp),%eax
643b19:	0b 54 24 04          	or     0x4(%esp),%edx
643b1d:	83 c4 08             	add    $0x8,%esp
643b20:	33 04 24             	xor    (%esp),%eax
643b23:	33 54 24 04          	xor    0x4(%esp),%edx
643b27:	83 c4 08             	add    $0x8,%esp
643b2a:	03 44 24 30          	add    0x30(%esp),%eax
643b2e:	13 54 24 34          	adc    0x34(%esp),%edx
643b32:	52                   	push   %edx
643b33:	50                   	push   %eax
643b34:	8b 44 24 20          	mov    0x20(%esp),%eax
643b38:	8b 54 24 24          	mov    0x24(%esp),%edx
643b3c:	23 44 24 28          	and    0x28(%esp),%eax
643b40:	23 54 24 2c          	and    0x2c(%esp),%edx
643b44:	52                   	push   %edx
643b45:	50                   	push   %eax
643b46:	8b 44 24 28          	mov    0x28(%esp),%eax
643b4a:	8b 54 24 2c          	mov    0x2c(%esp),%edx
643b4e:	f7 d0                	not    %eax
643b50:	f7 d2                	not    %edx
643b52:	23 44 24 38          	and    0x38(%esp),%eax
643b56:	23 54 24 3c          	and    0x3c(%esp),%edx
643b5a:	33 04 24             	xor    (%esp),%eax
643b5d:	33 54 24 04          	xor    0x4(%esp),%edx
643b61:	83 c4 08             	add    $0x8,%esp
643b64:	03 04 24             	add    (%esp),%eax
643b67:	13 54 24 04          	adc    0x4(%esp),%edx
643b6b:	83 c4 08             	add    $0x8,%esp
643b6e:	05 26 c9 26 5c       	add    $0x5c26c926,%eax
643b73:	81 d2 38 21 1b 2e    	adc    $0x2e1b2138,%edx
643b79:	03 84 24 58 01 00 00 	add    0x158(%esp),%eax
643b80:	13 94 24 5c 01 00 00 	adc    0x15c(%esp),%edx
643b87:	89 44 24 40          	mov    %eax,0x40(%esp)
643b8b:	89 54 24 44          	mov    %edx,0x44(%esp)
643b8f:	8b 44 24 38          	mov    0x38(%esp),%eax
643b93:	8b 54 24 3c          	mov    0x3c(%esp),%edx
643b97:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
643b9b:	c1 ea 1c             	shr    $0x1c,%edx
643b9e:	52                   	push   %edx
643b9f:	50                   	push   %eax
643ba0:	8b 54 24 40          	mov    0x40(%esp),%edx
643ba4:	c1 e2 04             	shl    $0x4,%edx
643ba7:	33 c0                	xor    %eax,%eax
643ba9:	0b 04 24             	or     (%esp),%eax
643bac:	0b 54 24 04          	or     0x4(%esp),%edx
643bb0:	83 c4 08             	add    $0x8,%esp
643bb3:	52                   	push   %edx
643bb4:	50                   	push   %eax
643bb5:	8b 44 24 44          	mov    0x44(%esp),%eax
643bb9:	c1 e8 02             	shr    $0x2,%eax
643bbc:	33 d2                	xor    %edx,%edx
643bbe:	52                   	push   %edx
643bbf:	50                   	push   %eax
643bc0:	8b 44 24 48          	mov    0x48(%esp),%eax
643bc4:	8b 54 24 4c          	mov    0x4c(%esp),%edx
643bc8:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
643bcc:	c1 e0 1e             	shl    $0x1e,%eax
643bcf:	0b 04 24             	or     (%esp),%eax